如何打印pdf.js文件?

时间:2014-01-30 19:08:07

标签: javascript printing pdf.js

我使用pdf.js生成了一个文档并且显示正确。我没有打印按钮。如何添加按钮以允许用户打印? 我正在使用Chrome。

3 个答案:

答案 0 :(得分:7)

尝试使用javascript-function window.print();,打开打印对话框。

您必须在html中添加一个按钮,触发命令 - 在pdf中无法实现。

因此,您需要一个iFrame,并使用以下内容:

function printIt() {
    var wnd = window.open('http://your-pdf-url');
    wnd.print();
}

<input type="button" value="Print" onclick=printIt()>

window.print()不起作用,因为它还会打印周围的html。

修改

从您的评论中,我现在知道,您想要打印canvas元素的内容 - 这更容易。

您不需要iframe,可以将按钮放在同一页面上,然后使用window.print();

为了只打印canvas元素,并隐藏周围环境(比如按钮),你可以像这样使用css-Syntax:

@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
}

@media print指定css代码,如果它被打印,它只适用于网页。如果您现在将类.no-print设置为除canvas-element之外的所有内容,则只会打印您的pdf文件。

如果更容易,您也可以使用此css代码:

@media print
{    
    *
    {
        display: none;
    }
    canvas 
    {
        display: inline;
    }
}

答案 1 :(得分:0)

如果你想尽可能少地保持一切并且与jquery混乱,你可以尝试类似的东西:

<a href="#PATH_TO_PDF.pdf" target="_blank"  onclick="window.print()"> print PDF </a>

答案 2 :(得分:-2)

我一直在寻找解决方案这么久,然后我登陆了这个JS插件:

http://printjs.crabbly.com/

它就像一个魅力!