我想创建一个可打印的pdf版我的网站.类似express.render()的东西只会将页面渲染为pdf

有人知道一个 node 模块可以做到这一点吗?

如果没有,您将如何实施一个?我见过一些方法谈论使用无头浏览器,比如phantom.js,但不确定它的流程是什么.

推荐答案

延续穆斯塔法的回答.

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

B) 安装虚拟 node 模块https://github.com/amir20/phantomjs-node

enter image description here

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();
            });
        });
    });
});

Output of the PDF:

enter image description here

EDIT: Silent printing that PDF

java -jar pdfbox-app-2.0.2.jar PrintPDF -silentPrint C:\print_mypdf.pdf

Node.js相关问答推荐

使用Moongose处理node.js中重定向的then()块链

如何将信号从终端窗口发送到运行在Raspberry Pi上的Puppeteer/Node.js上的webscraper

容器端口是容器内 node 应用程序的端口吗?

如何将我的Redis客户端配置为在禁用群集模式的情况下使用读取副本?

如何在MongoDB中更新嵌套数组

JsonwebToken过期后如何注销和清除cookie?

如果我在父文件夹中运行,子进程生成不起作用

Typescript 正则表达式:过滤器返回空

在对象数组中的数组中嵌套 $lookup - Mongodb

在快速路由中使用 axios 会在数据字段中返回特殊字符而不是 json

使用Typescript 时我应该避免循环导入吗?

是Electron 的密码和登录凭据的安全存储吗?

来自 child_process.exec 的错误没有这样的设备或地址,管道有帮助.为什么?

突然 React 无法执行create-react-app命令.为什么会发生这种情况,我该如何解决?

NodeJs 过滤掉目录异步

如何在 MongoDB collection.find() 上获取回调

如何使用 Mocha 测试正常(非 node 特定)JavaScript 函数?

如何解决 Socket.io 404(未找到)错误?

如何设置 useMongoClient (Mongoose 4.11.0)?

在 Node.js 中获取终端的宽度