Java 如果没有任何形式的GUI,应该使用哪一组类来表示内存中的格式化文本?

Java 如果没有任何形式的GUI,应该使用哪一组类来表示内存中的格式化文本?,java,Java,我正在编写一个应用程序,它读取docx文件。看来我可能需要阅读文本的格式,而不仅仅是内容。我在谷歌上搜索过这件事,但找到了一个搜索词,找到了我要找的东西,大多数搜索词都指向我使用格式化文本输入等 有人知道我应该使用什么类吗?Apache poi应该允许您(至少部分)访问Excel样式,例如颜色、字体等。我不确定是否存在异国情调,但当然可以获取单元格字体颜色。以下代码适用于我: XSSFCell cell = ... if (IndexedColors.WHITE.getIndex() == ce

我正在编写一个应用程序,它读取docx文件。看来我可能需要阅读文本的格式,而不仅仅是内容。我在谷歌上搜索过这件事,但找到了一个搜索词,找到了我要找的东西,大多数搜索词都指向我使用格式化文本输入等


有人知道我应该使用什么类吗?

Apache poi应该允许您(至少部分)访问Excel样式,例如颜色、字体等。我不确定是否存在异国情调,但当然可以获取单元格字体颜色。以下代码适用于我:

XSSFCell cell = ...
if (IndexedColors.WHITE.getIndex() == cell.getCellStyle().getFont().getColor()) {
  ...
}

这就是你要找的吗?这似乎意味着XML和ZIP的组合应该能够表示.DOCX文件的内容。如果是这种情况,只需使用类似XML的结构,它将存储内容和格式。Java中有大量可用的XML库。我没有仔细研究过.DOCX格式,但是如果它基本上是XML,那么您应该能够通过其中一个库直接读取文档。还有这个和这个,它提供的资源似乎包括实际的读取.DOCX格式的库。我在读取文件时没有问题。它只是一个包含xml的zip文件。我需要的是一个在内存中表示格式化文本(斜体、粗体、仅下划线)的库,而不是作为某种输入窗格的一部分。