节点服务器上使用 pdf.js"/>
在节点服务器上使用 pdf.js
我想使用 node.js 将 pdf 转换为图像服务器端。我对此任务的输入是 pdf 的 url,所需的输出是一个 base64 字符串,表示一个图像。
我决定尝试 pdf.js (.js) 和 node-canvas () - 我的计划是阅读 pdf,将其渲染到画布上并从画布上获取图像的 base64。
但是 pdf.js 在服务器端发挥作用,我创建了一个获取文档任务,如示例中所述:
import pdfjs from 'pdfjs-dist';
const t = pdfjs.getDocument('.pdf');
t.promise.then(function (doc) {
console.log('got doc');
console.log(doc);
})
.catch(err => {
console.log(err);
});
但是什么都没有发生。 Promise 既不解决也不拒绝。我怎样才能解决这个问题并让它发挥作用?我究竟做错了什么?
也许还有另一种解决方案,它允许我在不将其存储到文件系统的情况下获得转换后的图像的 base 64(我到目前为止看到的节点的所有 pdf 图像转换器都将图像保存到驱动器,但这不是我想要的行为)
回答如下:试试这段代码:
https://github/mozilla/pdf.js/blob/master/examples/node/pdf2png/pdf2png.js
尝试在异步函数中使用
Async/Await
const doc = await pdfjs.getDocument('http://cdn.mozilla/pdfjs/helloworld.pdf').promise;
const page = await doc.getPage(1);
更多推荐
在节点服务器上使用 pdf.js
发布评论