На моей странице есть несколько шрифтов внутри: page.getResources().getFontNames()
, что приводит к:
Arial and COSName{TT0}
Arial,Bold and COSName{TT1}
ADWVFJ+Arial,Bold and COSName{C2_0}
ACWAVL+Arial and COSName{C2_1}
ASJHEV+Symbol and COSName{C2_2}
BJDOLK+ArialMT and COSName{C2_3}
Arial,Bold and COSName{TT0}
Arial,BoldItalic and COSName{TT1}
Arial and COSName{TT2}
ACWAVL+Arial and COSName{C2_0}
ADWVFJ+Arial,Bold and COSName{C2_1}
Arial,Italic and COSName{TT3}
Что я пытаюсь сделать так: замените каждый встроенный шрифт по умолчанию на тот, который уже существует в pdf, например / Helv.К примеру, все тезисы Arial to Helv, есть шанс?
Я пытался удалить все тезисы Arial в надежде, что pdfbox / acrobat reader выберет один по умолчанию ^^ с помощью page.getResources().getCOSObject().getDictionaryObject(COSName.FONT)
, он удаляется правильно, но после удаления по умолчанию ничего не выбрано ...
После прочтения этого документа pdfbox мы можем создать новый contenttream и применить нужный шрифт, но как я могу получить существующий contenttream страницы и использовать метод .setFont()
, мы не можем получить существующий PDPageContentStream
?
Другой вопрос: как правильно это сделать?Я говорю здесь о ресурсах страницы, а не об акроформных ресурсах.Благодаря @TilmanHausherr из удаление / замена шрифта внутри ресурсов acroform по умолчанию ps: я знаю, что некоторые символы не могут отображаться с Helvetica