python处理pdf文件的程序

编程入门 行业动态 更新时间:2024-10-26 10:39:57

python处理pdf<a href=https://www.elefans.com/category/jswz/34/1771438.html style=文件的程序"/>

python处理pdf文件的程序

使用Python处理PDF文档。将需要处理的PDF文档与处理程序放到一个新建的文件夹中。运行程序。

S模式,将单个PDF文档拆分到单页,并以数字命名。

image.png

C模式,合并文档,需要提前将文档提前按照希望合并的顺序命名成数字,数字名称无需连续,程序是从小到大依次拼接各个PDF文档,最终输出 合并成功.pdf。

image.png

通过组合使用S和C模式,在PDF中删除指定页面:先S模式拆分文档,删除不需要的文件,使用C模式合并剩余文件,即可实现PDF指定页面的删除。

通过组合使用S和C模式,在PDF中插入指定页面:先S模式拆分文档,并将需要插入的PDF文档改成前后文件之间的数字,然后使用C模式合并文档。

参考链接:

答主写的单模块非常详细。我做了修改,将PDF文档的识别自动化了,去除了逐个输入名字的过程,对全新手会友好写。将合并和拆分集成到了一起。

exe打包了,在github:

image.png

百度网盘:/?target=https%3A//pan.baidu.com/s/1y4xZX5T4gbc3pMtBdcbZeA

提取码: 3msf

# merge and split pdf

from os import listdir, getcwd

from PyPDF2 import PdfFileReader, PdfFileWriter

def merge_pdfs(paths, output):

pdf_writer = PdfFileWriter()

for path in paths:

pdf_reader = PdfFileReader(path)

for page in range(pdf_reader.getNumPages()):

# 把每张PDF页面加入到这个可读取对象中

pdf_writer.addPage(pdf_reader.getPage(page))

# 把这个已合并了的PDF文档存储起来

with open(output, 'wb') as out:

pdf_writer.write(out)

def list_all_pdfs():

#将当前文件夹中所有的PDF文件枚举出来做成列表

xlist=listdir(getcwd())

pdflist=[]

for ele in xlist:

if '合并成功' not in ele and '.pdf' in ele:

pdflist.append(ele)

#按照数字大小将文件名字做成顺序列表,方便后续按照数字顺序逐个合并文件。

def takeNo(elem):

x=elem.split('.')

return int(x[0])

pdflist.sort(key=takeNo)#升序排列文件名称

return pdflist

def split_pdf(path):

pdf = PdfFileReader(path)

for page in range(pdf.getNumPages()):

pdf_writer = PdfFileWriter()

pdf_writer.addPage(pdf.getPage(page))

output = f'{page}{0}.pdf'

with open(output, 'wb') as output_pdf:

pdf_writer.write(output_pdf)

if __name__ == '__main__':

mode_selection=input('模式选择, C代表合并操作,S 代表拆分成单页:\n').upper()

if mode_selection=='C':

input('确保所有文件都是数字命名,程序会按照数字顺序逐个拼接PDF文档,并输出 合并成功.pdf 作为最终文档,回车确认,需要改名关掉本窗口即可')

paths =list_all_pdfs()

print(paths)

merge_pdfs(paths, output='合并成功.pdf')

input('合并完毕,回车退出')

if mode_selection=='S':

print('程序会将指定的pdf文件拆分到单页,并以数字命名')

path =input('输入需要拆分的PDF文件名字,包括后缀,例如 XXX.pdf,回车确认\n')

split(path)

input('合并完毕,回车退出')

更多推荐

python处理pdf文件的程序

本文发布于:2023-06-28 13:46:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/928385.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   程序   python   pdf

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!