Free Support Forum - aspose.com

使用aspose.pdf转html文档为pdf文档时中文字体问题

开发环境如下:
操作系统win10 ;java平台版本1.8.0_65;aspos.pdf for java 版本11.8.0

现在有一个测试文档c:/test/aaa.html内容如下:
中文测试aaabbb

中文测试aaabbb

(html中两个span的文本内容是一样的,但是字体样式font-family不一样。)

java程序代码:
com.aspose.pdf.Document doc = new com.aspose.pdf.Document("d:/test/aaa.html");
doc.save("d:/test/aaa.pdf", com.aspose.pdf.SaveFormat.Pdf);


问题:
html生成的pdf文档里,好像font-family如果指定是中文字体例如 楷体 黑体 宋体 等等是没有作用的。
但是我c:/windows/fonts目录下确定是含有这些字体的。请问这是什么问题?该如何解决?

你好,

感谢您联系支持。

我使用Aspose.Pdf for Java 17.5在Eclipse Juno项目中使用JDK 1.8测试了HTML文件的海洋PDF转换,根据我的意见,中文文本出现在结果PDF中。 然而,中文文本后的英文文本出现在TimesNewRoman中。 你可以分享一下你正在面对的问题的进一步细节,以便我们进一步研究这个问题。

为了您的参考,我还附上了我的结尾生成的输出PDF。

很抱歉给您带来不便。

[Java]
// load HTML file

com.aspose.pdf.Document doc = new com.aspose.pdf.Document ("c:/pdftest/Input.html", new com.aspose.pdf.HtmlLoadOptions());

// save PDF file

doc.save ("c:/pdftest/Input.pdf", com.aspose.pdf.SaveFormat.Pdf);

中文显示是没有问题的,我说的是如果指定了font-family为中文的黑体 宋体 楷体之类的css属性,显示的结果没有变,都是一样的,font-family属性并没有起作用。您可以在测试的例子里更换不同的font-family属性试试(中文的字体常见的有 黑体 宋体 楷体)。

嗨,

感谢您分享细节。

根据我从上述描述的理解,如果我们定义文本格式如Bold / Itlic,则在将其呈现在PDF文档中时不会被中文文本所兑换。 但英文文本出现格式正确。 为了更正,我已经在我们的问题跟踪系统中将此问题记录为PDFJAVA-36827。 我们将进一步研究这个问题的细节,并将更新有关纠正的情况。 请耐心等待我们很少的时间。 很抱歉给您带来不便。

PS,如果我还没有正确的理解这个问题,或者你有任何进一步的查询,请随时联系。

[Html]

中文测试aaabbb


中文测试aaabbb