以下是将 docx 转换为 pdf 的代码
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(is);
FOSettings foSettings = Docx4J.createFOSettings();
foSettings.setWmlPackage(wordMLPackage);
Docx4J.toPDF(wordMLPackage, baos);
这里的问题是生成的PDF字体总是 Times New Roman ,情况并非如此,docx模板字体实际上是不同的,Garamond。
这里可能有什么遗漏或错误?
答案 0 :(得分:0)
如果系统上未安装字体或嵌入文档,则MS Word会执行静默字体替换。要检查文档是否发生这种情况,请在Word中打开,转到Word Options > Advanced > Show Document Content
,然后按Font Substitution
按钮。 (Word 2007)
如果字体嵌入在文档中,或者您已经在系统上安装了字体,那么我不知道该告诉您什么,因为理想情况下docx4j应该使用该字体。
如果不是这种情况,即Word使用字体替换(您可以使用上述步骤确定),则可以使用Word Options > Save > Embed Fonts in File
将Garmond字体嵌入文档中。浏览转换程序并再次检查。