我使用 pdfbox API 在 Java 中编写了一些代码,该 API 将 pdf 文档拆分为单独的页面,在页面中查找特定字符串,然后从页面上创建一个带有字符串的新 pdf。我的问题是保存新页面时,我的字体丢失了。我刚刚制作了一个快速的word文档来测试它,默认字体是calibri,所以当我运行程序时,我得到一个错误框,上面写着:“无法提取嵌入的字体......”所以它用其他一些默认字体替换了字体.
我已经看到了很多示例代码,这些示例代码显示了当您输入要放置在 pdf 中的文本时如何更改字体,但没有设置 pdf 的字体。
如果有人熟悉这样做的方法,(或可以找到文档/示例),我将不胜感激!
编辑:忘记包含一些示例代码
if (pageContent.indexOf(findThis) >= 0){
PDPage pageToRip = pages.get(i);
>>set the font of pageToRip here
res.importPage(pageToRip); //res is the new document that will be saved
}
我不知道这是否有帮助,但我想我会把它包括在内。
此外,如果 pdf 用 calibri 编写并拆分,这就是变化的样子:
注意:这可能不是问题,它取决于需要处理的文件中使用的字体。我尝试了除了 Calibri 之外的一些东西,效果很好。