【发布时间】:2025-11-21 13:40:02
【问题描述】:
Possibly related question 1, Related question 2
我们正在努力实现的目标:
使用 drupal webform 提交数据作为源来填写 PDF 表单并将其提供给用户,然后将其展平以进行打印。我们正在尝试在 Drupal 6 上部署它,然后在 Drupal 7 上部署。站点是部署在 CentOS VPS 上的大型 D6 站点。我们正在将其移至 D7。
链接:
我们的问题:
无论我们尝试什么,我们都无法将某些 Unicode(utf-8) 字符插入 PDF。
特别是这些不起作用:č、đ、ć
这些作品:š、ž
注意:这必须有效,因为这些字符在斯洛文尼亚人的姓名和姓氏中很常见,并且此 pdf 是斯洛文尼亚合同的打印输出。
我们尝试了什么:
我们首先使用了我们的系统管理员从源代码构建的PDFTK。我们尝试了 1.41 和 1.41。然后他找到了两个版本的包,我们对它们都进行了测试。没有工作。然后,我们分析了该模块,并使用了相同的命令行函数和一个精简的示例。它产生了同样的结果。我们尝试了在 Mac 上从 DOC 转换生成的 PDF,而不是使用 Adobe Acrobat Pro 添加的字段。比我们尝试在 Linux Mint 上使用 LibreOffice 创建的 PDF。两者都产生了相同的结果。此问题已在 CentOS vps、我们的系统管理员的 CentOS virtualbox 安装和 ubuntu 10.04 devbox 以及 2 个 D6 vanilla 安装、1 个 D7 vanilla 安装和生产 D6 安装上复制。
我们还尝试了 fillpdf 模块给出的第二个选项:java/tomcat bridge (More here)。这是在 ubuntu 10.04 devbox 上尝试过的,它也没有工作。我们还尝试了提供的软件即服务 PDFTK 服务FillPDF service,它也产生了相同的结果。
有什么想法可能是错的吗?任何想法如何完成此操作(即使使用其他系统、服务、自定义代码等)?
【问题讨论】:
-
Putr,当您说 Tomcat 设置“不起作用”时,您的意思是您在配置它时遇到了问题,或者它填充了 PDF 但没有成功填充这些字符?
-
这个答案似乎是一个很大的提示:*.com/a/6926874/724455 - 似乎使用 Unicode 字符引用对字符进行 HTML 编码是 XFDF 文件中的方法。我会在模块中记下这一点,稍后再回来看看。这很棘手,因为它似乎可以与 pdftk 一起使用,但不确定它如何在 JavaBridge 方面发挥作用。
-
@wizonesolutions Tomcat 设置有效(就 PDF 生成而言),但 unicode 字符仍然存在同样的问题。
-
似乎是 Tomcat/Java 字体问题。一位中国用户设法以某种方式添加了中文字体并使整个工作正常。我会在某个时候更仔细地阅读他所做的事情并更新文档(并进行更多测试)。
标签: drupal pdf unicode utf-8 pdftk