私はCrystal Reportsを初めて使用し、バージョンCrystal Reports 11.5を使用しています。
私の要件は次のとおりです。
現在、COMオブジェクトを使用してPHPを使用してCrystal Reportに接続し、サンプルの静的PDFレポートを生成できます。
私の主なタスクは、MySQLから値を取得し、Crystal Reportsに値を渡してPDFを生成することで、PHPですべての処理を行うことです。このタスクを達成するために支援が必要です。ずっと良くなります。
これは私がこれまでに持っているものです:
$my_report = "E:\\xampp\\htdocs\\crystal\\Test1.rpt";
$my_pdf = "E:\\xampp\\htdocs\\crystal\\test.pdf";
$o_CrObjectFactory = new COM('CrystalReports11.ObjectFactory.1');
// Create the Crystal Reports Runtime Application.
$o_CrApplication =$o_CrObjectFactory->CreateObject("CrystalDesignRunTime.Application");
//------ Open your rpt file ------
$creport = $o_CrApplication->OpenReport($my_report, 1);
//------ Connect to DB2 DataBase ------
**this is the hard part where I am not able to complete connection to mysql**
$o_CrApplication->LogOnServer('which library','mlims','root','');
//------ Put the values that you want --------
$creport->RecordSelectionFormula="{parameter.id}='1'";
//------ This is very important. DiscardSavedData make a
// Refresh in your data -------
$creport->DiscardSavedData;
//------ Read the records :-P -------
$creport->ReadRecords();
//------ Export to PDF -------
$creport->ExportOptions->DiskFileName=$my_pdf;
$creport->ExportOptions->FormatType=31;
$creport->ExportOptions->DestinationType=1;
$creport->Export(false);
//------ Release the variables
$creport = null;
$crapp = null;
$ObjectFactory = null;
上記のコードを見るとわかるように、過去数日間にしようとしていたMysqlサーバーに接続する必要があります。私はネット上で多くの例を試しましたが、それらのほとんどはMySQLではなくSQL Server用です。
手順に従ってください:
MySQL Connector J jarファイルをダウンロードします。そのダウンロードには、mysql-connector-Java-3.1.14-bin.jarのようなjarファイルが含まれている必要があります。
CrystalReports CRConfig.xmlファイルで定義されているように、新しくダウンロードしたjarファイルの場所をクラスパスに追加します。 Windowsマシンでは、構成ファイルはC:¥Program Files¥Business Objects¥Common¥3.5¥Java¥CRConfig.xmlのような場所にあります。
CRConfig.xmlを変更したら、Crystal Reportsを閉じて再度開きます。
これで、データベース内のテーブル/列を検査して、レポートを開始できるはずです。
参照 を参照してください