簡體   English   中英

在節點服務器上使用 pdf.js

[英]Using pdf.js on a node server

我想使用 node.js 將 pdf 轉換為圖像服務器端。 我對這個任務的輸入是 pdf 的 url,所需的輸出是一個 base64 字符串,代表一個圖像。

我決定嘗試 pdf.js ( https://github.com/mozilla/pdf.js ) 和 node-canvas ( https://github.com/Automattic/node-canvas ) - 我的計划是閱讀pdf,將其渲染到畫布並從畫布中獲取圖像的 base64。

但是 pdf.js 在服務器端播放,我創建了一個獲取文檔任務,如示例中所述:

import pdfjs from 'pdfjs-dist';

const t = pdfjs.getDocument('http://cdn.mozilla.net/pdfjs/helloworld.pdf');
  t.promise.then(function (doc) {
    console.log('got doc');
    console.log(doc);
  })
  .catch(err => {
    console.log(err);
  });

但什么也沒有發生。 Promise 既不解決,也不拒絕。 我怎樣才能解決這個問題並使它工作? 我究竟做錯了什么?

也許還有另一種解決方案,它可以讓我獲得轉換后的圖像的 base 64 而不將其存儲到文件系統(到目前為止我看到的節點的所有 pdf 到圖像轉換器都將圖像保存到驅動器,但這不是我想要的行為)?

試試這段代碼:

https://github.com/mozilla/pdf.js/blob/master/examples/node/pdf2png/pdf2png.js

嘗試使用Async/Await

Inside Async function: 


const doc = await pdfjs.getDocument('http://cdn.mozilla.net/pdfjs/helloworld.pdf').promise;

const page = await doc.getPage(1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM