我正在寻找创建我的网站网页的可打印pdf版本。像express.render()这样的东西只会将页面呈现为pdf
有谁知道一个做到这一点的节点模块?

如果没有,您将如何实现?我已经看到一些有关使用无头浏览器的方法,例如phantom.js,但不确定流程如何。

最佳答案

扩展穆斯塔法的答案。

A)安装http://phantomjs.org/,然后

B)安装幻象节点模块https://github.com/amir20/phantomjs-node

node.js - 使用Node.js将HTML转换为PDF-LMLPHP

C)这是呈现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();
            });
        });
    });
});

PDF的输出:

node.js - 使用Node.js将HTML转换为PDF-LMLPHP

编辑: Silent printing that PDF
java -jar pdfbox-app-2.0.2.jar PrintPDF -silentPrint C:\print_mypdf.pdf

09-25 20:32