doc转PDF,页脚内容格式异常

版本:23.8
编程语言:java

问题截图:

源文件:
附件印章管理制度(修订稿).zip (49.4 KB)

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

  • 方正小标宋简体

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

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

这是 方正小标宋简体的字体文件:
FZXBSJW.zip (2.1 MB)

@ZhonghaoSun
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): WORDSNET-26964

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.

你好,是否有临时方案可以解决呢,比如调整文件内容。

@ZhonghaoSun 作为临时解决方法,您可以将页码样式更改为阿拉伯语,然后将页码包围在破折号中。 例如看下面的代码:

Document doc = new Document("C:\\Temp\\in.doc");
Run leftDash = new Run(doc, "— ");
Run rightSash = new Run(doc, " —");
for (Section s : doc.getSections())
{
    if (s.getPageSetup().getPageNumberStyle() == NumberStyle.NUMBER_IN_DASH)
    {
        s.getPageSetup().setPageNumberStyle(NumberStyle.ARABIC);
        for (Field f : s.getRange().getFields())
        {
            if (f.getType() == FieldType.FIELD_PAGE)
            {
                f.getStart().getParentNode().insertBefore(leftDash.deepClone(true), f.getStart());
                f.getEnd().getParentNode().insertAfter(rightSash.deepClone(true), f.getEnd());
            }
        }
    }
}
doc.save("C:\\Temp\\out.pdf");