我使用pdf.js在页面中嵌入一个单页PDF,我希望能够打印只是PDF,而不是整个HTML页面。
这可能吗?
我使用pdf.js在页面中嵌入一个单页PDF,我希望能够打印只是PDF,而不是整个HTML页面。
这可能吗?
我以前加载的PDF文档到使用pdf.js.画布
画布只包含一个页面。 所以这是为我工作在一个页面:
var canvas = document.getElementById('pdfPage');
var win = window.open('', '', '');
var html = "<img src='" + canvas.toDataURL() + "'>";
win.document.write(html);
win.document.close();
win.focus();
win.print();
win.close();
我还需要了解什么是需要多个页面。 如果我这样做,我将修改这个答案。
我不得不说,这种做法是不是最佳的,因为它不打印的PDF页面“相机准备”,或者换句话说,在它的原始形式。 它打印的PDF页面的图像。 所不同的是利润,不应该在那里,页眉/页脚不应该存在,因为它们不是原来的文件内。 因此,我要寻找的是打印它像pdf.js观众打印出来的方法 - 在它的原始形式忠实还原最初的文件。
我们可以在viewer.js文件,该文件会自动打印PDF年底把下面的代码:
(function () {
function printWhenReady() {
try{
if (PDFViewerApplication.initialized) {
window.print();
}
else {
window.setTimeout(printWhenReady, 3000);
}
}catch(ex){
window.setTimeout(printWhenReady, 3000);
}
};
printWhenReady();
})();
我终于摸索出来。
我不能在这里发布我的代码,但这里是我所做的:
我提供的PDF到2个画布,一个小的缩略图和一个巨大的印刷(隐藏)。 然后我有打开包含一个新的窗口中打印按钮img
含有巨大的画布内容使用标签toImageURL()
的print()
函数被调用新的窗口上,随后close()
将其关闭后自动打印。
这导致在PDF中的几乎全尺寸打印,虽然与通常的网页已不和日期戳从浏览器。