Как правило, редактирование PDF-файлов в текстовом редакторе - плохая идея. PDF-файлы зависят от смещения байтов различных объектов, чтобы они не перемещались.
Если вы ЗНАЕТЕ, что ваш редактор не изменит байты EOL (или то, что он считает байтами eol), и вы НЕ меняете длину объекта текстовой записи в целом, все в порядке.
Например:
1 0 obj
<</Type/Annotation/Subtype/Widget/V(PlaceHolder Value)/T(Field Title)...>>
endobj
Если ваше новое значение длиннее, чем "значение заполнителя", вы ввернуты.
Большинство PDF-файлов содержат довольно много сжатых двоичных данных. Некоторые из этих данных будут неверно истолкованы как символы EOL. Их изменение будет:
a: прервать сжатый поток
b: возможно, изменить байтовые смещения остальной части PDF.
Когда я взламываю на файлы PDF, я всегда использую шестнадцатеричный редактор.
Итог: не связывайтесь с PDF-файлами как текстовым потоком. Разберитесь с ними в виде файлов PDF, используя библиотеку PDF. Там наверняка найдется способный изменять значения полей формы на выбранном вами языке.
Вы также можете заглянуть в FDF и XFDF, чтобы узнать, подойдут ли они вам лучше. Оба формата файлов хранят пары поле / значение и ссылку на форму для использования с этими парами. FDF использует синтаксис PDF, а XFDF - это грамматика XML. Вы можете подать [X] FDF своему конечному пользователю, и он увидит заполненную форму.
ВНИМАНИЕ: Если форма не поддерживает Reader (требуется Acrobat (pro?)), Они не смогут сохранить версию формы, которую они получают после открытия [X] FDF, только просматривать / распечатывать ее. Конечно, они могут сохранить [X] FDF, но многие пользователи могут отказаться от этого странного нового формата.