При использовании PDFBox шрифт в MS Edge отличается от шрифта Chrome для PDF - PullRequest
0 голосов
/ 11 января 2019

У меня есть шаблон PDF, созданный в Acrobat Reader DC, который содержит поле, которое я пытаюсь заполнить некоторым текстом. Поле имеет определенный шрифт, который я хочу сохранить. Я могу получить поле и изменить значение.

Однако, когда я открываю PDF в Internet Explorer, шрифт является шрифтом по умолчанию. Заблуждение заключается в том, что если я открою его в Chrome, он отобразит правильный шрифт. Не уверен, почему это так, любая помощь приветствуется. Я использую PDFBox версии 2.

(шрифт работает, если я не использую Java для редактирования файла, если я просто вручную изменяю его в Acrobat и сохраняю файл, тогда он отображается правильно.)

См. Ниже используемый код.

File file = new File("PDFToReadFrom.pdf");
PDDocument pdDoc = PDDocument.load(file);

PDDocumentCatalog pdCatalog = pdDoc.getDocumentCatalog();
PDAcroForm pdAcroForm = pdCatalog.getAcroForm();

for(PDField pdField : pdAcroForm.getFields()){
    pdField.setValue("value");
}

pdDoc.save(new File("test.pdf"));       
pdDoc.close();

1 Ответ

0 голосов
/ 16 января 2019

Я предлагаю вам лучше сравнить файл PDF (используйте отредактированный файл Java и файл, созданный Acrobat), используют ли они один и тот же шрифт.

Согласно этой статье , кажется, что мы могли бы установить шрифт при использовании PDFBox для создания файла PDF.

...