Как исправить наложение текста при создании нового файла PDF с помощью pdfbox на другой рабочей станции Win7. На другой рабочей станции win7 НЕТ перекрывающегося текста - PullRequest
0 голосов
/ 04 мая 2019

Речь идет о проблеме с наложенным текстом при создании нового pdf-файла с org.apache.pdfbox из кода Java, проблема не знает, как ее исправить на рабочей станции win7:

  1. Модель файла PDF:

"Melléklet a szállítólevélhez: xxx

Данные: xxx

"

Создание нового pdf-файла с заменой "xxx" на код Java:

"

Melléklet a szállítólevélhez: 26201738

Дата: 2019-05 -02 14: 49: 00

"

За исключением того, что" 26201738 "отображается с наложением (не может отображаться здесь) также" 2019-05 -02 14:49:00 ".Максимальная длина с перекрывающимися символами - максимум 4 соответственно 8.

На 2 разных рабочих станциях с win7 с одинаковой версией java_update и тем же затмением рабочей области с тем же затмением и тем же кодом java, создается файл PDF сНЕТ перекрывающегося текста.

Я пробовал использовать те же шрифты, которые были скопированы для получения отрицательного результата на рабочей станции.Попробовал свихнуть "Регион и язык" в Германию точно на другую станцию ​​- безрезультатно.Попытался обновить до Acrobat Reader DC - безрезультатно.Кажется, что ОС рабочей станции чего-то не хватает при создании нового PDF с org.apache.pdfbox и не может понять, что это такое?Исключена проблема с кодом Java, поскольку две другие станции работают правильно при создании нового файла PDF.

С уважением, Laurentiu

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Ваш исходный PDF имеет нулевую ширину для «2», «3», «7» и «9».Это можно увидеть, посмотрев на Root/Pages/Kids/[0]/Resources/Font/F1/Widths с PDFDebugger.Root/Pages/Kids/[0]/Resources/Font/F1/FirstChar равно 32, поэтому «0» (код 48) можно найти в позиции 16. Кто бы ни создавал исходный PDF-файл, он устанавливает ширину только для используемых символов.Это еще одна из многих ловушек с заменой текста в существующих PDF-файлах, поэтому почему пример был удален .

Вместо использования "xxx", я бы рекомендовал использовать акроформуполе или поставить дату / client # в предопределенную позицию.

0 голосов
/ 06 мая 2019

Проблема решена!Кажется, что у модели pdf, которую нужно заменить на «ххх» и создать новую, из него что-то не так внутри.Я заменил модель файла PDF на хороший файл, и теперь все работает.Спасибо и всего наилучшего!

...