【问题标题】:node-html-pdf businesscard example on UbuntuUbuntu 上的 node-html-pdf 名片示例
【发布时间】:2017-12-31 18:25:19
【问题描述】:

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

很遗憾,我无法生成此 PDF。

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

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

var fs = require('fs');
var pdf = require('html-pdf');
var html = fs.readFileSync('./test/businesscard.html', 'utf8');
var options = { format: 'Letter' };

pdf.create(html, options).toFile('./businesscard.pdf', function(err, res) {
  if (err) return console.log(err);
  console.log(res); // { filename: '/app/businesscard.pdf' }
});

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

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

有什么线索吗?

【问题讨论】:

    标签: html node.js pdf node-html-pdf


    【解决方案1】:

    我的猜测是,如果您使用浏览器打开 .html 文件,您将获得相同(或相似)的输出。

    可能是图片src的链接坏了,字体没有导入。

    也许您可以尝试制作自己的基本 html,然后将其解析为 pdf,您应该期望 .pdf 类似于 .html

    【讨论】:

    • 没问题,浏览器显示就好了。我怀疑这是基本设置、安装、参数的问题。令人惊讶的是它是模块自己的基本演示,我怀疑它不起作用(因为它在 Github 上有 1500 颗星)。
    • 我不使用这个模块,但是阅读他们的 github 它说它可以与 phantom.js 一起使用,所以.pdf 可能是渲染的.html 的屏幕截图,并且您发布的配置似乎还可以,请问您可以在您的问题中添加'./test/businesscard.html' 的代码吗?
    • 这里是这个例子的 HTML 代码:github.com/marcbachmann/node-html-pdf/blob/master/example/… 我也尝试将 {{image}} 替换为直接图像名称,但没有帮助。正如我所说,字母和尺寸都不好。
    【解决方案2】:

    一种解决方案:尝试安装 pdf 中列出的字体...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-01
      • 2017-09-13
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 2014-09-06
      • 2022-09-23
      • 2021-06-19
      相关资源
      最近更新 更多