заменить встроенный шрифт страницы по умолчанию - PullRequest
0 голосов
/ 05 апреля 2019

На моей странице есть несколько шрифтов внутри: 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

...