有个教师朋友问我要个免费的pdf转图片工具,说以前用的smallPDF这些工具没有免费额度了。这么简单的功能,居然还好意思收费,看我这十年程序猿老猿怎么断了你的财路。。。
开个玩笑而已,别当真。。。
pdf转图片有很多开源框架可以用,使用最多的就是pdfjs库。以下是一个基本的实现示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import pdfjsLib from 'pdfjs-dist';
async function convertPdfToImage(pdfUrl) { const pdf = await pdfjsLib.getDocument(pdfUrl).promise; const canvas = document.createElement('canvas'); const context = canvas.getContext('2d'); for (let i = 1; i <= pdf._pdfInfo.numPages; i++) { const page = await pdf.getPage(i);
const viewport = page.getViewport({ scale: 1 });
canvas.width = viewport.width; canvas.height = viewport.height;
await page.render({ canvasContext: context, viewport: viewport }).promise;
const img = document.createElement('img'); img.src = canvas.toDataURL('image/png'); document.body.appendChild(img); } }
const pdfUrl = 'https://example.com/pdf-file.pdf'; convertPdfToImage(pdfUrl);
|
注意:以上示例仅为参考,并未考虑所有情况。在实际应用中,可能需要针对具体情境进行调整和完善。
2023-03-13 更新:
这两天看搜索此类文章的人还是挺多的,所以我整理了一个简单的DEMO,方便大家直接测试和使用。
DEMO地址:https://www.mulianju.com/demos/pdf-to-image/
本文永久链接: https://www.mulianju.com/pdf-to-image/