首页 > 解决方案 > 为 PDFBox 渲染注册其他字体

问题描述

从 2.0 开始,PdfBox 可以渲染嵌入的字体。但是,我无法影响 PDF 的输入内容,并且某些 PDF 没有嵌入字体。在这种情况下,使用系统上安装的字体。现在由于某些限制,我也无法在该(服务器)系统上安装字体。因此,如果可以在类路径中注册作为 jar 文件提供的其他字体,那就太好了。我试过了

PDType0Font.load(...)
PDTrueTypeFont.loadTTF(...)

但是,这似乎仅用于创建新文档。我偶然发现了这篇文章,但是解决方案是使用嵌入的字体。所以我考虑编写自己的FontDirFinder(即使名称不会 100% 正确),但 FontFileFinder 类(方法)中的determineDirFinder()实现(还)不允许注册自己的Finder. 所以补丁是必要的。

但在开始工作之前,我想问一下是否有可能使 PDFBox 知道字体文件(不嵌入或应对/使用系统字体)?

所以基本上我不能改变PDF而不是服务器字体目录/基础设施。但我可以提供额外的字体作为部署的一部分(jar 文件的一部分等)。(我正在寻找一种让 PdfBox 识别这些的方法)

标签: javapdfboxpdf-renderingfontbox

解决方案


推荐阅读