docx转化PDF后,标题换行了

docx转换PDF后,标题行换行了,但是在word中直接导出不会出现这个情况。

new.docx (11.1 KB)

@29095090

您遇到将 docx 转换为 PDF 时标题出现换行的问题。

目前我们尚未在内部复现此现象,需进一步确认。为帮助我们定位并记录该问题,请提供以下信息:

  • 您使用的 Aspose.Words for Java 版本号。
  • 能够触发该换行的最小代码示例(包括加载 .docx、调用 save 转换为 PDF 的 API 以及任何 SaveOptions)。
  • 标题在 Word 中的样式(例如 Heading 1、Heading 2),以及是否存在手动换行或特殊段落属性。

有了这些细节后,我们可以在此线程中继续跟进并尝试复现问题。谢谢!

现象看图片,转换后的文件是
new.pdf (8.3 KB)

aspose.word for java 22.1会出现这个情况,最新版26.1也有这个情况;
最小代码:

private static void convertPdf() {
    String inputFile = "C:\\Users\\Admin\\Desktop\\new.docx";
    String outputFile = "C:\\Users\\Admin\\Desktop\\new.pdf";
    Document doc;
    try {
        doc = new Document(inputFile);
        doc.save(outputFile, SaveFormat.PDF);			
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

@29095090

您在使用 Aspose.Words for Java(22.1 与 26.1)将 DOCX 转 PDF 时,标题在 PDF 中出现了意外换行。我们目前尚未在内部复现此现象,需要更多细节才能定位根本原因【1】。

请您提供以下信息(并在可能的情况下上传原始 .docx 文件):

  1. 标题使用的样式(如 Heading 1、Heading 2 等),以及该样式的段落属性(行距、段前/段后、是否勾选 “保持在同一页”等)【1】。
  2. 标题文本中是否包含手动换行符(Shift + Enter)或特殊字符。
  3. 文档中是否使用了自定义的段落格式或在段落上直接设置了属性(例如 ParagraphFormat.setKeepTogether(true))。
  4. 如可能,请提供一个最小可复现的 .docx (约 1‑2 页),以及对应的 PDF(出现换行的文件)。

可尝试的快速排查步骤(在确认上述信息后可执行):

Document doc = new Document("new.docx");

// 示例:确保标题段落保持在同一页
Style heading = doc.getStyles().getByStyleIdentifier(StyleIdentifier.HEADING_1);
heading.getParagraphFormat().setKeepTogether(true);

// 如有手动换行符,可在保存前删除
for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
    String txt = para.getText().replace("\r", "").replace("\n", " ");
    para.getRange().replace(para.getText(), txt);
}

// 更新布局后保存
doc.updatePageLayout();
doc.save("new.pdf", SaveFormat.PDF);

如果上述检查后仍出现换行,请将文档和 PDF 附件回复到本线程,我们将在此处继续跟进。谢谢!

问题依旧
new.docx (11.4 KB)

new.pdf (8.1 KB)

@29095090 您文档中使用的“方正小标宋简体”字体在我这边无法安装。能否请您将文档附件上传以便我们测试?我们会检查问题并提供更多信息。

方正小标宋简体.zip (1.8 MB)

@29095090
我们已在内部问题跟踪系统中创建了以下新工单,并将根据 免费支持政策 中提到的条款交付其修复。

问题 ID:WORDSNET-29057

如果您需要优先支持并直接联系付费支持管理团队,可以使用 付费支持服务