gpt4 book ai didi

iText,Font、BaseFont 和 createFont() 是怎么回事?

转载 作者:行者123 更新时间:2023-12-04 02:05:43 27 4
gpt4 key购买 nike

关于 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.HELVETICA 替换 BaseFont.CP1257 那么它就不起作用了,我得到一个页面,上面写着“无法加载 pdf 文档”。

我尝试查看类文件,但似乎无法弄清楚第二个参数是什么(我假设它类似于备用字体,以防第一种字体不起作用,例如在 HTML 中),我可以不知道为什么有些字体可以工作,而其他字体不行。

最佳答案

加载 从你的 jar 里使用前导斜杠 否则 ,只需使用字体的绝对路径(“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();
  • 字体的相对路径为:'src/main/resources/fonts'
  • 使用 Itext 5.4.5
  • 例如:https://code.google.com/p/jhocr/source/browse/trunk/src/main/java/com/googlecode/jhocr/converter/HocrPageProcessor.java
  • 关于iText,Font、BaseFont 和 createFont() 是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366354/

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