根据我在这里找到的https://pdfbox.apache.org/1.8/cookbook/workingwithfonts.html https://pdfbox.apache.org/1.8/cookbook/workingwithfonts.html他们建议安装所谓的标准 14 字体.
由于许可要求,我们需要提供替代字体。
基于类中的代码org.apache.pdfbox.pdmodel.font.FontMapperImpl
, 这些都是标准 14 字体及其替代品:
Courier:CourierNew,CourierNewPSMT,LiberationMono,NimbusMonL-Regu
Courier-Bold:CourierNewPS-BoldMT,CourierNew-Bold,LiberationMono-Bold,NimbusMonL-Bold
Courier-Oblique:CourierNewPS-ItalicMT,CourierNew-Italic,LiberationMono-Italic,NimbusMonL-ReguObli
Courier-BoldOblique:CourierNewPS-BoldItalicMT,CourierNew-BoldItalic,LiberationMono-BoldItalic,NimbusMonL-BoldObli
Helvetica:ArialMT,Arial,LiberationSans,NimbusSanL-Regu
Helvetica-Bold:Arial-BoldMT,Arial-Bold,LiberationSans-Bold,NimbusSanL-Bold
Helvetica-Oblique:Arial-ItalicMT,Arial-Italic,Helvetica-Italic,LiberationSans-Italic,NimbusSanL-ReguItal
Helvetica-BoldOblique:Arial-BoldItalicMT,Helvetica-BoldItalic,LiberationSans-BoldItalic,NimbusSanL-BoldItal
Times-Roman:TimesNewRomanPSMT,TimesNewRoman,TimesNewRomanPS,LiberationSerif,NimbusRomNo9L-Regu
Times-Bold:TimesNewRomanPS-BoldMT,TimesNewRomanPS-Bold,TimesNewRoman-Bold,LiberationSerif-Bold,NimbusRomNo9L-Medi
Times-Italic:TimesNewRomanPS-ItalicMT,TimesNewRomanPS-Italic,TimesNewRoman-Italic,LiberationSerif-Italic,NimbusRomNo9L-ReguItal
Times-BoldItalic:TimesNewRomanPS-BoldItalicMT,TimesNewRomanPS-BoldItalic,TimesNewRoman-BoldItalic,LiberationSerif-BoldItalic,NimbusRomNo9L-MediItal
Symbol:Symbol,SymbolMT,StandardSymL
ZapfDingbats:ZapfDingbatsITC,Dingbats,MS-Gothic
据我了解,例如处理使用字体的文件时黑体我没有安装该字体,那么将使用替代字体之一:ArialMT, Arial, 解放三世, 雨云圣雷古。
很清楚。
如果我没有字体怎么办Arial(这不是其中之一标准 14 字体)已安装,我想要解放三世处理文件时使用Arial。有没有办法配置这样的映射?
还有一件事:在1.8.13版本中我在课堂上看到:org.apache.pdfbox.pdmodel.font.FontManager
资源文件加载:org/apache/pdfbox/resources/FontMapping.properties
可以用来提供这样的映射。
在 2.x 版本中,我看不到任何这样做的可能性。我想知道为什么被删除了...