为有中文需求的客户提供多渠道中文技术支持.

Sun Jun 25, 2023 10:56 am

我的一个word文档,使用Document对象加载,然后重新保存为word文档之后文本内容的间距出现变大,字体属性中,【高级】-【字符间距】-【缩放属性】由原来的100%变成了90%导致
如果同时把加载的word文档导出pdf格式是正常的。word使用了新细明体(PMingLiU)字体,作为繁体内容展示。

testDICJ02
 
Posts: 5
Joined: Thu Nov 03, 2022 3:42 am

Mon Jun 26, 2023 2:58 am

您好,

感谢您的咨询。
由于您没有提供您的测试编程语言。我使用Spire.Doc Pack(hot fix)版本: 11.6.1在.Net Framework4.8平台做了初步测试,复现了您提到的问题。为了方便我们的开发团队调查修复此问题,请务必告知我们您的编程语言和测试环境(如Windows10,64位)。提前感谢。

Sincerely
Wenly
E-iceblue support team
User avatar

Wenly.Zhang
 
Posts: 149
Joined: Tue May 16, 2023 2:19 am

Mon Jun 26, 2023 3:28 am

编程语言Java、发行版包括spire.doc.free-5.2.0.jar、spire.doc-11.3.0.jar,测试环境win11、Red Hat 9.3.1-2,都可以复现该问题。
这个有问题的word文档是客户通过工具自动生成。

testDICJ02
 
Posts: 5
Joined: Thu Nov 03, 2022 3:42 am

Mon Jun 26, 2023 5:35 am

您好,

感谢您提供信息。
根据您提供的信息,我使用Spire.Doc for Java的免费版和商业版测试都复现了您的问题。我已将这个问题提交给我们的开发软对进行调查修复,问题编号为SPIREDOC-9574。一旦此问题解决,我会及时告知你的。
另外,由于我们只定期维护商业版,所以此问题的修复只包含在商业版。由此造成的不便深感抱歉。

Sincerely
Wenly
E-iceblue support team
User avatar

Wenly.Zhang
 
Posts: 149
Joined: Tue May 16, 2023 2:19 am

Tue Jun 27, 2023 2:57 am

请问有什么接口可以修改文档的字体缩放属性吗?我需要判断字体的缩放是否为100%,如果不是的话,通过代码方式修改为100%

testDICJ02
 
Posts: 5
Joined: Thu Nov 03, 2022 3:42 am

Tue Jun 27, 2023 6:02 am

您好,

感谢您的咨询。
您可以使用下面的代码判断字体缩放是否为100%并进行修改:
Code: Select all
Document document=new Document();
        document.loadFromFile("F:\\test.docx");
        //遍历Section
        for(int i = 0; i < document.getSections().getCount();i++)
        {
            //获取section
            Section section = document.getSections().get(i);
            for(int i1=0;i1<section.getParagraphs().getCount();i1++)
            {
                Paragraph paragraph=section.getParagraphs().get(i1);
                for(int i2=0;i2<paragraph.getChildObjects().getCount();i2++)
                {
                    DocumentObject documentObject = paragraph.getChildObjects().get(i2);
                    TextRange range=(TextRange)documentObject;
                    // 获取字体缩放
                    double scale = range.getCharacterFormat().getTextScale();
                    System.out.println(scale);
                    if (scale != 100.0) {
                        // 如果字体缩放不是100%,则修改为100%
                        range.getCharacterFormat().setTextScale((short) 100);
                    }
                }
            }
        }

        document.saveToFile("F:\\Result.docx", FileFormat.Docx);

如有任何问题,请记得随时联系我们。

Sincerely
Wenly
E-iceblue support team
User avatar

Wenly.Zhang
 
Posts: 149
Joined: Tue May 16, 2023 2:19 am

Wed Aug 09, 2023 9:45 am

您好,

感谢您的耐心等待。
很高兴通知您我们刚刚发布了Spire.Doc for Java版本: 11.8.1,它包含了对问题SPIREDOC-9574的修复。请下载此版本并测试。

Sincerely,
Wenly
E-iceblue support team
User avatar

Wenly.Zhang
 
Posts: 149
Joined: Tue May 16, 2023 2:19 am

Return to 中文技术支持