当前位置: 首页 > 知识库问答 >
问题:

使用iText7打开PDF时自动打开打印对话框

南宫喜
2023-03-14

我使用iText7生成PDF,然后在新选项卡中打开它。

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
String filename = "C:\\temp\\first-output2.pdf";
headers.add("content-disposition", "inline;filename=" + filename);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");

用户的意图始终是打印,因此显示PDF并让他单击打印按钮并不方便。这就是为什么我想在PDF打开时立即打开打印对话框。

这个解决方案不起作用

使用iText打开PDF时自动打开打印对话框

因为我是派系。iText7中不存在PRINTDIALOG。

我还尝试了各种不起作用的JavaScript选项,比如

PdfAction action = PdfAction.createJavaScript("this.print(true);\\r"); 

如何在页面加载后直接打开打印对话框?

共有1个答案

郑琦
2023-03-14

要在文档打开时打开打印对话框,您需要使用this。打印(真实) JavaScript代码。

您可以通过以下方式在iText7中添加这样的操作:

PdfAction printAction = new PdfAction();
printAction.put(PdfName.S, PdfName.JavaScript);
printAction.put(PdfName.JS, new PdfString("this.print(true);\r"));
pdfDocument.getCatalog().setOpenAction(printAction);

 类似资料:
  • 我有一个连接到CUPS的打印机,它支持双面打印,如何通过java例程将其设置为单面打印或双面打印? 我曾尝试使用它的库使用ASET添加和addViewer首选项没有任何运气。 有人能提供一些建议吗?

  • 我目前的工作是创建机械图纸,用于发送给客户和作为施工图。当我的绘图完成后,我导出一个. pdf文件,并将其发送给客户端。 我们的客户非常喜欢黑白画,所以我试着提供他们。但是我用来画画的软件效果不好。它只有一个选项“所有颜色都是黑色”,我的画上有一些白色的“隐藏线”。当然,这些显示使用所有颜色作为黑色选项。 我找到了一个解决方案,那就是使用pdf打印机。效果很好,效果也很好。 现在我想打印这个。pd

  • 我正在通过使用 pdf在我安装了Adobe Acrobat 9 pro的机器中打开得很好。但在另一台具有Adobe Acrobat 10.1.2版本的计算机中没有打开。 当我打开pdf时,它会显示错误消息 java.io.IOException:无法打开文件:/c:/program%20files%20(x86)/theatreaudi t/data/ae%20wording.pdf。错误消息:未

  • 问题内容: 我想知道是否有跨平台的方法可以从Java Swing应用程序内部模拟Windows“打开方式”对话框。我的应用程序是用于学习软件包的编辑器,并且其中一个用户希望能够在应用程序中从他们选择的编辑器中打开内容文件,资源通常是HTML文件,图像,CSS,JavaScript,但可以是任何类型可以在浏览器中运行的内容。谢谢 问题答案: 我认为您可以使用JDIC(Java桌面集成组件)来做一些事

  • 问题内容: 我有一个在jQuery对话框对象中使用的datepicker。对话框内容的来源使用加载。在对话框中,我创建了一个脚本,该脚本为文本输入创建了一个日期选择器。 当我第一次打开对话框时- 一切都很好,但是如果我关闭它并再次重新打开,则会自动触发日期选择器(并且没有这样的选项)有什么方法可以防止这种情况或我在做什么错? 问题答案: 我遇到了这个确切的问题,仅对tvanfosson的技术进行了

  • 我试图将openFiles()方法的内脏移到actionPerformed()方法中的相应位置,但仍然没有起作用。但是,在另一个人用于不同目的的代码中,showOpenDialog()方法在从actionPerformed方法内部调用的方法中工作。代码如下: 谢谢你的帮助。