2013-05-02 67 views
1

我正在使用JasperReports服務器Web服務來檢索使用php curl的PDF格式的報表。使用JasperReports Web服務設置輸入控件的值

不幸的是,我要生成報表使用的值作爲輸入控制

如果我不提供一個值,這個輸入控制,我的報告的作品,但每一個值是0

根據官方指南,它說我應該在URL中使用IC_GET_QUERY_DATA參數,所以我做了它並提供了數據源的URI,然後我使用了P_param_name來提供參數的值,但是看來,我無法讓它起作用該報告沒有使用這些值。

預先感謝您的任何意見,可能會有所幫助!

回答

0

您可以考慮使用新的運行報告機制(「RESTv2服務」的一部分)。您可以將報告的輸入控件作爲URL中的查詢項目提供。多次選擇輸入可以根據需要進行多次定義。

例如,如果你發送一個GET請求到http:// [yourserver]:[端口] /jasperserver/rest_v2/reports/uri/to/my_report.pdf?state=CA &狀態= OK &城市=薩克拉門託

您將獲得所在國的國家控制設置爲「OK」和「CA」的報告,以及市控制設置爲「國王」

這可能是有益的,您可以使用REST php wrapper使這些請求更簡單。

與上述同樣的例子可以實現這樣的:

$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,你可以用任何你想要做的。 (即:寫入文件,流到瀏覽器下載...等)。