1

JasperReports Server Web サービスを使用して、php curl を使用してレポートを PDF として取得しています。

残念ながら、私が生成したいレポートは入力コントロールとして値を使用しています

この入力コントロールに値を指定しない場合、レポートは機能しますが、すべての値が 0 になります。

公式ガイド: JasperReports Server Web Services Guide page 24 によると、URL でIC_GET_QUERY_DATA引数を使用する必要があると書かれているので、それを実行してデータ ソースの URI を指定し、次にP_param_nameを使用してパラメーターの値を指定しましたが、レポートがこれらの値を使用していないようです。

役立つコメントをお寄せいただきありがとうございます。

4

1 に答える 1

0

新しい実行レポート メカニズム (「RESTv2 サービス」の一部) の使用を検討してください。レポートの入力コントロールを URL のクエリ アイテムとして指定できます。複数選択入力は、選択が必要な回数だけ定義できます。

たとえば、GET リクエストを http://[yourserver]:[port]/jasperserver/rest_v2/reports/uri/to/my_report.pdf?state=CA&state=OK&city=Sacramento に送信するとします。

State コントロールが「OK」および「CA」に設定され、City コントロールが「Sacramento」に設定されているレポートが表示されます。

REST php ラッパーを使用して、これらの要求をより単純にすることが有益な場合があります。

上記と同じ例は、次のように実現できます。

$client = new JasperClient('yourserver', 'port', 'username', 'password', '/jasperserver');
$report_data = $client->runReport('/uri/to/my_report', 'pdf', null, null, array('state' => array('OK', 'CA'), 'city' => 'Sacramento'));

レポートのバイナリ データは に保存され$report_data、好きなように処理できます。(つまり、ファイルへの書き込み、ダウンロード用のブラウザーへのストリームなど)。

于 2013-06-11T19:47:19.660 に答える