我想在使用iText PDF标记PDF文件时将Verdana用作字体。原始文件使用Verdana,这不是Basefont类中的选项。
这是立即创建我的字体的功能:
def standardStampFont() {
return BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, false)
}
我想改变,要Verdana字体,而只是更换部分BaseFont.HELVETICA
与"Verdana"
不工作。
任何的想法?提前致谢!
如前所述,iText支持Standard Type 1字体,因为iText随附AFM文件(Adobe Font Metrics文件)。iText不了解其他字体的字体规格(Verdana不是Standard Type 1字体)。您需要提供Verdana字体文件的路径。
BaseFont.createFont("c:/windows/fonts/verdana.ttf", BaseFont.WINANSI, BaseFont.EMBEDDED)
请注意,我将更false
改为,BaseFont.EMBEDDED
因为与您相同的问题也将出现在查看文件的人的一侧:他的PDF查看器可以呈现Standard Type 1字体,但可能无法呈现其他字体,例如作为Verdana。
注意:硬编码路径"c:/windows/fonts/verdana.ttf"
在我的本地计算机上对我有用,因为可以在本地计算机上使用该路径找到字体文件。但是,此代码在托管iText站点的服务器上将不起作用(这是一台甚至没有c:/windows/fonts
目录的Linux服务器)。我通过示例使用此硬编码路径。部署应用程序时,应确保字体存在并且可用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句