欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法

 更新時(shí)間:2015年07月30日 12:09:04   作者:willzhao  
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法,可實(shí)現(xiàn)將一個(gè)PDF文件拆分成指定份數(shù)的功能,涉及pyPdf模塊的使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)簡(jiǎn)單拆分PDF文件的方法。分享給大家供大家參考。具體如下:

依賴pyPdf處理PDF文件
切分pdf文件

使用方法:
1)將要切分的文件放在input_dir目錄下
2)在configure.txt文件中設(shè)置要切分的份數(shù)(如要切分4份,則設(shè)置part_num=4)
3)執(zhí)行程序
4)切分后的文件保存在output_dir目錄下
5)運(yùn)行日志寫在pp_log.txt中

P.S. 本程序可以批量切割多個(gè)pdf文件

from pyPdf import PdfFileWriter, PdfFileReader
import os
import time
import sys
def part_pdf(input_file, output_file, config_count, f_w, now, file_name):
  file1 = file(input_file, 'rb')
  pdf = PdfFileReader(file1)
  pdf_pages_len = len(pdf.pages)
  if config_count <= pdf_pages_len:
    ye = pdf_pages_len / config_count
    lst_ye = pdf_pages_len % config_count
    part_count = 0
    part_count_ye = 0
    for fen in range(config_count):
      part_count += 1
      if part_count == config_count:
        part_ye = ye + lst_ye
      else:
        part_ye = ye
      write_pdf(pdf, part_count_ye, part_count_ye+part_ye, fen, output_file)
      part_count_ye += ye
  else:
    f_w.writelines('time: '+now+' file name: '+file_name+' status: part_num > pdf pages [error]\n')
    sys.exit(1)
def write_pdf(pdf, part_count_ye, part_count_ye_end, fen, output_file):
  out = PdfFileWriter()
  for pp in range(part_count_ye, part_count_ye_end):
    out.addPage(pdf.getPage(pp))
  ous = file(output_file+'_'+str(fen+1)+'.pdf', 'wb')
  out.write(ous)
  ous.close()
def pdf_main():
  f = open('configure.txt', 'r')
  f_w = open('pp_log.txt', 'a')
  now = time.strftime('%Y-%m-%d %H:%M:%S')
  for i in f:
    i_ = i.strip()
    aa = i_.split('=')[1]
    if i_.find('part_num=') != -1 and aa.isdigit():
      config_count = int(aa)
    else:
      f_w.writelines('time: '+now+' status: part_num in configure.txt is error [error]\n')
      sys.exit(1)
  files = os.listdir('input_dir/')
  for each in files:
    input_file = 'input_dir/'+each
    file_name = input_file[input_file.index('/'):input_file.index('.')]
    output_file = 'output_dir/'+file_name
    part_pdf(input_file, output_file, config_count, f_w, now, file_name)
    f_w.writelines('time: '+now+' file name: '+file_name+' status: success\n')
pdf_main()

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹

    Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹

    這篇文章主要介紹了Python中函數(shù)的參數(shù)傳遞與可變長(zhǎng)參數(shù)介紹,本文分別給出多個(gè)代碼實(shí)例來(lái)講解多種多樣的函數(shù)參數(shù),需要的朋友可以參考下
    2015-06-06
  • Python獲取統(tǒng)計(jì)自己的qq群成員信息的方法

    Python獲取統(tǒng)計(jì)自己的qq群成員信息的方法

    這篇文章主要介紹了Python獲取統(tǒng)計(jì)自己的qq群成員信息的方法,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 在Pytorch中自定義dataset讀取數(shù)據(jù)的實(shí)現(xiàn)代碼

    在Pytorch中自定義dataset讀取數(shù)據(jù)的實(shí)現(xiàn)代碼

    這篇文章給大家介紹了如何在Pytorch中自定義dataset讀取數(shù)據(jù),文中給出了詳細(xì)的圖文介紹和代碼講解,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例

    Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)結(jié)構(gòu)體代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python3.6使用tesseract-ocr的正確方法

    Python3.6使用tesseract-ocr的正確方法

    今天小編就為大家分享一篇關(guān)于Python3.6使用tesseract-ocr的正確方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • wxpython學(xué)習(xí)筆記(推薦查看)

    wxpython學(xué)習(xí)筆記(推薦查看)

    wxPython是Python編程語(yǔ)言的一個(gè)GUI工具箱。他使得Python程序員能夠輕松的創(chuàng)建具有健壯、功能強(qiáng)大的圖形用戶界面的程序
    2014-06-06
  • Python+pyecharts繪制雙動(dòng)態(tài)曲線教程詳解

    Python+pyecharts繪制雙動(dòng)態(tài)曲線教程詳解

    pyecharts 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。Echarts 是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)。用 Echarts 生成的圖可視化效果非常棒。本文將用pyecharts繪制雙動(dòng)態(tài)曲線,需要的可以參考一下
    2022-06-06
  • django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField

    django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField

    這篇文章主要介紹了django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • django連接Mysql中已有數(shù)據(jù)庫(kù)的方法詳解

    django連接Mysql中已有數(shù)據(jù)庫(kù)的方法詳解

    眾所周知Django較為適合原生開發(fā),即通過(guò)該框架搭建一個(gè)全新的項(xiàng)目,通過(guò)在修改models.py來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)表,下面這篇文章主要給大家介紹了關(guān)于django連接Mysql中已有數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python實(shí)現(xiàn)大文件排序的方法

    Python實(shí)現(xiàn)大文件排序的方法

    這篇文章主要介紹了Python大文件排序的方法,涉及Python針對(duì)文件、緩存及日期等操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07

最新評(píng)論