簡體   English   中英

如何在 node.js 中生成 PDF

[英]How to Generate PDF in node.js

我想生成一個模塊,該模塊將通過將輸入作為我的發票來生成 PDF,並且該 PDF 文件會自動發送給客戶的郵件 ID。 在第一步中,我得到了一些代碼並嘗試生成 PDF。 該代碼正在運行,我能夠生成 PDF。 但我無法打開文件。

對於代碼,我使用此鏈接: http : //github.com/marak/pdf.js/

安裝http://phantomjs.org/並安裝幻影節點模塊https://github.com/amir20/phantomjs-node

這是渲染pdf的示例

var phantom = require('phantom');

phantom.create().then(function(ph) {
    ph.createPage().then(function(page) {
        page.open("http://www.google.com").then(function(status) {
            page.render('google.pdf').then(function() {
                console.log('Page Rendered');
                ph.exit();
            });
        });
    });
});

您可以使用Puppeteer (Headless Google Chrome Node API) 生成 PDF:

Puppeteer 是一個 Node 庫,它提供了一個高級 API 來通過DevTools 協議控制 Chrome 或 Chromium。 Puppeteer 默認無頭運行,但可以配置為運行完整(非無頭)Chrome 或 Chromium。

您可以使用page.pdf()輕松生成 PDF:

'use strict';

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com/');

  await page.pdf({
    path: 'example.pdf',
  });

  await browser.close();
})();

然后你可以直接從 Node.js 執行程序:

node puppeteer.js

另一種方法,從頭開始使用 PDFKit ......

使用 Express 生成 PDF https://blog.koenvangilst.nl/generating-a-pdf-with-express/

PDFKit,主頁https://pdfkit.org/

pdfkit,npm 頁面https://www.npmjs.com/package/pdfkit

暫無
暫無

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

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