我使用的这种字体,在windows下是正常的,在linux下失效,我发现字体上传到linux后名字会乱码,字体的名字乱码是否会导致转pdf时字体失效?或者是和机器有关?
我的文件
DOCX文档.docx (10.0 KB)
@humanhuman, 如果您的字体被替换为运行以下代码的另一种字体,您可以在 Linux 上进行检查:
Document doc = new Document("DOCX文档.docx ");
doc.setWarningCallback(new FontSubstitutionWarningCollector());
doc.save("DOCX文档.pdf");
private static class FontSubstitutionWarningCollector implements IWarningCallback {
public void warning(WarningInfo info) {
if (info.getWarningType() == WarningType.FONT_SUBSTITUTION)
System.out.println(info.getDescription());
}
}
如果字体被替换,则意味着 Aspose.Words 找不到它。 请参阅以下有关字体替换和如何指定字体位置的文档页面:
- https://docs.aspose.com/words/java/manipulate-and-substitute-truetype-fonts/#font-availability-and-substitution
- https://docs.aspose.com/words/java/install-truetype-fonts-on-linux/
- https://docs.aspose.com/words/java/specify-truetype-fonts-location/
如果问题仍然存在,请在 Windows 和 Linux 上转换 Word 文档并附上结果 PDF 文件。
字体上传到服务器后,名字会有乱码,但是我认为字体的匹配规则不是按照名字:image.png (13.9 KB)
这是文档中的其中一个字体,没有匹配成功,我们确定字体安装正常:
37 思源宋体简体-ExtraLight.zip (8.2 MB)
@humanhuman, Aspose.Words 在字体文件中查找字体名称,因此您可以为字体文件指定任何名称以避免乱码。 比如将思源宋体简体-ExtraLight.otf重命名为Siyuan-ExtraLight.otf,看看问题是否重现。
我使用的这种字体,在windows下是正常的,在linux下失效,我发现字体上传到linux后名字会乱码,字体的名字乱码是否会导致转pdf时字体失效?或者是和机器有关?
我的文件
请在 Windows 和 Linux 上将 Word 文档转换为 PDF。 请在此处附上两个 PDF 文件以供分析。