我正在编写一个用于导入 docx、pdf 和 odt 文件的导入/导出工具;其中写了一本书。
我们已经有了 .epub 格式的工具,并且我们希望将功能扩展到此之外,以便网站的用户可以拥有更大的灵活性。
到目前为止,我查看了PDFMiner,还发现 docx 只是基于openxml格式,所以 word/document.xml 本质上是包含整个内容的文件,我可以用 lxml 解析它。
我的问题是:我希望解析这些文件的内容,并从该内容中提取章节名称、图像(如果有)和章节文本等内容,以便将内容放入数据模型中的:
Book --> o2m --> Chapter --> o2m --> Image
显然,PDFMiner 有一个 .get_outlines() 函数,它将为我返回 TOC。但它不能将任何返回的元组(章节编号和标题)链接到该章节的实际页面。
更成问题的是 docx/odt;这些只是段落 -- <\w:sdt> -- 元素,带有 attrs 和子元素。
我正在寻找从这些文件类型中推断出一些结构感的想法,如果需要,我可以将这些想法(2 或 3)应用为我们希望通过其中一个导入书籍的用户的建议格式文件格式。