在尝试寻找合并现有 PDF 文件和表单的方法时,我遇到了 Sid Steward 的PDFTK,然后找到了 Andrew Heiss 的 PDFTK-php 类(code.google.com/p/pdftk-php/;www.andrewheiss.com/博客/2009/07/29/installing-pdftk-php/)。这个想法看起来很简单,但是当我在我的 Windows 2003 Server 和我的 Windows XP 虚拟 PC 上尝试它时,我在尝试使用 FDF 生成的表单 Andrew 的示例代码来填充表单时遇到了同样的错误。我继续更改了 Andrew 的代码以查看它正在运行的命令行。然后将其键入命令提示符窗口以查看错误。
命令行如下所示: pdftk example.pdf fill_form fdf1b44.tmp output test.pdf flatten (PDFTK 在我的系统路径中,所有其他文件都位于当前目录中) example.pdf 生成为 0KB 文件,并且弹出一个错误:
未处理的 Java 异常:
java.io.CharConversionException
at 0x0056175e (Unknown Source)
at 0x00561c52 (Unknown Source)
at 0x00561d03 (Unknown Source)
at 0x0057692d (Unknown Source)
at 0x0055f64d (Unknown Source)
at 0x006bc0ad (Unknown Source)
at 0x006994e0 (Unknown Source)
at 0x00567a96 (Unknown Source)
at 0x0056e8f2 (Unknown Source)
at 0x0056e92c (Unknown Source)
at 0x00445fa6 (Unknown Source)
at 0x0048b15e (Unknown Source)
at 0x0048b5b8 (Unknown Source)
at 0x0048c238 (Unknown Source)
at 0x0046c81f (Unknown Source)
at 0x00469301 (Unknown Source)
at 0x004666a6 (Unknown Source)
对于 Windows XP 虚拟 PC 和 Windows 2003 Server,结果是相同的。我在这个问题上发现的很少,只有一个条目可能表明 Sid 使用了一个 gcc 版本来编译 pdftk,它对 Java 字符的支持很差。我下载了 Sid 的源文件来看看,但这确实超出了我的知识范围。