问题标签 [node-html-pdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
397 浏览

html - Ubuntu 上的 node-html-pdf 名片示例

我正在尝试在 Ubuntu 16.04 上使用 node-html-pdf ( https://github.com/marcbachmann/node-html-pdf ) 节点模块,并从给定的名片示例开始。

不幸的是,我无法生成此 PDF。

首先,我在本地安装了模块。

然后我将 businesscard.html 和 image.png 复制到我的项目中,并尝试执行以下代码,其中没有任何更改:

结果是一个带有 2 个黑页(好的)的 PDF,文本正确,但格式要大得多,字体不正确,我无法在其中获取图像。

看起来像一些基本配置,缺少路径或类似...

有什么线索吗?

0 投票
1 回答
183 浏览

html - HTML+CSS 生成的 .pdf 文件在不同的计算机上有不同的布局?

我设法使用 HTML 和 CSS 生成了一个 .pdf 文件。页面大小以英寸(A4 格式)为单位预定义。它在我的计算机上运行良好,但是当我在另一台计算机上运行程序时,生成的文件看起来不同,页面仍然是 A4,但布局发生了变化,尽管两台计算机具有相同的分辨率和 dpi。

0 投票
1 回答
2287 浏览

html - Node-Html-Pdf 自定义压缩字体无法正确呈现

我正在使用node-html-pdf库在 Node.js 上使用 Heroku 将 html 页面呈现为 PDF。使用自定义系统字体 Open Sans Condensed 时遇到问题。我无法使用网络字体,因为每个字符都被渲染为 svg,导致大小是原来的 10 倍,所以我在本地安装了字体(作为 Mac 上的字体和 Heroku 上的 .fonts 目录中的字体)。问题是 Mac 和 Heroku 上的两种字体都被拉伸而不是压缩。在本地浏览器中渲染 html 时,字体被正确渲染,但是当通过 html-pdf 传递时,字体被拉伸。

这是正在使用的示例 css

没有尝试过,但font-strech property仍然没有运气。同样的事情也发生在不同的压缩字体上,比如 Avenir。附加正确的渲染: 屏幕截图 2017-10-16 在 21 55 31

和一个不正确的渲染:
屏幕截图 2017-10-16 在 21 55 11

0 投票
0 回答
1384 浏览

node.js - 在 Node.js 中使用动态生成的 HTML 将 PDF 文件流式传输到浏览器

好的,我在这里看到了这个问题的几个版本,但我认为我的问题比其他一些版本更深入,而且我没有看到令人满意的答案。

我想要的是:

我在网站上有一个页面,用户经常更改其内容,我希望他们点击“生成 PDF”按钮,并能够将页面上的相关信息转换为漂亮的 PDF 报告。

我正在尝试使用 NodeJS、Express 和 Heroku 上的部署来做到这一点。

一般来说,这就是我试图做到这一点的方式:

我的计划:

  1. 发起 GET 请求
  2. 查询数据库以获得相关结果
  3. 将数据加载到 EJS 模板中
  4. 保存生成的 HTML
  5. 使用 npm 模块HTML-pdf将其流式传输到浏览器中

其他重要细节:

  1. 这个文件是短暂的。我不想把它保存在任何地方。
  2. 我什至不想在任何地方写它,因为它只意味着当时存在于浏览器中。
  3. 这个应用程序部署在 Heroku 上,需要在其结构中工作。我不喜欢使用像 S3 这样的文件存储。

我的代码:

GET我使用 AJAX 调用发起请求,如下所示:

当我运行脚本时,我生成了一个流,控制台记录了 PDF 的创建。如果我只是将生成的文件保存到我的本地系统,它会很好,但在我的应用程序中,我收到以下错误消息:

因此,就像正在创建 PDF 的原材料一样,但它并没有被记录并以允许应用程序读取它的方式创建。

我对此持开放态度,因此如果有更简单的方法可以做到这一点,我会全力以赴。不过,我更愿意坚持使用我当前的堆栈。

0 投票
0 回答
1605 浏览

javascript - html-pdf中的pdf渲染问题

当我使用 html-pdf npm 模块从 HTML 创建 PDF 时,输出 pdf 不正确(看起来与 html 不同。)

需要做什么才能接收与 html 文件中完全相同的格式?

HTML 页面 -> test.html 页面 PDF 页面。- >测试.pdf

0 投票
2 回答
5578 浏览

node.js - Node JS Html-pdf:为第一页和最后一页创建不同的页眉页脚

我是 node js 的新手,我想在 node js 中的第一页和最后一页使用不同的页眉和页脚,

我正在使用 html-pdf 模块,当我使用与他们提供的相同代码时该模块不起作用。

请查看代码

参考链接:https ://www.npmjs.com/package/html-pdf

当我使用下面的代码时,它仅在最后一页上不起作用它还为中间页打印。

0 投票
2 回答
5248 浏览

node.js - Node.JS HTML 转 PDF

我想将 HTML 转换为我正在使用此包的 PDF ( https://www.npmjs.com/package/html-pdf )。

但是在这个 HTML 中,我也得到了表格,并且表格可以出现在 HTML 中的任何位置。因此,如果 HTML 中的表格超过 1 页,我想将表格复制到另一个页面。

你能帮我解决这个问题吗?

提前致谢

0 投票
1 回答
348 浏览

node.js - Angular 4 在新选项卡中使用节点 api 显示 pdf

我的要求是使用 Nodejs api 生成 UI(角度 4 应用程序)的 pdf 视图。为此,我从 UI 中获取了全部内容并进行了一些预处理,这些预处理将发送到 nodejs api。在节点 api 中,我使用html-pdf包从收到的 html 生成 pdf。能够生成具有正确样式的 pdf,因为它出现在 UI 中。以下是我的问题

  • 将整个 UI 内容(html、样式、引导 css)传递给 Node api 的安全方法是什么?(目前作为 POC 目的的普通字符串传递)
  • 我将如何将包生成的 pdf 流html-pdf返回到 UI 以在新选项卡上显示它

html-pdf包

来自角度的节点 api 调用:

当前数据是普通的 html 字符串,我通过在 node.js 中设置 body-parser 来检索它。

0 投票
2 回答
830 浏览

node.js - 将 PDF 与 phantomjs 合并

我制作了一个 API,它接受输入并为使用html-pdf 的 pdf传递的输入生成服务器端 pdf a/c 。然后将由客户使用。

现在,要求发生了变化,我希望 pdf 的起始 4 页处于纵向模式,而第 4 页之后的所有其他页面处于横向模式。

但是我们只能定义完整pdf的方向。这里

所以现在,我尝试制作两个单独的pdf

  1. 以纵向模式开始 4 页。(PDF -1)
  2. 其余页面为横向模式。(PDF -2)

但我无法找到合并这两个单独的 pdf(PDF -1 + PDF -2)的解决方案。有没有办法使用phantomjs合并多个pdf。

而且我已经制作了完整的 pdf,所以我不想更改插件并再次完成完整的工作,但是,如果有其他插件可以解决我的场景,我可以将它用作唯一的最后一个选项。

谢谢,

0 投票
2 回答
7115 浏览

javascript - 如何使用nodejs在pdf中添加水印?

我通过nodejs生成了pdf。我想在这个生成的 pdf 中添加水印。我在代码中使用了 dynamic-html-pdf 插件。如果有在 dynamic-html-pdf 中添加水印的任何选项。在这里,我在这里显示我的示例代码。