首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静默打印嵌入PDF

静默打印嵌入PDF
EN

Stack Overflow用户
提问于 2009-06-10 13:35:50
回答 4查看 109.5K关注 0票数 26

我有一个带有内置PDF的网页。我的代码如下所示:

代码语言:javascript
复制
<embed
    type="application/pdf"
    src="path_to_pdf_document.pdf"
    id="pdfDocument"
    width="100%"
    height="100%">
</embed>

我有这个javascript代码来打印我的PDF:

代码语言:javascript
复制
function printDocument(documentId) {

    //Wait until PDF is ready to print    
    if (typeof document.getElementById(documentId).print == 'undefined') {

        setTimeout(function(){printDocument(documentId);}, 1000);

    } else {

        var x = document.getElementById(documentId);
        x.print();
    }
}

执行此代码时,Acrobat插件将打开著名的打印对话框。就像这样:

两个问题:

  • 如何改进检测PDF已加载并准备好打印的方式?
  • 如何避免显示打印对话框?

更多关于我的系统的信息:

操作系统: Windows

浏览器: Internet 7

PDF插件: Acrobat 9

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-10 14:06:57

您将无法使用普通的旧JavaScript进行静默打印。您希望您的打印机如何开始打印100000000页的所有黑色。这不是件好事。如果您想要静默地打印并且只让它在上工作,那么有一些ActiveX控件可以做到这一点。这需要更高的安全设置为您的网页和您的用户真正信任您的网站。

票数 20
EN

Stack Overflow用户

发布于 2011-03-23 19:11:08

这在可信的Intranet环境中是可能的。

代码语言:javascript
复制
<object id="pdfDoc" style="position:absolute;z-index:-1;" name="pdfDoc" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="900px" height="100%">
        <param name="SRC" value="yourdoc.pdf" />
    </object>

<input type="button" ... onclick="pdfDoc.printAll();" />

这将绕过打印对话框,直接发送到默认打印机。

票数 5
EN

Stack Overflow用户

发布于 2010-12-01 20:03:07

您可以在火狐中通过更改about:config来做到这一点。添加print.always_print_silent并将其设置为true

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/975652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档