当前位置: 首页 > 面试题库 >

直接从JavaScript打印PDF

祁兴运
2023-03-14
问题内容

我正在建立HTML格式的PDF清单。在列表中,我想包含一个下载链接和一个打印按钮/链接。有什么方法可以直接打开PDF的“打印”对话框,而无需用户查看PDF或打开PDF查看器?

将PDF下载到隐藏的iframe中并触发使用JavaScript进行打印,这有一些变化吗?


问题答案:

根据以下评论,它不再可在现代浏览器中使用。
该问题演示了一种可能对您有所帮助的方法:静默打印嵌入式PDF

它使用<embed>标签将PDF嵌入文档中:

<embed
    type="application/pdf"
    src="path_to_pdf_document.pdf"
    id="pdfDocument"
    width="100%"
    height="100%" />

然后,.print()在加载PDF时,在Javascript中的元素上调用方法:

function printDocument(documentId) {
    var doc = document.getElementById(documentId);

    //Wait until PDF is ready to print    
    if (typeof doc.print === 'undefined') {    
        setTimeout(function(){printDocument(documentId);}, 1000);
    } else {
        doc.print();
    }
}

您可以将嵌入内容放置在隐藏的iframe中,然后从那里进行打印,从而获得无缝的体验。



 类似资料:
  • 问题内容: 我已经将内存中的Postscript代码/数据(?)(在Java Tomcat webapp中)直接发送到联网的PS打印机。有没有一种简单的方法(即只是弹出一个端口并发送文本)来打印此内容,而绕过所有特定于O / S的驱动程序和内容(并希望甚至不需要额外的jar)?示例代码的链接显示了如何执行此操作? 谢谢戴夫 问题答案: 在目标打印机的LPR端口上打开一个TCP套接字。 发送您的数据

  • 本文向大家介绍javaScript 连接打印机,打印小票的实例,包括了javaScript 连接打印机,打印小票的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇javaScript 连接打印机,打印小票的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我在JasperReports服务器上遇到了一些问题。我需要直接在服务器上打印报表。 我先查看报表,然后单击打印,就会打开打印机对话框。选择打印机后,我也可以打印报告。有什么想法吗?

  • 问题内容: 我是JasperReports的新手,发现自己迷失了它。我在JSF中有一个webapp,我想用它来打印PDF。我已经建立了报告,并且能够成功地编译并使用我的所有参数填充它。但是,我不了解实际的输出部分。我希望它以PDF格式发送到打印机。我根本不在乎在屏幕上看到它,直接到打印机是理想的选择(从服务器是理想的选择,但是客户端也可以,因为我们可以根据需要设置客户端进行打印(这是一个内部应用程

  • 我们希望打印到连接在apache运行的POS打印机上。由于应用程序的设计和部署,打印应该从服务器上完成(它应该检测订单并发送到不同的打印机和不同格式的打印...账单,厨房订单,等等...)。出于这个原因和其他原因(例如,从iPad访问应用程序),我们放弃了像QZ-Print applet这样的选项,并需要直接在服务器端打印。 提前谢了。

  • 问题内容: 我有一个页面应该在加载时启动“打印预览”页面。 我找到了这个: 但… 它在FireFox中不起作用。 这有点丑陋。 IE是否有更好的方法或适用于FireFox的方法? 问题答案: 您不能,“打印预览”是浏览器的功能,因此应避免被JavaScript调用,因为这会带来安全风险。 这就是您的示例使用Active X(绕过JavaScript安全问题)的原因。 因此,请改用您应该已经拥有的打