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

Thu Nov 07, 2024 12:46 am

String htmlText = sqnrth;
//添加段落并写入HTML文本
Paragraph paragraph = new Paragraph(doc);

Section section = doc.getLastSection();
paragraph = section.addParagraph();
paragraph.appendText("1111");
paragraph.appendHTML(htmlText);
TextBodyPart table_bodyPart = new TextBodyPart(doc);
table_bodyPart.getBodyItems().add(paragraph);
bookmarksNavigator.moveToBookmark(sqmc); //使用表格替换原书签的内容
bookmarksNavigator.replaceBookmarkContent(table_bodyPart, true); //保存文档

Zj_281537327
 
Posts: 2
Joined: Thu Nov 07, 2024 12:42 am

Thu Nov 07, 2024 10:25 am

您好,

感谢留言。
请问您是用我们最新商业版12.11.0测试的吗?如果不是,建议用最新商业版测试,因为包含的修复更多。如果最新商业版也有这个问题,麻烦提供下您的测试文档供我们进一步调查测试,感谢您的协助!

Spire.PDF for Java: https://www.e-iceblue.cn/Downloads/Spire-Doc-JAVA.html

Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 377
Joined: Mon Nov 07, 2022 8:10 am

Thu Nov 07, 2024 2:59 pm

[quote="Doris.Liu"]您好,

感谢您的回复,我们早已按12.11.0测试。我只告知你方的程序有debug.Aspose.Words是正常,改不改随你

Zj_281537327
 
Posts: 2
Joined: Thu Nov 07, 2024 12:42 am

Fri Nov 08, 2024 7:25 am

你好,

非常感谢您告知我们bug存在,我这边已经复现,并将其记录到了我们的bug列表中,编号为SPIREDOC-10928。开发修复后,我们会及时向您反馈。

Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 377
Joined: Mon Nov 07, 2022 8:10 am

Fri Nov 15, 2024 9:02 am

你好,

经开发调查告知,在Word文档结构中,段落和表格是同级结构,段落不包含表格,因此使用table_bodyPart.getBodyItems().add(paragraph);加入段落的时候会导致将表格加在书签外。下面是开发调整后的代码,欢迎测试,如果还有问题,欢迎随时联系我们。

Code: Select all
        Document doc = new Document();
        doc.loadFromFile("书签测试.docx");
        String htmlText = "<table>\n" +
                "  <thead>\n" +
                "    <tr>\n" +
                "      <th>列标题1</th>\n" +
                "      <th>列标题2</th>\n" +
                "      <th>列标题3</th>\n" +
                "    </tr>\n" +
                "  </thead>\n" +
                "  <tbody>\n" +
                "    <tr>\n" +
                "      <td>行1,列1</td>\n" +
                "      <td>行1,列2</td>\n" +
                "      <td>行1,列3</td>\n" +
                "    </tr>\n" +
                "    <tr>\n" +
                "      <td>行2,列1</td>\n" +
                "      <td>行2,列2</td>\n" +
                "      <td>行2,列3</td>\n" +
                "    </tr>\n" +
                "  </tbody>\n" +
                "</table>";
//添加段落并写入HTML文本
        Paragraph paragraph;
       
        Section section = new Section(doc);
        paragraph = section.addParagraph();
        paragraph.appendText("1111");
        paragraph.appendHTML(htmlText);
        TextBodyPart table_bodyPart = new TextBodyPart(doc);
        for (int i =0;i<section.getBody().getChildObjects().getCount();i++){
            table_bodyPart.getBodyItems().add(section.getBody().getChildObjects().get(i).deepClone());
        }
        BookmarksNavigator navigator = new BookmarksNavigator(doc);


        navigator.moveToBookmark("SpireDoc"); //使用表格替换原书签的内容
        navigator.replaceBookmarkContent(table_bodyPart, true); //保存文档
        doc.saveToFile("书签测试_output.docx");


Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 377
Joined: Mon Nov 07, 2022 8:10 am

Return to 中文技术支持