你可能做不到。作为 Pandoc 文档warns:
因为 pandoc 对文档的中间表示较少
比它转换的许多格式更具表现力,应该
不要期望每种格式之间的完美转换。
Pandoc 试图保留文档的结构元素,但是
不格式化细节,如边距大小。还有一些文件
复杂的表格等元素可能不适合 pandoc 的简单
文档模型。而从 pandoc 的 Markdown 转换为 all
格式追求完美,格式转换更具表现力
比 pandoc 的 Markdown 可以预期是有损的。
HTML 肯定比 Markdown 更具表现力。因此,Pandoc 不保证会保留 HTML 源代码。也就是说,一个简单的列表可以用 Markdown 来表达就好了,所以人们会认为这不会是有损的。
但是,表格使事情变得复杂。 Pandoc 实际上支持四种不同的表格格式。但是,这些格式中只有两种(multi-line 和grid 表格)支持包含块级元素的单元格。
但是,您似乎在使用pipe_tables,它不支持表格单元格中的块级元素。正如文档所述:
管道表的单元格不能包含段落和列表等块元素,并且不能跨越多行。
虽然 Pandoc 的markdown 格式支持所有上述扩展(表格格式),但gfm 格式仅支持pipe_tables(请参阅Markdown Variants)。因此,您可以考虑改用markdown 格式。但是,只有在您的表格实际使用正确的网格或多行表格语法时,这才会有所帮助。
不幸的是,只有 Pandoc 支持网格和多行表。我不知道有任何其他支持它们的 Markdown 实现。因此,您无法在 Pandoc 和其他实现中解析具有块级元素的表。
那么,为什么您正在使用的其他实现与表格单元格中的原始 HTML 列表一起工作得很好?大概解析器不是很聪明,并且盲目地通过未更改的原始 HTML。任何试图理解原始 HTML 的更复杂的解析器都不适合你。当然,如果您想将文档转换为另一种(不是 HTML)格式,那么解析器需要理解原始 HTML。
也许您可以找到一些随机解析器来满足您的需求,但这不太可能。更好的解决方案可能是获取其他 Markdown 工具的 HTML 输出并使用 Pandoc(或其他工具)将其转换为 docx/pdf。