gpt4 book ai didi

java - 如何将现有的 XWPFParagraph 插入 org.apache.poi.xwpf.usermodel.XWPFDocument 的其他 XWPFParagraph 之间的特定位置?

转载 作者:行者123 更新时间:2023-11-30 07:11:15 28 4
gpt4 key购买 nike

最初我有一个 DOCX 模板文档。所以我得到org.apache.poi.xwpf.usermodel.XWPFDocument 出来,假设它有 5 个 XWPFParagraph,例如:

<w:document>
<w:body>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
</w:body>
</w:document>

然后我从另一个 DOCX 文件中获取一个 XWPFParagraph,我需要将其插入到初始文档的第二个和第三个 XWPFParagraph 之间。像这样:

<w:document>
<w:body>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> inserted Paragraph </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
<w:p> ... </w:p>
</w:body>
</w:document>

我该怎么做?

我可以说我尝试过的:- 我尝试使用insertNewParagraph()方法,但它看起来像是在创建新段落,但我需要插入从其他文档中获取的现有段落。

private void insertParagraphAfter(XWPFParagraph p1, XWPFParagraph p2) {
XWPFDocument doc = p1.getDocument();
XmlCursor cursor = p1.getCTP().newCursor();
XWPFParagraph newP = doc.insertNewParagraph(cursor);
newP = p2;
}

但它似乎不起作用。

最佳答案

找到解决方案

  1. 我可以将其插入到当前段落之前,而不是之后;
  2. 需要显式复制所有运行

enter image description here

关于java - 如何将现有的 XWPFParagraph 插入 org.apache.poi.xwpf.usermodel.XWPFDocument 的其他 XWPFParagraph 之间的特定位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39213900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com