同一行有DFKail-SB 和Times new roman字体时,特定情况下,下1行的文字会转换到上1行。

我们使用aspose.word java 23.5生成PDF文件時,同一行有DFKail-SB 和Times new roman字体时,特定情况下,下1行的文字会转换到上1行。
示例代码:

public static void main(String[] args) throws Exception {
    byte[] oficioWordFile = Files.readAllBytes(Paths.get("C:\\Users\\Lenovo\\Desktop\\pdf\\test.docx"));
    ByteArrayInputStream inputStream = new ByteArrayInputStream(oficioWordFile);
    Document oficioWordDocument = new Document(inputStream);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfSaveOptions options = new PdfSaveOptions();
    options.setSaveFormat(SaveFormat.PDF);
    oficioWordDocument.save(baos, options);
    baos.close();
    FileCopyUtils.copy(baos.toByteArray(), Paths.get("C:\\Users\\Lenovo\\Desktop\\pdf\\text.pdf").toFile() );
}



轉換前:模板 _通用.docx (41.9 KB)

轉換後模板 _通用.pdf (99.7 KB)

@SalesDhorde 我无法使用最新的 24.7 版 Aspose.Words for Java 在我这边重现该问题。这是我这边产生的输出:
out.pdf (106.8 KB)

您的文档中使用的以下字体在我这边不可用:

  • 華康新特明體

您可以将其附在此处进行测试吗?

出现该问题很可能是因为文档中使用的字体在处理文档的环境中不可用。 如果 Aspose.Words 找不到文档中使用的字体,则字体被替换。 由于字体规格的差异,这可能会导致布局差异,并导致页面检测不正确。 您可以实现 IWarningCallback 以在执行字体替换时收到通知。
以下文章可能对您有用:
https://docs.aspose.com/words/java/specify-truetype-fonts-location/
https://docs.aspose.com/words/java/install-truetype-fonts-on-linux/