我正在使用Docx4J.toPDF(wordMLPackage, new FOS("path/to/file.pdf"))
将".docx"
文件转换为".pdf"
。虽然转换发生得很好,但原始文档有 Calibri 字体,结果pdf有 Arial 。有没有办法在进行此转换时设置字体。
如果你可以提供一些关于如何设置字体属性的链接会更好,如字体大小,字体系列等,如果有适合的话。
我在线搜索但无法找到任何帮助。等待你的回复。谢谢!
答案 0 :(得分:1)
我认为您必须将Calibiri字体(文件)嵌入到PDF中。我也在生成的PDF中使用Calibri,这就是我必须要做的。我正在使用PDFe
我不知道如何在docx4j
中执行此操作,但是对于iText(我正在使用),我必须注册这样的字体
FontFactory.registerDirectory("./resources/fonts/", true);
com.itextpdf.text.Font iFont = FontFactory.getFont(font, getEncodingForFont(font), true);
之后,iFont自动加入PDF,因此可以在没有安装Calibri
的系统上正确显示。
这可能与您的问题有关 http://www.docx4java.org/forums/docx-java-f6/embedded-fonts-not-used-in-pdf-conversion-t1137.html
此外,SO上似乎还有一些内容:How to change font encoding when converting docx -> pdf with docx4j?