java - 为 PDFBox 渲染注册其他字体
问题描述
从 2.0 开始,PdfBox 可以渲染嵌入的字体。但是,我无法影响 PDF 的输入内容,并且某些 PDF 没有嵌入字体。在这种情况下,使用系统上安装的字体。现在由于某些限制,我也无法在该(服务器)系统上安装字体。因此,如果可以在类路径中注册作为 jar 文件提供的其他字体,那就太好了。我试过了
PDType0Font.load(...)
PDTrueTypeFont.loadTTF(...)
但是,这似乎仅用于创建新文档。我偶然发现了这篇文章,但是解决方案是使用嵌入的字体。所以我考虑编写自己的FontDirFinder
(即使名称不会 100% 正确),但 FontFileFinder 类(方法)中的determineDirFinder()
实现(还)不允许注册自己的Finder
. 所以补丁是必要的。
但在开始工作之前,我想问一下是否有可能使 PDFBox 知道字体文件(不嵌入或应对/使用系统字体)?
所以基本上我不能改变PDF而不是服务器字体目录/基础设施。但我可以提供额外的字体作为部署的一部分(jar 文件的一部分等)。(我正在寻找一种让 PdfBox 识别这些的方法)
解决方案
推荐阅读
- proxy - 出站请求的缓存服务
- javascript - Vue 中的奇怪符号: const { state = {} } = this.$store;
- azure - MVC5 Azure AD IDX21323
- php - Why does regex fail to match quotes?
- vue.js - 发射到父触发器方法但不是值
- html5-canvas - 无法在球到地板阵列上进行碰撞检测?
- javascript - Unix 时间格式总是返回“50 年前”
- android - maven-publish plugin gradle 只发布特定模块
- python - Pytest 异步monkeypatch 将模拟应用于所有测试
- html - 如何使内容完全适合网格单元格/div?