使用python进行pdf文件分割

Python代码

import os
from pyPdf import PdfFileWriter, PdfFileReader
def split(pdf_file, delta, output_dir):
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    if not os.path.exists(pdf_file):
        return

    print(‘----------参数信息---------------‘)
    print(‘File:‘ + pdf_file)
    print(‘PageNums:‘ + str(delta))
    print(‘Dest:‘ + output_dir)
    print(‘-----------pdf开始切分-----------‘)
    file_name = pdf_file.split(‘/‘)[-1].split(‘.‘)[0]
    output_dir = os.path.join(out_dir, file_name)
    if not os.path.exists(output_dir):
        os.mkdir(output_dir)
    input_stream = file(pdf_file, ‘rb‘)
    pdf_input = PdfFileReader(input_stream)
    page_count = pdf_input.getNumPages()
    sum_page_count = int(page_count / (delta * 1.0))
    remind_page = page_count % delta
    for i in range(0, sum_page_count + 1):
        start = i * delta
        end = (i + 1) * delta
        pdf_out = PdfFileWriter()
        file_path = os.path.join(output_dir, os.path.split(pdf_file)[1]) #
        if i < sum_page_count:
            full_file_name = file_name + str(start + 1) + ‘-‘ + str(end) + ".pdf"
            file_path = os.path.join(output_dir, full_file_name)
            print(full_file_name + ‘切分完成‘)
            for j in range(start, end):
                page = pdf_input.getPage(j)
                pdf_out.addPage(page)
        else:
            full_file_name = file_name + str(start + 1) + ‘-‘ + str(start + remind_page) + ".pdf"
            file_path = os.path.join(output_dir, full_file_name)
            print(full_file_name + ‘切分完成‘)
            for j in range(delta * (sum_page_count), page_count):
                page = pdf_input.getPage(j)
                pdf_out.addPage(page)
        out_stream = file(file_path, ‘wb‘)
        pdf_out.write(out_stream)
        out_stream.close()
    input_stream.close()
    print(‘-----------pdf切分完成-----------‘)

if __name__ == ‘__main__‘:
    import sys
    #python splitPdf.py /Users/xxxxx/Downloads/UNIX网络编程卷1:套接字联网API(第3版).pdf 180 /Users/xxxxx/Documents/output

    try:
        pdf_path = sys.argv[1]
        page_count = int(sys.argv[2])
        out_dir = sys.argv[3]
        split(pdf_path, page_count, out_dir)
    except:
        pass

使用方法

$ python splitPdf.py /Users/xxxxx/Downloads/UNIX网络编程卷1:套接字联网API(第3版).pdf 180 /Users/xxxxx/Documents/output
----------参数信息---------------
File:/Users/xxxxx/Downloads/UNIX网络编程卷1:套接字联网API(第3版).pdf
PageNums:180
Dest:/Users/xxxxx/Documents/output
-----------pdf开始切分-----------
UNIX网络编程卷1:套接字联网API(第3版)1-180.pdf切分完成
UNIX网络编程卷1:套接字联网API(第3版)181-360.pdf切分完成
UNIX网络编程卷1:套接字联网API(第3版)361-540.pdf切分完成
UNIX网络编程卷1:套接字联网API(第3版)541-720.pdf切分完成
UNIX网络编程卷1:套接字联网API(第3版)721-823.pdf切分完成
-----------pdf切分完成-----------

原文地址:https://www.cnblogs.com/yeyang/p/11831244.html

时间: 2024-11-07 19:37:49

使用python进行pdf文件分割的相关文章

Python绘制PDF文件~超简单的小程序

Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http://www.reportlab.com/docs/reportlab-userguide.pdf 我们看看这个网页上的原数据: http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt 代码: #-*- coding: utf-8 -*- # 1. 用于下载原

PDF文件分割电脑版怎么操作

分割文件不知道大家试过了没有,在电脑上处理一份PDF文件的时候,遇到PDF文件里面的页面太大,处理起来很不方便,这时候就可以对文件进行分割处理,将PDF文件进行分割.那电脑中PDF文件分割是怎么操作?可以一步步往下看. 1.可以在电脑中安装PDF转换工具,打开它进入到转换器的页面.选择栏目中[PDF的其他操作],然后就包括了[PDF分割]这个功能.2.在软件中点击[添加文件],在出现的文件框中找到即将需要分割的PDF文件,选择OK后,点击下面的打开即可.3.PDF文件添加成功后,在顶端可以看到[

如何进行PDF文件分割操作?PDF分割操作步骤

作为电脑上班族常常会接触到各种各样格式的文件,PDF就是其中一种(PDF全称Portable Document Format),是一种电子类型的文档.以至于经常需要对它进行处理和编辑.那么如何进行PDF文件分割呢?PDF文件分割操作步骤是怎样的,下面就跟着小编的脚步一起来看一下. 1:进行相关操作之前,可以在电脑桌面上新建一个文件夹并且命名为PDF文件,然后将所要操作的PDF文件添加到文件夹中.小编这样的操作是为了方便后面的操作,2:接着需要借助到PDF文件分割工具,关于安装软件的操作步骤在这里

python学习——大文件分割与合并

在平常的生活中,我们会遇到下面这样的情况: 你下载了一个比较大型的游戏(假设有10G),现在想跟你的同学一起玩,你需要把这个游戏拷贝给他. 然后现在有一个问题是文件太大(我们不考虑你有移动硬盘什么的情况),假设现在只有一个2G或4G的优盘,该怎么办呢? 有很多方法,例如winrar压缩的时候分成很多小卷,这里不累述. 在学习python之后,我们自己就可以解决这个问题啦. 我们可以自己写一个脚本去分割合并文件,将文件分割成适合优盘大小的小文件,在拷贝,然后再合并. 下面是文件分割脚本: 1 im

用python操作PDF文件

本次学习的内容主要是:从PDF读取文本内容和从已经有的文档生成新的PDF. 需要用到的模块是PyPDF2. 首先要在命令行中运行pip install PyPDF2. 一.从PDF读取文本 PyPDF2无法从pdf文档中提取图像,图表和其他媒体,但是它可以提取文本,并且将文本返回为python字符串.import PyPDF2# ===============从pdf中提取文本===========pdffile = open(r'E:\python让繁琐的工作自动化\13_处理pdf和word

记一次为解决Python读取PDF文件的Shell操作

目录 一.背景 二.问题 三.解决 四.一顿分析及 Shell 操作 五.后续 一.背景 本想将 PDF 文件转换为 Word 文档,然后网上搜索了一下发现有挺多转换的软件.有的是免费的.收费,咱也不知哪个好使,还得一个个安装试用.先不说能不解决问题,就这安装试用想想就脑壳疼.便想起了"Python 大法",随即搜了几篇看起来比较完整的博客,二话不说粘贴复制,改改运行试试.使用环境(python3.6+pdfminer3k),代码这里就不放出来了. 二.问题 运气不好,这一试就报错WA

使用python对PDF文件进行等页数分割

用到了pyPDF库,很简单的脚步,废话不多说了.直接上代码 1 # coding:utf8 2 import os 3 from pyPdf import PdfFileWriter, PdfFileReader 4 def split(pdf_file, delta, output_dir): 5 if not os.path.exists(output_dir): 6 os.makedirs(output_dir) 7 if not os.path.exists(pdf_file): 8 r

使用Python生成pdf文件

Python平台的优秀PDF报表类库Reportlab.它不属于Python的标准类库,所以必须手动下载类库包并安装:       yum install python-reportlab -y    这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表.详细内容参考reportlab的官方user guide. 示例一.生成一段文字 #!/usr/bin/python from reportlab.pdfgen import canvas def hel

基于Python实现对PDF文件的OCR识别

http://www.jb51.net/article/89955.htm https://pythontips.com/2016/02/25/ocr-on-pdf-files-using-python/ 大家可能听说过使用Python进行OCR识别操作.在Python中,最出名的库便是Google所资助的tesseract.利用tesseract可以很轻松地对图像进行识别.现在问题来了,如果想对一个PDF文档进行OCR识别,该怎么做呢?下面一起来看看. 最近在做一个项目的时候,需要将PDF文件