关于 font 和 basefont 的情况对我来说有很多谜团。尤其是当涉及到构造函数时。 iText 网站提供了这一行作为新字体的示例代码
BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf",
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED);
我可以让这个电话工作:
BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257,
BaseFont.EMBEDDED);
但是,如果我将 BaseFont.CP1257 替换为 BaseFont.HELVETICA 那么它就不起作用,并且我得到一个页面,显示“无法加载 pdf 文档”。
我尝试查看类文件,但似乎无法弄清楚第二个参数是什么(我假设它类似于备份字体,以防第一个字体不起作用,就像在 HTML 中一样),我可以不明白为什么有些字体可以工作,而另一些则不行。
加载它从你的罐子里使用前导斜杠否则,只需使用字体的绝对路径(“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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)