0

Java API を使用して ireport designer 5.0.1 で作成された JasperReport をエクスポートすると、レポートは常に空になります。レポートで whenNoDataType="AllSectionsNoDetail を設定しました。また、new JREmptyDataSource() を使用しても機能しません。

また、JRRtfExporter を使用して RTF としてエクスポートすると、結果は問題ありません。ireport の PDF プレビューも正しいです。

InputStream inputStream = this.getClass().getResourceAsStream("/test-report.jasper");
ByteArrayOutputStream out = new ByteArrayOutputStream();
JasperPrint jPrint = JasperFillManager.fillReport(inputStream, new HashMap<String, Object>(), new JRXmlDataSource(new ByteArrayInputStream("<root><name>John Doe</name</root>".getBytes("UTF-8")), "/root"));

JRPdfExporter reportExporter = new JRPdfExporter();//JRRtfExporter(); does works fine
reportExporter.setParameter(JRExporterParameter.JASPER_PRINT, jPrint);
reportExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
reportExporter.exportReport();
out.close();
reportBytes = out.toByteArray();

reportBytes はディスクに保存されます。

4

1 に答える 1

0

どうでも。コードはまったく問題ありません。問題は、公開された応答をバイナリ Web サービスの添付ファイルとして保存したことです。次に、この出力を PDF ファイルにコピーしました。ただし、そうすると、バイナリ文字の一部が失われます。

残念ながら、Adobe Reader は PDF 形式が正しくないことを通知するのではなく、空の PDF を表示するだけです。

于 2013-03-28T08:27:40.577 に答える