在日常工作中,常常要把文档转格式,比如常见pdf转word,pdf转ppt等,如果数量少的话还好,可以直接去网上找网站解决,多了的话就比较麻烦了,因为很多网站都是限制一天只能转几个,再多就得冲vip。

那么用python脚本来说应该怎么办呢?办法非常简单,几行代码就可以搞定。

python有专门针对PDF,word,txt,ppt,excel 的包。

我们今天就试着把pdf分别转为这四种格式。

先来看怎么把pdf 转为txt,这里说一个前提,pdf是可以编辑的,如果是影印的可以先转为图片然后再文字识别。

首先你需要安装pdf的包,pdfplumber。

直接

pip install pdfplumber

然后,就可以提取了,首先来看怎么提取单页文字,随便找了一份文档:

#提取文字
import pdfplumber
with pdfplumber.open(r'C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\018-话题讨论-怎样用朋友圈建立信任 .pdf') as f:page = f.pages[2]textdata = page.extract_text()print(textdata)

这样的话就能提取了,效果还不错:

​然后保存成txt,另外加上多页提取:

#提取文字
import pdfplumber
with pdfplumber.open(r'C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\018-话题讨论-怎样用朋友圈建立信任 .pdf') as f:page = f.pages[2]textdata = page.extract_text()print(textdata)

格式保存的还不错,也没有什么乱码的出现。

​依据这个原理可以,继续把pdf转成word,这里的pdf限制是只有文字格式,跟刚才的原理一样,是利用的extract_text()函数。

首先需要在终端安装docx这个包。

然后可以执行下面的代码:

下面展示的是单页提取,如果想展示多页提取,可以直接把pages改成[2-5]这种。

#多页提取文字
import pdfplumber
with pdfplumber.open(r'C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\018-话题讨论-怎样用朋友圈建立信任 .pdf') as f:
for i in range(1,5):page = f.pages[i]textdata = page.extract_text()print(textdata)data = open(r'C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\txt提取.text',"a",encoding='utf-8')data.write(textdata)

结果如下:有些符号没有提取出来,有些字体不统一,后期需要进行一个调整。

​下面一个,就是pdf提取表格放在excel中。

这个来讲的话就比较实用,因为我们如果一个个复制的话真的比较麻烦,还不容易复制完全。这个脚本的限制也有,就是只能提取表格,pdf其他的文字则不能提取。我随意编了一些数据,提取了两页:

我刚试了下,如果直接用pdf复制出来,就是这样的效果:

代码实现:

import pdfplumber
from openpyxl import Workbook
with pdfplumber.open(r'C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\练习.pdf') as f:workbook = Workbook()  #新建工作薄sheet = workbook.active #激活工作表
for i in range(1,3):page = f.pages[i]table = page.extract_table()
for row in table:print(row)sheet.append(row)workbook.save(r"C:\Users\itcast\PycharmProjects\pythonProject1\办公自动化\folder\excel.xlsx")i +=1print("第%d页pdf提取完成"%i)

pdfplumber这个库的具体的说明文档,可以参考这篇文章。

https://blog.csdn.net/weixin_48629601/article/details/107224376

10行Python代码批量实现pdf转txt,word,提取表格到excel相关推荐

  1. 10 行 Python 代码能实现哪些有趣功能?

    大家好,我是菜鸟哥 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作.下 ...

  2. 10行 python 代码做出哪些酷炫的事情?

    来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...

  3. 10行python代码可以做哪些酷炫的事情

    前言 今天玩啥?10行代码够玩吗? Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环, Python可以凭借更加简短的代码实现 ...

  4. 10行python代码做出哪些酷炫的事情?

    大家好,我是辰哥~ Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作.下 ...

  5. 10行python代码做出哪些酷炫的事情? 小白教程

    Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作.下面我们来看看,我们用 ...

  6. 获取clientheight为0_用10行python代码获取全国城市交通生活圈

    今天在网上冲浪看到一个很花哨的数据,全国各城市主要商圈从早上6点到晚上10点的20min,30min,45min,60min,90min生活圈轮廓. 1 获取思路 按下F12 按下F12,点击淮海路可 ...

  7. python自动化--如何用10行Python代码调一个闹钟 #电脑调闹钟

    python自动化--如何用10行Python代码写一个闹钟 前言: 文末彩蛋--轻松一刻 更多关于Python的知识请加关注哟~~.若需联系博主请私信或者加博主联系方式:       QQ:1542 ...

  8. 10行python代码的词云

    关于词云wordcloud 什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本 ...

  9. 几行python代码批量对身份证加密

    为保证客户个人关键信息安全,需要对客户四要素:身份证号.手机号.姓名.银行卡等要素进行特定加密,以密文的方式进行业务工作的传输.我们都知道md5.sha256.sm3d等加密方式是无法逆向解密的,是一 ...

最新文章

  1. python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?
  2. JQuery获取元素本身HTML
  3. Spring Session实战3
  4. 双栈共享存储空间(C++代码实现)
  5. HTML5怎样设置站点,我是怎样让网站用上HTML5 Manifest
  6. 通过挂载系统光盘搭建本地yum仓库的方法
  7. 可变、不可变数据类型
  8. C++通过文件读写保存用户注册登录信息
  9. spark mysql java_使用Spark/Java将数据框架中的记录插入到MySQL表中
  10. android 烟花动画效果图,android利用图片实现烟花效果
  11. tablepc是什么平板电脑_什么是TABLET PC,TABLET PC有什么功能呢?
  12. 【HAVENT原创】使用 Spring Boot 的 AOP 自定义注解
  13. Adobe学习记录:PR常用快捷键
  14. python excel筛选统计_如何用python对excel表格进行筛选
  15. [转]短信验证码如何防止不恶意点击被刷!
  16. 鼠友题库每日百题(四)
  17. 用Python蹭别人家图片接口,做一个【免费图床】吧
  18. 把简单的 Postman,玩出花样?
  19. NET 里序列化可概念。
  20. Faster-RCNN论文细节原理解读+代码实现gluoncv(MXNet)

热门文章

  1. 会计的思考(15):华而不实的应收账款周转率
  2. Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM
  3. python序列类型是二维元素向量吗_Python 二级选择题
  4. Unity-地形编辑器-编辑器拓展功能类
  5. 计算年龄算法(周岁虚岁)
  6. Execution failed for task ‘:app:javaPreCompileDebug‘.
  7. 东北大学考研二叉树相关试题
  8. 基于python实现屏幕共享
  9. 路由器配置——基于区域的OSPF,MD5认证
  10. radius mysql md5_在Free Radius的PAP认证过程中使用MD5密码