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

Thu Oct 06, 2022 3:44 am

我是这么设置颜色的,但是没有生效(如果直接在latex使用\color设置,也不会生效成红色)。并且公式的段落,默认是两端对齐,如何设置成左对齐呢?
Code: Select all
        TextSelection textSelection = doc.findAllString(pattern, false, false)[0];
        OfficeMath officeMath = new OfficeMath(doc);
        officeMath.fromLatexMathCode(latex);
        CharacterFormat characterFormat= new CharacterFormat();
        characterFormat.setTextColor(Color.RED);
        characterFormat.setFontSize(50f);
        officeMath.applyCharacterFormat(characterFormat);
       
        TextRange range = textSelection.getAsOneRange();

        int index = range.getOwnerParagraph().getChildObjects().indexOf(range);
        range.getOwnerParagraph().getChildObjects().insert(index, officeMath);
        range.getOwnerParagraph().getChildObjects().remove(range);

winrh233
 
Posts: 1
Joined: Thu Oct 06, 2022 3:40 am

Thu Oct 06, 2022 6:18 am

您好,

感谢您的咨询。
1.根据您的代码,我测试了设置数学公式的字体颜色和大小,结果文件中这些设置确实不生效。我已将此问题提交给我们的研发团队了,问题编号为SPIREDOC-8542,他们会调查修复的。一旦有任何消息,我会及时告知您的。抱歉给您带来不便。
2.设置数学公式所在段落的对其方式不生效这个问题是一个已知问题,问题编号为SPIREDOC-6020。这个问题一旦修复,我们会立即通知您的。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Tue May 09, 2023 2:49 am

您好,

感谢您的耐心等待。
关于您之前提到的设置数学公式所在段落的对其方式不生效这个问题,经过测试发现使用下面的代码能实现居左对齐。请参考下面的代码。
Code: Select all
        Paragraph paragraph = section.addParagraph();
        paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        String content = " \\sum\\limits_{k=1}^N k^2 ";
        OfficeMath officeMath = new OfficeMath(doc);
        officeMath.fromLatexMathCode(content);
        CharacterFormat format = officeMath.getCharacterFormat();
        paragraph.getItems().add(officeMath);
        //添加公式之后追加一个空格,以便段落居左对齐设置生效
        paragraph.appendText(" ");

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Return to 中文技术支持