我在使用带有真正类型字体的文本字段使用pdftk填写表单时遇到了困难。
但是,当试图使用以下命令填充它时,pdftk会抛出一个错误:
pdftk ./my_form.pdf fill_form my_data.fdf output ./the_output.pdf产出如下:
Unhandled Java Exception in create_output():
java.lang.ArrayIndexOutOfBoundsException: 0
at pdftk.com.lowagie.text.pdf.DocumentFont.fillEncoding(pdftk)
at pdftk.com.lowagie.text.pdf.DocumentFont.doType1TT(pdftk)
at pdftk.com.lowagie.text.pdf.DocumentFont.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.getAppearance(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.setField(pdftk)
at pdftk.com.lowagie.text.pdf.AcroFields.setFields(pdftk)如果我将文本输入的字体更改为Helvetica、Times或Courier,pdftk将成功地创建一个PDF格式。奇怪的是,阿里尔和佐治亚也犯了同样的错误。
我试图使用Ghostscript将字体嵌入到PDF中,就像How to repair a PDF file and embed missing fonts在这个问题中建议的那样,但没有效果。gs可能嵌入了字体,但它删除了表单字段,因此生成的PDF不能反馈到pdftk中。
如能通过一项工作决议将不胜感激。
发布于 2017-06-08 18:20:10
我在使用java.lang.ArrayIndexOutOfBoundsException: 0填充生成的Acrobat上的表单时遇到了同样的pdftk错误。这个问题太老了,但我在堆栈溢出或其他地方找不到一致的答案,所以我想我应该把我的修正贴出来。
最后为我工作的是::
pdftk运行PDF总的来说,我对编码或PDF并不那么熟悉,但是用预览保存PDF似乎可以修复编码,或者至少可以将其带到pdftk可以使用它的地方。祝好运。
发布于 2019-10-15 12:21:50
这给我带来了两天的头痛。原来我把注意力集中在问题的错误端上了。
一个不错的选择不是手动的,只需要做一次,就是在源PDF表单的字段中输入一些文本,在您的例子中。/my_form.pdf。我不知道这到底是为什么,但确实如此。这样,如果您想在任何时候创建一个新文件,您就不必经历这样的麻烦:)
https://stackoverflow.com/questions/23948647
复制相似问题