• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:PyPDF2如何实现按照PDF页码提取后并另存为PDF格式文件

python 搞代码 3年前 (2022-02-20) 21次浏览 已收录 0个评论

事件的通过是这样的,因为现有的PDF文件太多了而我真正须要的内容只有十几页。

每次查找不不便,另外须要发给本人的小伙伴也太多他人也不容易找到须要的内容,所以产生了一个想法就是把须要的PDF提取进去而后另存为一个PDF文件。

于是就有了这次的PDF页面提取操作,上面进入实战环节。

我的项目中用到的库次要是PyPDF2用于PDF格式文件的提取等操作,另外还须要os操作库用来做文件的读写、另存为操作。

【浏览全文】

from PyPDF2 import PdfFileReader, PdfFileWriter  # PDF格式文件操作

import os  # 系统文件操作

第一步:初始化在PDF文件操作过程中的相干参数。

# 定义文件的操作门路(须要提取内容的原文件门路)

file_path = 'data.pdf'

# 定义指标文件门路(曾经提取好的文件门路)

output_file_path = ''

# 定义开始提取页的页码

begin = '102'

# 定义完结提取页的页码

end = '113'

# 初始化曾经提取好的文件门路

output_file_path = output_file_path + f'({begin}~{end}).pdf'

第二步:判断须要操作的原始文件是否存在、判断须要提取的页码是否在正当的范畴内。

# 判断pdf文件是否存在,存在则持续读取文件

if os.path.isfile(file_path):
    global pdf_obj_reader
    pdf_obj_reader = PdfFileReader(file_path)  # 读取原始文件所有内容

# 判断一下页码是否在正当的范畴内。

if begin < 1 or end > pdf_obj_reader.getNumPages():
    print('请输出正当的页面范畴')
else:
    exit(0)

第三步:依据须要提取内容的pdf页码范畴提取pdf内容并写入PDF文件写入流。

# 初始化文件写入流。
global pdf_obj_writer

pdf_obj_writer = PdfFileWriter()


# 遍历曾经读取的文件流,提取须要的局部并写入文件写入流。

for page_num in range(begin - 1, end):  # 因为读取的页面是从0开始,所以开始页码进行减1操作
    pdf_obj_writer.addPage(pdf_obj_reader.getPage(page_num))  # 将符合条件的页码对应内容写入文件写入流

# 最初,将提取好的文件流对象写入到新定义好的PDF文件中

with open(output_file_path, 'wb') as output_file_pdf:
    pdf_obj_writer.write(output_file_pdf)  # 写入到指定文件

到此,整个PDF内容提取和写入的操作就实现了,感激大家的反对。

【往期精彩】

浪漫的turtle,送给程序员本人的圣诞树!

PyQt5 GUI:百度图片下载器(文末附源码)

python3中的zip()、zip(*)、list()之间的灵便转换!

python print() 函数的格式化字符串输入

PyQt5 GUI && Requests Api 做一个天气查问零碎(文末支付残缺代码)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:PyPDF2如何实现按照PDF页码提取后并另存为PDF格式文件

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址