gpt4 book ai didi

java - Apache PDFBox - PDFont 类型之间的差异

转载 作者:行者123 更新时间:2023-11-30 05:38:25 25 4
gpt4 key购买 nike

我最近开始使用PDFBox来处理一些PDF文件。我成功加载了 Roboto 字体,但是,我不明白 PDType0Font、PDType1Font 和 PDTrueTypeFont 之间的区别。使用哪一个更好?

问候

最佳答案

如果您想使用标准 14 种字体(times、helvetica、courier、symbol、zapf dingbats)=> 使用 PDType1Font.HELVETICA 等(仅支持 WinAnsiEncoding)

如果您的计算机上有 type1 字体并且想要使用这些 => 使用 PDType1Font 构造函数。

如果您想以低效的方式使用 TrueType 字体(只有 256 个字形,无子集化)=> 使用 PDTrueTypeFont.load()

如果您想以有效的方式使用 TrueType 字体(超过 256 个字形,子集化)=> 使用 PDType0Font.load()。您可以而且应该对整个 PDF 使用相同的字体对象,即不要为每个页面创建新的 PDFont 对象。

如果您想使用 TrueType 集合,请执行以下操作:

TrueTypeCollection ttc = new TrueTypeCollection(new File("C:/windows/fonts/mingliu.ttc"));
PDFont font = PDType0Font.load(doc, ttc.getFontByName("MingLiU"));
...
ttc.close(); // only after PDF has been saved

关于java - Apache PDFBox - PDFont 类型之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56176890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com