整体思路:
1.使用pdfjsLib解析 文件
2.canvas画出解析文件
3.转化url并且打印
const page = await pdfDocument.getPage(i);
const viewport = page.getViewport({ scale: 1.32 });
const headerHeight = 60;
const totalCanvas = document.createElement('canvas');
const ctx = totalCanvas.getContext('2d');
totalCanvas.width = viewport.width;
totalCanvas.height = viewport.height + headerHeight;
ctx.fillStyle = '#f0f0f0';
ctx.fillRect(0, 0, totalCanvas.width, 300);
ctx.fillStyle = '#333333';
ctx.font = '25px Arial';
ctx.fillText(customerCode + ' | ' + '' + 'DUE DATE: ' + dueDate, 170, headerHeight - 20);
const qrDataUrl = generateQRCodeDataUrl(customerCode, 40, 40);
const qrImg = new Image();
await new Promise((resolve, reject) => {
qrImg.onload = resolve;
qrImg.onerror = reject;
qrImg.src = qrDataUrl;
});
ctx.drawImage(qrImg, totalCanvas.width - 70, 10, 40, 40);
const renderContext = {
canvasContext: ctx,
viewport: viewport
};
ctx.save();
ctx.translate(0, headerHeight);
await page.render(renderContext).promise;
ctx.restore();
const imageDataUrl = totalCanvas.toDataURL('image/png');
图片地址出来后 就随便打印了 还是蛮清晰的 over!