使用 Java words.Document.save 将word转PDF文件时,内部的表格超出PDF页宽

使用com.aspose.words.Document 提供的 document.save(outputStream, SaveFormat.PDF);,word文档中表格是正常的,使用该API导出PDF后,表格右侧部分超出了页宽,无法显示。

8f3dc60f-8628-4276-bbd4-cfb1f40fc3f1.docx (33.9 KB)

bc4eb89a-37b6-4f95-84b4-5530fd90ca34.pdf (137.4 KB)

aspose版本 aspose-words-20.6-jdk17

感谢您向我们报告此问题。 它已作为 WORDSNET-24974 记录在我们的缺陷数据库中。 问题解决后,您将在此线程中收到通知。

@qiyang318 该问题已通过最近的 WORDSNET-25937 集成得到解决。 该修复将包含在 Aspose.Words 的下一个 23.12 版本中。 一旦发布,我们将另行通知您。

请注意,文档中某些表格中的文本启用了字距调整,并且您可能需要更改代码才能获得正确的布局。
字距调整是一项高级排版功能,Aspose.Words 通过 Aspose.Words.Shaping.HarfBuzz 包支持该功能。

<dependency>
	<groupId>com.aspose</groupId>
	<artifactId>aspose-words</artifactId>
	<version>23.9</version>
	<classifier>jdk17</classifier>
</dependency>
<dependency>
	<groupId>com.aspose</groupId>
	<artifactId>aspose-words</artifactId>
	<version>23.9</version>
	<classifier>shaping-harfbuzz-plugin</classifier>
</dependency>

您应该安装上面的包并修改代码,如下所示:

Document doc = new Document("C:\\Temp\\in.docx");
// Configure shaping in order to support font kerning. 
doc.getLayoutOptions().setTextShaperFactory(com.aspose.words.shaping.harfbuzz.HarfBuzzTextShaperFactory.getInstance());
...

请参阅文档中有关高级排版功能的更多信息:
https://docs.aspose.com/words/java/enable-opentype-features/

The issues you have found earlier (filed as WORDSNET-24974) have been fixed in this Aspose.Words for Java 23.12 update.