在我的页面中,我里面有多种字体:
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}
我想要完成的是:默认情况下,将每个嵌入字体替换为/ Helv等pdf中已经存在的一种。举例来说,所有这些Arial到Helv,有机会吗?
我尝试删除所有这些Arial字体,希望pdfbox / acrobat阅读器默认使用page.getResources().getCOSObject().getDictionaryObject(COSName.FONT)
选择一种^^,它可以正确删除,但删除后没有默认选择...
阅读this pdfbox doc之后,我们可以创建新的contentstream并应用所需的字体,但是如何获取页面的现有contentstream并使用.setFont()
方法,我们就无法获取现有{{1} }?
另一个问题是完成这项工作的正确方法是什么?我在这里谈论页面的资源而不是acroform资源。感谢removing/replacing font inside default acroform resources的@TilmanHausherr ps:我知道Helvetica无法显示某些字符