一个工具,用于将PDF文本以及结构特征转换为熊猫数据帧。

PDFContentConverter的Python项目详细描述


PDF内容转换器是一个工具,用于将PDF文本和结构特征转换为pandas数据帧,用Python编写。 它检索有关文本内容、字体、位置、字符频率和周围的可视PDF元素的信息。在

如何

  • 传递要转换为PDFContentConverter的PDF文件的路径。在
  • 调用函数pdf2pandas()。然后,PDF内容作为pandas数据帧返回。在
  • PDF的媒体框可以使用get_media_boxes(),页面计数超过get_page_count(),文档文本使用pdf2text()。在
  • 使用convert()函数,pandas数据帧、文本文档内容、媒体框和页数将作为字典返回。在

示例调用:

converter = PDFContentConverter(pdf)

result = converter.pdf2pandas()

输出格式

包含转换后的PDF数据的输出存储为pandas dataframe。在

不同的PDF元素以行的形式存储。在

数据帧包含以下列:

  • id:PDF元素的唯一标识符
  • page:页码,从0开始
  • text:PDF元素的文本
  • x_0:左x坐标
  • x_1:右x坐标
  • y_0:上y坐标
  • y_1:底部y坐标
  • pos_x:中心x坐标
  • pos_y:中心y坐标
  • abs_pos:包含(pos_x,pos_y)坐标的独立于页面的表示的元组
  • original_font:pdfminer提取的字体
  • font_name:从original_font中提取的字体的名称
  • code:pdfminer提供的字体代码
  • bold:因子1表示文本为粗体,否则为0
  • italic:因子1表示文本为斜体,否则为0
  • font_size:以磅为单位的文本大小
  • masked:数字内容替换为#的文本
  • frequency_hist:文本中字符类型频率的直方图,存储为包含文本、数字、文本符号和其他符号百分比的元组
  • len_text:字符数
  • n_tokens:字数
  • tag:用于键-值对提取的标记,根据简单的启发式方法指示键或值
  • box:由pdfminer布局分析提取的框
  • in_element_ids:包含周围可视元素(如矩形或列表)的ID。它们以列表形式存储[左、右、上、下]。-1表示没有相邻的可视元素。在
  • in_element:根据in*element_id指示元素是否存储在可视矩形表示(存储为“矩形”)中(存储为“none”)。在

此外,还将返回一个包含以下条目的字典

可用于转换绝对CSV坐标:

  • x0:左x页裁剪框坐标
  • x1:右x页裁剪框坐标
  • y0:上y页裁剪框坐标
  • y1:下y页裁剪框坐标
  • x0page:左x页面坐标
  • x1page:右x页面坐标
  • y0page:上y页坐标
  • y1page:下y页坐标

当使用convert()时,两者都返回到字典中。在

数据帧存储为“内容”,页面特征存储为“媒体盒”,文本内容存储为“文本”,页数存储为“页数”。在

致谢

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像