【问题标题】:Filling pdf forms with non-English characters用非英文字符填写 pdf 表格
【发布时间】:2020-02-05 19:36:12
【问题描述】:

我正在填写 pdf 表单并在我的 express web 服务器上将它们提供给用户:

const pdfFillForm = require('pdf-fill-form');

let FillData = {
    text: 'Title'
}

const pdf = pdfFillForm.writeSync(Form.path, 
        FillData, { "save": "pdf" } );

res.setHeader('Content-Disposition', 'attachment; filename=' + `filename.pdf`);
res.type("application/pdf");
res.send(pdf);

上面的代码工作正常,直到FillData 的内容包含亚洲字符。 任何非英文字符都会呈现空白。我还使用另一个类似的库fill-pdf 尝试了一个非常类似的设置,它在引擎盖下使用了不同的库。但是这个库有一个类似的问题,字符编码不正确,比如:

ã…Žã…«ã‡¼ã…«ã‡°ç”‰åł½ç¬¬ä¸•ç”‰å¥³ ㇢㇤ㅪㇹ

如何正确编码我的 pdf 以显示两种语言?有什么选择吗?我知道这个问题可能源于pdftkPoppler。这两个节点库都允许您传递配置参数,但我无法在这些库中找到有关编码的任何文档。

【问题讨论】:

  • This answer 提到在用非 ASCII 字符填写表单时,必须在 pdftk 中使用 need_appearances 标志。
  • 很遗憾似乎没有解决问题。

标签: node.js pdf pdftk poppler


【解决方案1】:

这是一个存在七年的 Poppler 错误,没有解决方案:https://gitlab.freedesktop.org/poppler/poppler/-/issues/362

【讨论】:

猜你喜欢
  • 2016-04-05
  • 1970-01-01
  • 2012-01-23
  • 2018-01-28
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 2013-11-05
相关资源
最近更新 更多