在其他Win7工作站上使用pdfbox创建新的pdf文件时,如何解决重叠文本。在另一个win7工作站上,没有重叠文本

时间:2019-05-04 05:11:07

标签: pdf pdfbox overlap overlapping hungarian-notation

这是从Java代码使用org.apache.pdfbox创建新的pdf文件时出现的重叠文本问题,问题不知道如何在win7工作站上解决:

  1. pdf文件模型:

” Mellékletaszállítólevélhez:x x x

Dátum:xxxxx

  1. 创建新的pdf文件,用Java代码替换“ x x x”:

梅莱克莱特(Mellékletaszállítólevélhez):26201738

Dátum:2019-05 -02 14:49:00

除了“ 26201738”显示重叠(不能在此处放置图片)外,“ 2019-05 -02 14:49:00”也是如此。字符重叠的最大长度分别为4和8。

在具有Win7的2个不同工作站上,它们具有相同的java_update版本和具有相同的Eclipse和相同的Java代码的相同的工作区Eclipse,它将创建没有重叠文本的pdf文件。

我尝试将相同的字体复制到错误的工作站负结果中。试图将“地区和语言”准确地夹到另一个车站,但没有结果。尝试更新为Acrobat Reader DC-无结果。似乎在使用org.apache.pdfbox创建新PDF时,工作站操作系统丢失了一些东西,无法弄清楚这是什么吗?排除了Java代码问题,因为另外2个工作站在生成新的PDF文件时正常工作。

最好的问候, Laurentiu

2 个答案:

答案 0 :(得分:1)

您的源PDF的“ 2”,“ 3”,“ 7”和“ 9”宽度为零。通过使用PDFDebugger查看Root/Pages/Kids/[0]/Resources/Font/F1/Widths可以看到这一点。 Root/Pages/Kids/[0]/Resources/Font/F1/FirstChar是32,因此在位置16处可以找到“ 0”(代码48)。无论创建原始PDF的谁/什么都只能设置所用字符的宽度。这是替换现有PDF why the example was removed中的文本的许多陷阱中的另一个陷阱。

建议不要使用“ x x x”,而应使用acroform字段或将日期/客户编号放在预定位置。

答案 1 :(得分:0)

问题解决了!似乎需要替换“ x x x”并从他那里创建一个新的pdf模型的内部有些问题。我已经用一个好的文件替换了PDF文件模型,现在一切正常。感谢你并致以真诚的问候!