重複の可能性:
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メソッドのスニペットです。IEとFFの問題を除いて、すべてのブラウザで問題なく動作します。ドキュメントをプリンタに直接送信する場合、ステートメントはドキュメントをダウンロード用に表示する代わりに印刷 するJavaScriptを設定します。if (isPrint)
IEとFFでは、おそらく 20 回に 1 回は機能しません。印刷プレビュー ダイアログ ボックスが表示されません。その後、ドキュメントの生成を再試行すると機能するため、断続的な問題のようです。コンソール エラーはありません。
このコードに問題はありますか? 私はそれを突き止めることができませんでした。