Java 如何使用ApachePOI突出显示docx文档段落中的子字符串?

Java 如何使用ApachePOI突出显示docx文档段落中的子字符串?,java,apache-poi,docx,Java,Apache Poi,Docx,我正在开发一个web应用程序,它允许比较2个docx文档。我想强调两个文档中相似的位置。我使用ApachePOI处理docx文件。此外,为了突出显示,我可以在文本运行中设置一些属性。然而,这种方法只适用于文本运行单元。那么,有没有办法在任意位置突出显示(例如:粗体,设置颜色…)给定段落中的子字符串?我认为文件格式要求CharecterRun中的所有内容共享相同的格式。您是否尝试过添加一个新的字符以覆盖要突出显示的文本,然后设置其样式?如何在不创建类似文档的新段落的情况下,将字符从一个字符添加到段

我正在开发一个web应用程序,它允许比较2个docx文档。我想强调两个文档中相似的位置。我使用ApachePOI处理docx文件。此外,为了突出显示,我可以在文本运行中设置一些属性。然而,这种方法只适用于文本运行单元。那么,有没有办法在任意位置突出显示(例如:粗体,设置颜色…)给定段落中的子字符串?

我认为文件格式要求CharecterRun中的所有内容共享相同的格式。您是否尝试过添加一个新的字符以覆盖要突出显示的文本,然后设置其样式?如何在不创建类似文档的新段落的情况下,将字符从一个字符添加到段落中的另一个字符。new段落();段落。NeWrun.()您需要为段落的字符运行列表操作,在中间插入一个新的列表,从周围的文本中删除文本,将其添加到新的文本中,然后将其添加到样式中。我想这应该行得通。。。试试看,回来汇报@Gagravarr是正确的。这就是文件格式的工作原理,因此您可以使用POI或docx4j来实现它。有些库可能会提供更高级别的API来完成此操作。请参阅我在此处给出的答案,希望它能有所帮助: