iText,Font,BaseFont和createFont()发生了什么?

Cha*_*rts 11 itext

关于font和basefont发生了什么,我有很多神秘感.特别是在构造函数方面.iText网站将此行作为新字体的示例代码

 BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", 
                        BaseFont.IDENTITY_H, 
                        BaseFont.EMBEDDED);
Run Code Online (Sandbox Code Playgroud)

我可以接听这个电话:

BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257, 
                  BaseFont.EMBEDDED);
Run Code Online (Sandbox Code Playgroud)

但是,如果我用BaseFont.HELVETICA替换BaseFont.CP1257然后它不起作用,我得到一个页面,上面写着"无法加载pdf文档".

我尝试查看类文件,我似乎无法弄清楚第二个参数是什么(我假设它是类似于备份字体,如果第一个字体不起作用,如HTML),我可以弄清楚为什么有些字体会起作用而不是其他字体.

4F2*_*A2E 8

加载它从里面你的罐子使用的斜线,否则,只需用字体的绝对路径("C:[...]\Fonts \中Sansation_Regular.ttf").例如:

Font font = FontFactory.getFont("/fonts/Sansation_Regular.ttf",
    BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK);
BaseFont baseFont = font.getBaseFont();
Run Code Online (Sandbox Code Playgroud)