一页的word文档,通过aspose转换,变成两页的pdf文档。
使用的jar版本是words-24.3-jdk17
初步判断是文档中间的“()”和“《》”两个符号占用的空间变多导致的。
原始文档:
正文.docx (20.2 KB)
在使用Aspose将Word文档转换为PDF时,如果发现页数增加,可能是由于文档中某些符号(如“()”和“《》”)占用的空间变大所致。这种情况通常与文档的格式和内容有关,特别是当涉及到复杂的文本布局时。
要解决这个问题,您可以尝试以下几种方法:
-
检查文档格式:确保Word文档的格式设置正确,特别是段落和字符间距。过大的间距可能会导致PDF输出时内容分布不均。
-
使用PdfSaveOptions:在转换时,可以使用
PdfSaveOptions
类来调整PDF的输出设置。例如,您可以设置TextCompression
属性来优化文本的存储,或者调整EmbedFullFonts
属性以控制字体的嵌入方式。 -
调整页面设置:在Word文档中,检查页面设置(如边距和纸张大小),确保它们适合PDF格式。过大的边距可能会导致内容在转换时被推到下一页。
-
使用不同的PDF标准:Aspose支持将文档转换为不同的PDF标准(如PDF 1.7)。您可以尝试使用不同的标准来查看是否能改善输出效果。
以下是一个简单的代码示例,展示如何使用PdfSaveOptions
进行转换:
Document doc = new Document("input.docx");
PdfSaveOptions options = new PdfSaveOptions();
options.setTextCompression(PdfTextCompression.FLATE); // 使用FLATE压缩
doc.save("output.pdf", options);
通过这些方法,您可以更好地控制Word到PDF的转换过程,减少页数增加的问题。如果问题仍然存在,建议检查文档的具体内容和格式设置,或者尝试简化文档内容以查看是否有改善。
如需更多信息,请参考Aspose的官方文档,了解如何使用PdfSaveOptions
和其他相关功能。
问题依旧,客户文档无法更改
@serendipity.zhq 出现该问题很可能是因为文档中使用的字体在处理文档的环境中不可用。 如果 Aspose.Words 找不到文档中使用的字体,则字体被替换。 由于字体规格的差异,这可能会导致布局差异,并导致页面检测不正确。 您可以实现 IWarningCallback 以在执行字体替换时收到通知。
以下文章可能对您有用:
https://docs.aspose.com/words/java/specify-truetype-fonts-location/
https://docs.aspose.com/words/java/install-truetype-fonts-on-linux/
另外,请在此处附上有问题的输入和输出文档以供测试。我们将检查问题并为您提供更多信息。
@serendipity.zhq 使用 IWarningCallback,我得到了以下信息:
Font '方正小标宋简体' has not been found. Using 'Courier New' font instead. Reason: font info substitution.
Font '仿宋_GB2312' has not been found. Using 'FangSong' font instead. Reason: table substitution.
安装此字体后,我的 MS Word 显示效果与所提供的 PDF 文件相同。
您还可以在 MS Word 中检查遗漏的字体:
你应该误解了我的意思,我提供的pdf是错误的示例文件,原始word文档只有一页,但是转换出来的pdf文件有两页,而且有问题的并不是标题栏的符号,是正文里面第四排文字的符号。
原始word文档:
正文.docx (20.2 KB)
错误的pdf文档(aspose):
test1.pdf (26.2 KB)
期望的正确格式的pdf文档(wps):
正文.pdf (50.0 KB)
@serendipity.zhq 感谢您报告此问题。 我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:
Issue ID(s): WORDSNET-27874
如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务 。
已经过去比较长时间了,请问这个问题有进展吗