python pdf等页分割

有1个pdf文件,共1435页
image.png

,想要读取其中的文字信息,但是页数太多信息量较大导致报错“Merroy error”--内存不足,所以没办法一次性读完。这个内存不足的原因是由于python本身的内存机制导致的,所以为了避免这个问题选择对页数较多的pdf进行等量切分为多个pdf,之后再逐个读取。
下面直接上切分代码:

from PyPDF2 import PdfFileWriter, PdfFileReader

# 开始页
start_page = 0 
# 截止页
end_page = 200
#用数字作为切分后pdf的名字
page_no_split = 1
# h_pathfile_pdf_y----需切分文件路径
fp_read_file  = open(h_pathfile_pdf_y, "rb")
pdf_file = PdfFileReader(fp_read_file )
pdf_pages_len = pdf_file.getNumPages() #获取pdf总页数
print(pdf_pages_len)
for page in  range(0,pdf_pages_len,200):  #每200页分成一个pdf
    output = PdfFileWriter()
    for i in range(start_page, end_page):
        output.addPage(pdf_file.getPage(i))
    start_page+=200
    end_page+=200
    if pdf_pages_len<end_page:  
        end_page=pdf_pages_len
    outputStream = open(recepit_split + "\\" + str(page_no_split) + ".pdf", "wb")  #recepit_split----切分后的文件存放路径
    output.write(outputStream)
    page_no_split+=1
    outputStream.close() #记得open打开后要close文件,不然数量超过一定值会报错”有些文件没有关闭“
fp_read_file.close()

结果如下:


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 8,743评论 1 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,903评论 1 32
  • error code(错误代码)=2000是无效的像素格式。error code(错误代码)=2001是指定的驱动...
    Heikki_阅读 6,246评论 0 4
  • 一.简述如何安装配置apache 的一个开源的hadoop 1.使用root账户登陆 2.修改ip 3.修改hos...
    栀子花_ef39阅读 10,401评论 0 52
  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 10,184评论 0 30

友情链接更多精彩内容