【翻译】基于python-docx实现的解析docx文件,顺序保存文字、表格、图片

【翻译】基于python-docx实现的解析docx文件,顺序保存文字,表格,图片 前些天由于程序的需要,要从docx文档中,按文档的顺序获取文字,图片,表格信息,按自己想要的排版方式

本文包含相关资料包-----> 点击直达获取<-------

【翻译】基于python-docx实现的解析docx文件,顺序保存文字、表格、图片

前些天由于程序的需要,要从docx文档中,按文档的顺序获取文字、图片、表格信息,按自己想要的排版方式,转换成markdown格式。但是,卡在了按顺序获取文字、图片、表格上。查找了很多资料,很多都是介绍怎么使用python-docx添加文字、图片、表格的。后来经过多方查找,终于找到一份国外的源码(源码地址附在文后),已经实现了按顺序获取文字、图片、表格的功能。为了节省大家搜索时间,所以把他的英文文档翻译成中文,方便大家查阅。原文翻译如下:

python-docx是用于创建和处理Microsoft Word(.docx)文件的Python库。Python-docx包无法按文档顺序完全读取段落,表格和图像。按照文档顺序,它只能一次获取所有段落,或者一次获取所有表格,或者一次获取所有图像。在这里,我提供了一种方法,可以将docx文件中的段落、表格和图像按文档顺序读取到python的数据框中。

该代码位于“Para_table_image_extraction.py”的文件内。在以任何docx文件作为输入运行此代码时,此代码将生成3个数据帧,即“combined_df”、“table_list”和“image_df”:

  • docx文件的所有内容(包括段落,表和图像)都按顺序存储在名为“combined_df”的python数据帧中

  • 如果在文档的段落之后出现图像,则对该图像的引用将存储在“combined_df”数据框中,而不是实际图像。您将必须从“combined_df”引用图像索引,并从名为“image_df”的单独数据帧中检索图像数据,该数据帧存储image_index和每个图像的相应base64编码图像数据

  • 类似地,如果在文档中遇到表,则将填充“combined_df”数据框中的“table_id”列。而且,您将不得不从“table_list”中检索与“ table_id”相关的对应表

下图是示例 word 文档(docx):

下图是根据上述docx文件生成的“combined_df”数据帧:

在上述数据帧中:

  • para_text :表示文档的实际段落内容(每一行代表文档中的每个段落)

  • table_id :表示表格的表ID(如果在该文档的该位置存在表)。如果没有表格,则其值表示为“ Novalue”

  • style :代表相应段落的段落样式

注意,图像和表格不会这样存储在combined_df数据框中。对这些对象的引用仅存储在combined_df中。这意味着对于在Combined_df中存在的每个图像ID或表格ID,您将必须从combined_df中检索图像ID或表格ID,并从image_df和table_list中根据这些ID来获取图像数据或表格数据。

图像文件以以下符号表示:

combined_df中的 Document_Imagefile/image1.png/rId7/0

这表示该引用实际上是一个图像文件,其中“image1.png”作为图像名称,“rId7”作为图像的唯一ID或标识符,“0”图片索引将在image_df中引用。

表格对象表示为“ ”,它表示在该位置存在一个带有相应table_id的表。您可以在“table_list”索引中根据table_id来获取获取表格数据。table_list包含所有表格的信息。

我还没有包含使用来自combined_df的唯一标识符从image_df和table_list提取图像和表格的代码。我之所以没有这样做,是因为用例可能因情况而异。您可以用自己的方式提取它们,然后执行您希望执行的任何后续操作。

原文链接 Python-docx-Reading-paragraphs-tables-and-images-in-document-order

参考文献

  • 电子设计文件审查系统的设计与实现(西安电子科技大学·郭晓倩)
  • Linux环境下基于Web的图档管理系统的开发(山东科技大学·刘治国)
  • Linux环境下基于Web的图档管理系统的开发(山东科技大学·刘治国)
  • 企业数字档案馆系统设计与实现(中山大学·陈志钧)
  • 基于Lucene的中英文文档全文搜索引擎(电子科技大学·张瑞)
  • 基于Lucene的企业搜索引擎系统研究与实现(重庆理工大学·朱崇来)
  • 办公文档管理系统设计与实现(电子科技大学·潘攀)
  • 支持全文检索的互联网文档管理系统的设计与实现(电子科技大学·陈淼)
  • 文本综合处理平台的研究与实现(济南大学·王孟孟)
  • 文档分享平台的研究与实现(华南理工大学·陈文标)
  • 基于WEB高校资料信息系统的设计(中国海洋大学·夏斌)
  • 异构数据联合检索系统的设计与实现(东北大学·高巍)
  • 文本分析资源与任务管理系统的设计与实现(北京交通大学·宋奕文)
  • 文书工作与文书档案管理系统的设计与实现(电子科技大学·朱鸣)
  • 电子设计文件审查系统的设计与实现(西安电子科技大学·郭晓倩)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码客栈 ,原文地址:https://m.bishedaima.com/yuanma/35380.html

相关推荐

发表回复

登录后才能评论