使用Python拆分、合并PDF

数据处理与分析 2021-04-07 18:03:22
Python 使用 PDF 拆分 合并


知识点

使用Python操作PDF!

主要内容有:1、PDF拆分;2、PDF合并。

在工作中,难免会和PDF打交道,所以掌握一点处理PDF的技能非常有必要,本文将介绍几个常用的功能。

PDF拆分

很多时候,获取的PDF很长,我们如果想要截取其中某些页面那么怎么处理呢?有很多的工具可以完成类似的操作,我们用Python也能做到类似的事情。并且用Python来做类似的处理,非常便于我们后面做一些批处理工具。

直接上代码吧!

from PyPDF2 import PdfFileWriter, PdfFileReader
def pdf_split(pdf_in,pdf_out,start,end):
# 初始化一个pdf
output = PdfFileWriter()
# 读取pdf
with open(pdf_in,'rb') as in_pdf:
pdf_file = PdfFileReader(in_pdf)
# 从pdf中取出指定页
for i in range(start, end):
output.addPage(pdf_file.getPage(i))
# 写出pdf
with open(pdf_out,'ab') as out_pdf:
output.write(out_pdf)
if __name__ == '__main__':
pdf_in = '待分割pdf'
pdf_out = '分割后pdf'
s,e = 起始页,结束页
pdf_manage(pi, po, s, e)

PDF合并

与pdf拆分相对的,是pdf的合并。使用Python也能轻松完成,不早了,不废话了,还是直接上代码吧!

from PyPDF2 import PdfFileReader,PdfFileMerger
def pdf_merger(in_pdfs,out_pdf):
# 初始化
merger = PdfFileMerger()
# 循环,合并
for in_pdf in in_pdfs:
with open(in_pdf,'rb') as pdf:
merger.append(PdfFileReader(pdf))
merger.write(out_pdf)
if __name__ == '__main__':
in_pdfs = ['放要合并的PDF文件名称,注意顺序']
out_pdf = '输出文件'
pdf_merger(in_pdfs, out_pdf)

本文分享自微信公众号 - 数据处理与分析(Qing_master) ,作者:文刀木公

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2021-03-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[数据处理与分析]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1810267

  1. Python web menu project takes another step forward to learn about the built-in user authentication system from the application layer
  2. Python classic interview questions (with answers)!
  3. 【Python从零到壹】Python的循环结构详解
  4. 【Python从零到壹】Python列表详解
  5. 【Python从零到壹】Python的字典详解
  6. 【Python从零到壹】Python的字符串详解
  7. 【Python从零到壹】Python基础之函数的应用
  8. 【Python从零到壹】用Python实现植物大战僵尸里的面向对象
  9. Detailed explanation of Python loop structure
  10. Detailed explanation of Python list
  11. Detailed explanation of Python dictionary
  12. Detailed explanation of Python string
  13. [Python from zero to one] the application of Python basic functions
  14. [Python from zero to one] using Python to realize object-oriented in plant vs. zombie
  15. 用 Python 实现微信版飞机大战
  16. 用 Python 实现***帝国中的数字雨落既视感
  17. 想知道未来孩子长相?Python人脸融合告诉你
  18. 我用 Python 做了一个全球疫情数据大屏
  19. Using Python to realize wechat aircraft war
  20. Using Python to realize the visual sense of digital rain in the Empire of the Communist Party of China
  21. Want to know what kids will look like in the future? Python face fusion tells you
  22. I made a big screen of global epidemic data with Python
  23. python你TM太皮了——区区30行代码就能记录键盘的一举一动
  24. Python you TM too skinny - just 30 lines of code can record every move of the keyboard
  25. python的装饰器概念学习基础基础版
  26. Python decorator concept learning basic edition
  27. SQL配合Python-Flask的中转注入
  28. python3使用kivy生成安卓程序
  29. 不到 150 行代码写一个 Python 版的贪吃蛇
  30. Transfer injection of SQL and python flash
  31. Using Kivy to generate Android program in Python 3
  32. Less than 150 lines of code to write a python version of the snake
  33. Python面向对象练习题
  34. Python数据分析入门(八):Pandas统计计算和描述
  35. Python面向对象练习题
  36. Python object oriented exercises
  37. Introduction to Python data analysis (8): Pandas statistical calculation and description
  38. Python object oriented exercises
  39. WEB4-通过python获得flag
  40. python-web5
  41. Pandas-二进制操作
  42. python入门教程14-01 (python语法入门之python内存泄露)
  43. Web4 - get flag through Python
  44. python-web5
  45. Pandas binary operation
  46. python入门教程13-06 (python语法入门之视图、触发器、事务、存储过程、函数)
  47. python入门教程13-07 (python语法入门之ORM框架SQLAlchemy)
  48. python入门教程13-08 (python语法入门之python索引原理与慢查询优化)
  49. 定投指数到底能不能赚钱?Python 来告诉你答案
  50. Python入门学习之:10分钟1500访问量
  51. Getting started with Python 14-01
  52. 用 Python 画哆啦 A 梦
  53. Python 图表利器 pyecharts
  54. 用 Python 抓取公号文章保存成 HTML
  55. Introduction to Python 13-06 (view, trigger, transaction, stored procedure, function of introduction to Python syntax)
  56. Getting started with Python 13-07 (ORM framework Sqlalchemy for getting started with Python syntax)
  57. Introduction to Python 13-08
  58. Can fixed investment index make money? Python will tell you the answer
  59. Introduction to Python: 1500 visits in 10 minutes
  60. 用 Python 获取股市交易数据