如何打印pdf.js文件?

Dej*_*ejo 6 javascript printing pdf.js

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

maj*_*aja 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()>
Run Code Online (Sandbox Code Playgroud)

window.print() 不会工作,因为它也会打印周围的HTML.

编辑:

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

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

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

@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
}
Run Code Online (Sandbox Code Playgroud)

@media print指定css-code,如果它被打印,它只适用于网页.如果现在将类.no-print除去canvas元素以外的所有内容,则只打印pdf.

你也可以使用这个css代码,如果它更容易:

@media print
{    
    *
    {
        display: none;
    }
    canvas 
    {
        display: inline;
    }
}
Run Code Online (Sandbox Code Playgroud)