使用 Apache POI 在指定位置插入 XSLFTetxRun

问题描述 投票:0回答:1

我目前正在使用 Apache POI 开发文档管理系统,其中我必须替换 XSLFParagraph 文本中的某些占位符。以前使用 XWPFParagraph,我能够在指定位置插入 XWPFRun,例如,

XWPFRun beforePlaceholderRun = paragraph.insertNewRun(start);

上面的代码插入运行在段落中的指定位置,即开始。我找不到任何在 XSLFTextParagraph 的指定位置插入 XSLFTextRun 的函数。例如,下面的代码在段落末尾插入 XSLFTextRun

XSLFTextRun placeholderRun = paragraph.addNewTextRun();

但我想要实现的是,当XSLFParagraph由多个XSLFTextRun组成时,在XSLFParagraph的指定位置插入XSLFTextRun。有人可以指导我如何实现这一目标吗?

java apache-poi docx apache-poi-4
1个回答
0
投票

我无法为您的问题提供准确的解决方案,但一些提示可能会帮助您(我有一个非常相似的问题)。

问题是您在屏幕截图中显示的元素类型。如果你说它既不是段落也不是表格,那么它可能是一个嵌入文件?在文档中有一个获取这些的方法:

getAllEmbeddedParts()

另外,请查看我在解决一个非常相似的问题时发现的这个存储库(也许您也发现一些对您的案例有帮助的东西):

https://github.com/deividasstr/docx-word-replacer

© www.soinside.com 2019 - 2024. All rights reserved.