繁体   English   中英

iText PDF文本字段中的字符重叠

[英]Overlapping characters in text field iText PDF

我有文本字段包含某些字符的PDF。 但是特定于语言的字符是重叠的。 当它获得焦点时,文本会更改并正确显示。 失去焦点时,显示不正确。 编辑文本时,也可以正确显示。

文件test_extended_filled.pdf参见下面

我如何创建PDF:

  1. 在OpenOffice Draw 4.0.1-> test.odg中创建的odg模板
  2. 导出为PDF-> test.pdf
  3. 使用Adobe Acrobat X Pro 10.0.0编辑了test.pdf,并使用扩展功能重新保存(需要保存在本地PC上)-> test_extended.pdf
  4. 由Java填写表格(pdfstamper)-> test_extended_filled.pdf

奖励:当我在Java中通过pdfstamper更改字体时,看起来更改也仅适用于焦点文本。 -> test_extended_filled_font_size.pdf

注意:当我从2填充test.pdf时 ,它会正确显示-> text_filled.pdf

附件(前往下载区): https : //rapidshare.com/share/ACC0D81E9235A6DA2CC2353BD21A4C37

在我添加之后

stamper.getAcroFields().addSubstitutionFont

更好,但是有些字符仍然重叠。 -> test_extended_filled_font_size_with_substitution_font.pdf http://rapidshare.com/share/0EE3238F37E9115C36A7A74706B09826

有任何想法吗?

请看一下FillFormSpecialChars示例和生成的PDF

Open Office并不能真正创建漂亮的表单。 正如mkl已经指出的那样, NeedAppearances标志可能会导致问题,字段的边框被绘制到页面内容上而不是小部件注释的一部分,等等。

在您的情况下,您定义的字体对于特殊字符不是最佳的。 使用替代字体并不理想,因为您可以清楚地看到绘制字形并不是什么大问题。 问题在于指标全都错了。 好像特殊字符的提前量为0个字形单位。 在这种情况下,应该使用setFieldProperty()方法更改字体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM