用默认字体替换页面的嵌入字体

时间:2019-04-05 08:08:58

标签: pdfbox

在我的页面中,我里面有多种字体: 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无法显示某些字符

0 个答案:

没有答案
相关问题