Aspose24.3版本解析word内容样式相关问题

我现在尝试解析word内容为结构化数据,但是遇到解析公式/标题等部分样式有问题,
第一个截图是原word标题


我尝试转html解析但是部分标题样式丢失

或许是否可以提供更好的解析方式?

@axxc
您能否将您的源代码和所有输入文档压缩并上传到这里以重现该问题?我们将检查该问题并为您提供更多信息。

@axxc
显然,问题在于 TOC 字段的一部分属于已删除的修订版。
请尝试在创建文档后添加对 revisions.rejectAll() 的调用。

Document doc = new Document(string);
RevisionCollection revisions = doc.getRevisions();
revisions.rejectAll();
...

好的谢谢,那我将尝试使用这种,请问有更好的方式获取类似公式,角标这种方式吗,转html解析是我其中的一种尝试

image.png (6.3 KB)

RevisionCollection revisions = doc.getRevisions();
revisions.rejectAll();
尝试调用后word部分转html还是没有出现在toc中?

image.png (52.4 KB)

像这种表格数据,我该如何做更好解析?

@axxc
您的截图和您发送的文档的 TOC 字段完全不同。按照建议的代码,我没有发现在发送的文档中转换 TOC 有什么问题。从截图中找出答案会非常困难。
至于表格,我也没有发现在转换为 Html 时有什么问题。请解释一下具体哪些地方不适合你。

你好,
1 按照你提供的代码片段,截图中的标题在html并没有显示toc的属性,导致我尝试用带有toc的属性值解析不到,你可以从zip中提到的html中看到
2 至于表格是因为表头合并了,我的疑问是不在html中时是否有更好解析方式

换言之,使用您提供的代码转为html后还是没达到我解析二级,三级标题内容的目的

请注意屏幕截图,两个目录链接都有锚点。

要使用合并单元格,请参阅 Merge Table Cells

部分有是对的,但是有部分在word中是标题,但是在html还是没有,我的疑问在这里

例如 C-1.2.1方法2A 他是标题,我期望能在html中解析到

@axxc
C-1.2.1方法2A 是一个常规段落,其Para.OutlineLevel == Level3

要使其成为Title,您需要更改其样式:

为确保可以在输出的Html文档中观察到这些属性,请添加适当的导出选项。

...
saveOptions.setPrettyFormat(true);
saveOptions.setCssStyleSheetType(CssStyleSheetType.EMBEDDED); \\ <----------  this option
saveOptions.setExportTocPageNumbers(true);
...

谢谢你提供的帮助,我将再尝试一次. 该代码片段我可以加,但是这些模板我无法再操作,届时客户上传由程序解析,其中我描述的 C-1.2.1方法2A,是我本地打开在导航栏中左侧视图看多显示的,这种情况我该如何解析为正确?

@axxc
您可以尝试我在上一篇文章中建议的解决方案。选项 CssStyleSheetType.EMBEDDED。在这种情况下,OutlineLevel 将显示在 HTML 标记中的往返信息中。


不幸的是,DOCX 和 HTML 是截然不同的格式,HTML 中没有与 OutlineLevel 直接类似的内容。