文章目录
1.PyPDF2库
- 1.PyPDF2库
- 2.作者答疑
如今网上大部分电子文档数据都是PDF,如何对PDF进行有效的编辑,能够非常有效的提高工作效率,本文介绍采用开源库来自定义分割PDF,亲测可用:
# encoding:utf-8
from PyPDF2 import PdfFileReader, PdfFileWriter
def splitPdf():
readFile = 'C:/Users/ajz/Desktop/代琼/2.健力多汤臣倍健氨糖硫酸软骨素钙片48片_已签章.pdf';
outFile = 'C:/Users/ajz/Desktop/copy.pdf';
pdfFileWriter = PdfFileWriter();
# 获取 PdfFileReader 对象
pdfFileReader = PdfFileReader(readFile); # 或者这个方式:pdfFileReader = PdfFileReader(open(readFile, 'rb'));
# 文档总页数
numPages = pdfFileReader.getNumPages();
if numPages > 5:
# 从第五页之后的页面,输出到一个新的文件中,即分割文档
for index in range(5, numPages):
pageObj = pdfFileReader.getPage(index)
pdfFileWriter.addPage(pageObj)
# 添加完每页,再一起保存至文件中
pdfFileWriter.write(open(outFile, 'wb'))
import os
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(output_dir, file_name)
if not os.path.exists(output_dir):
os.mkdir(output_dir)
input_stream = open(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
关注
打赏
热门博文
- Adobe illustrator插件开发-SPInterfaceSuite-插件A向插件B传递消息-插件通信-AI插件开发
- javascript-ztree-树形控件-初始化-加载节点数据-节点数据获取
- Adobe illustrator插件开发-坐标系统-AIHardSoftSuite-画板坐标-页面坐标-AI插件开发
- Adobe illustrator插件开发-AIUIDUtilsSuite-AIUIDPoolSuite-AIUIDSuite-AIUIDREFSuite-Art唯一标识符与索引-AI插件开发
- C++-逆向分析-类的成员函数地址与对象地址动态绑定-this指针-成员函数和成员虚函数反汇编解析
- C++-逆向分析-结构体和类-内存布局-this指针-静态数据成员-对象作为参数和返回值
- Adobe illustrator插件开发-命令名称-AddCommand -AI插件开发
- Adobe illustrator插件开发-事件-PlugPlugAddEventListener-向系统注册事件-AI插件开发
- Adobe illustrator插件开发-ole拖拽粘贴交换数据格式-RegisterClipboardFormat函数-AI插件开发
- Adobe illustrator插件开发-所有模块列表-内部存在大量非公开的Suite-AI插件开发