目前客户有个需求是预览、下载、打印pdf,目前预览、下载、打印全部已经使用pdfjs实现,
但是客户提出需要增加一个按钮实现打印当前页,不是通过调用浏览器打印,目前调研了一下
能获取到某页内容,也能实现预览某个页面,大概代码如下
function showPdf(){
PDFJS.workerSrc = '../build/pdf.worker.js';//加载核心库
PDFJS.getDocument("test.pdf").then(function getPdfHelloWorld(pdf) {
//
// 获取第一页数据
//
pdf.getPage(5).then(function getPageHelloWorld(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
var canvas = document.getElementById('the-canvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
debugger
//
// Render PDF page into canvas context
//
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
});
}
目前思路
1、直接获取到怕个内容直接调用pdfjs的打印方法,目前对于pdfjs还不太熟,未找到对应的方法,
2、获取到canvas内容转成html或放入iframe中,然后调用打印,
但是目前都阻塞住了,请教下搞过pdfjs的朋友指点下,谢谢