1

重複の可能性:
PDF生成後に印刷ダイアログを開く方法

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, byteArrayOutputStream);

if (isPrint) {
    pdfExporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");
}

try {
    pdfExporter.exportReport();
} catch (JRException e) {
    log.error("Exception exporting pdf report");
    throw new PrintExportException(e);
}

return byteArrayOutputStream;

これは、JRPdfExporterを使用して PDF ドキュメントを返すJavaメソッドのスニペットです。IEFFの問題を除いて、すべてのブラウザで問題なく動作します。ドキュメントをプリンタに直接送信する場合、ステートメントはドキュメントをダウンロード用に表示する代わりに印刷 するJavaScriptを設定します。if (isPrint)

IEFFでは、おそらく 20 回に 1 回は機能しません。印刷プレビュー ダイアログ ボックスが表示されません。その後、ドキュメントの生成を再試行すると機能するため、断続的な問題のようです。コンソール エラーはありません。

このコードに問題はありますか? 私はそれを突き止めることができませんでした。

4

0 に答える 0