作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在使用 iText PDF 标记 PDF 文件时使用 Verdana 作为字体。原始文件使用 Verdana,它不是 Basefont 类中的一个选项。
这是现在创建我的字体的函数:
def standardStampFont() {
return BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, false)
}
BaseFont.HELVETICA
与
"Verdana"
不起作用。
最佳答案
如文档所述,iText 支持标准 Type 1 字体,因为 iText 附带 AFM 文件(Adobe Font Metrics 文件)。 iText 不知道其他字体的字体规范(Verdana 不是标准 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 服务器)。作为示例,我正在使用这个硬编码路径。您应该确保在部署应用程序时该字体存在且可用。
关于pdf - 如何在 Stamper 中使用 Verdana 字体 (iText PDF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404418/
我是一名优秀的程序员,十分优秀!