Я заполняю PDF-форму с помощью PDFBox, которую сглажаю перед сохранением.Форма имеет собственный шрифт для текста, а также поля формы.Когда я открываю выходной документ (со сглаженными полями) на устройстве, на котором не установлен этот пользовательский шрифт, шрифт обычного текста по-прежнему правильный, но шрифт сглаженных полей отображается с запасным (?) Шрифтом.На устройстве, на котором установлен этот пользовательский шрифт, все выглядит так, как ожидалось.
Есть ли способ принудительно использовать один и тот же пользовательский шрифт для всего текста после выравнивания формы?
Код (упрощенно)) используется для заполнения PDF-формы с помощью PDFBox:
public class App
{
public static void main(String[] args) throws IOException {
String formTemplate = "src/main/resources/fonts.pdf";
String filledForm = "src/main/resources/fonts_out.pdf";
PDDocument pdfDocument = PDDocument.load(new File(formTemplate));
PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();
acroForm.getField("text").setValue("Same font in form text field (updated with PDFBox)");
acroForm.setNeedAppearances(true);
acroForm.refreshAppearances();
acroForm.flatten();
pdfDocument.save(filledForm);
pdfDocument.close();
}
}
PDF-файлов: Ввод Ввод
Ожидаемый:
Результат, если в системе не установлен шрифт: