文章目录

  • ⛳️ 实战场景
  • ⛳️ Python PDF 实战编码

⛳️ 实战场景

Python 工程师在日常的工作中,经常会碰到解析和处理PDF文件的情况,实战中需求主要分为如下情况:

  1. 提取 PDF 中的文字
  2. 将 PDF 中每页转换为图片
  3. word 转换为PDF
  4. PDF生成,编辑,导入导出
  5. PDF在线渲染

除了最后一项需要前端配合以外,其余内容都可以直接在 python 端进行实现。

本次实战选择 pdfplumber 库进行学习,可以提前安装该库,不过有一点需要注意,该库主要用于读取 PDF 进行操作,写入和编辑无法实现,即本文学习一款专注于 PDF 内容提取的库。

> pip install pdfplumber -i https://pypi.tuna.tsinghua.edu.cn/simple

pdfplumber 库具备如下特点:

  • 可以访问PDF对象中的任意元素详细信息;
  • 可以提取文本和表格,而且用法简单;
  • 集成了可视化调试。

⛳️ Python PDF 实战编码

下面可以编写 PDF 操作的基础代码。

import pdfplumberwith pdfplumber.open('./dddd.pdf') as pdf:for page in pdf.pages:print(page.extract_text())# 每页打印一分页分隔print('---------- 分页分隔 ----------')

导入 pdfplumber 模块之后,使用 pdfplumber.open('./dddd.pdf') 打开本地 pdf 文件,然后通过 pdf.pages 遍历所有页,在通过页对象.extract_text() 方法,提取文本信息。

pdfplumber.open() 方法的签名如下所示:

pdfplumber.open("文件名", password = "密码", laparams = { "line_overlap": 0.7 })

其中各参数描述如下:

  • file_name:文件名,必选参数;
  • password:PDF的密码;
  • laparams:布局参数。

除此之外,如果希望读取 PDF,还可以使用 load() 方法,该方法也会返回 pdfplumber.PDF 类的实例。

pdfplumber.PDF 对象实例,主要有两个重要属性:

  • .metadata:从PDF的Info中获取元数据键 /值对字典。 通常包括“ CreationDate”,“ ModDate”,“ Producer”等;
  • .pages:包含 pdfplumber.Page 实例的列表,每一个实例代表PDF每一页的信息。

上文提及的 pdfplumber.Page 实例是 pdfplumber 的核心,后续对 PDF 的操作大量围绕该类的属性和方法实施,其重要属性如下所示:

  • page_number:页码顺序,第一页的序号是 1;
  • witdh:宽度;
  • height:高度;
  • .objects/.chars/.lines/.rects/.curves/.figures/.images:获取PDF页中的重要数据。

核心方法如下所示:

  • extract_text():提取页中的文本;
  • extract_words():提取所有单词及其相关信息;
  • extract_tables(): 提取页面的表格。

extract_text() 呈现结果

extract_words() 呈现结果

extract_tables() 呈现效果,由于 PDF 中无表格,所有每页得到的都是空!

这篇文章教会我用 Python 读取 PDF 文件【收藏即会】相关推荐

  1. 【word2vec】python读取pdf文件,通过词向量寻找相关词语

    1. 什么是Word2vec 对于自然语音处理而言,首先要做的就是将文字转换为计算机能看懂的数字,也就是说,将词语进行数字化. (1)one-hot编码,比较常用的一种编码方式,又叫独热编码. 对于一 ...

  2. 使用Python读取pdf文件

    学习python,不用再为pdf无法转换而烦恼~~~ 下面我们介绍python读取pdf文件(主要是针对文字部分) 1.打开环境 2.安装pdfminer3k包 可以使用jupyter noteboo ...

  3. python读取pdf文件

    使用python读取pdf文件的内容 读取第1页的内容: import PyPDF2 pdfFileObj = open('a.pdf', 'rb') pdfReader = PyPDF2.PdfFi ...

  4. python读取pdf文件_深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  5. python读取PDF文件中跨页表格思路分享

    目录 背景 背景知识 实现思路 1.判断当前页面是否以表格结尾 2.判断下一页面是否以表格开头 3.注意事项 参考 背景 最近需要读取PDF文件中的表格,遇到的一个难点之一是如何识别并合并PDF中跨页 ...

  6. python读取pdf文件_python读取pdf文件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.安装pdfminer3k模块?二. 读取pdf文件import sysimp ...

  7. 【python PDF解析】python 读取PDF文件内容

    一.问题描述 利用python,去读取pdf文本内容. 二.效果 三.运行环境 python2.7 四.需要安装的库 pip install pdfminer 五.实现源代码 代码1(win64) # ...

  8. python 读取pdf cid_记一次为解决Python读取PDF文件的Shell操作

    一.背景 本想将 PDF 文件转换为 Word 文档,然后网上搜索了一下发现有挺多转换的软件.有的是免费的.收费,咱也不知哪个好使,还得一个个安装试用.先不说能不解决问题,就这安装试用想想就脑壳疼.便 ...

  9. python读取pdf文件 pdfplumber_Python pdfprumber用于PDF表提取,pythonpdfplumber,表格

    import pdfplumber import pandas as pd import xlwt def toEcel(): workbook = xlwt.Workbook() # 定义workb ...

最新文章

  1. 知识图谱学习笔记(1)
  2. 将字符型的数字转化为整型
  3. MongoDB导出csv格式数据
  4. a标签中href=javacript:; href=javacript:void(0); href=#区别
  5. PHP中用于精确计算的bcmath扩展
  6. 从零开始学ios开发(十):Multiview Applications(多个xib之前的切换)
  7. Golang 性能优化实战
  8. ubuntu建立向windows一样的快捷方式
  9. html5怎样实现信息抓取,HTML5获取定位简单方案
  10. 生物效应大数据评估聚类算法的并行优化
  11. 手把手带你手写SpringMVC,剑指优秀开源框架灵魂
  12. 信息学奥赛一本通 1919:【02NOIP普及组】选数 | 洛谷 P1036 [NOIP2002 普及组] 选数
  13. leetcode162. Find Peak Element
  14. 数据库主体在该数据库中拥有架构,无法删除解决方法(转)
  15. 怎么在服务器上运行sql文件,数据库执行sql文件
  16. Word VBA:批量删除多个分段页面
  17. 华为2019年3月软件开发工程师机考题解答 C++实现
  18. 浅析Java的线程和Golang的协程
  19. 从 0 搭建 Vite 3 + Vue 3 前端工程化项目
  20. ZZUOJ 公主与骑士 (BFS)

热门文章

  1. 大学生计算机专业应聘简历,大学生计算机专业应聘简历模板
  2. 操作系统实验四——使用命名管道实现进程通信
  3. 南昌大学计算机与信息调剂,南昌大学计算机应用技术调剂生复试经验
  4. 分区软件如何将动态盘转换成基本盘?
  5. python实现一个简单的猜数游戏
  6. 使用log4j2对日志脱敏
  7. Word实现大写字母和小写字母批量的转换
  8. a标签的tagart属性
  9. synopsys工具安装系列(三)- 安装verdi工具
  10. 1.python实现二进制补码求原码