Python模块PyPDF2使用(1)(python pypdf)
最近在做PDF方面的开发,主要是HTML转图片,HTML转PDF,以及打包整个网站到PDF等处理,考察了很多资料,模块也试过不少,今天说下PyPDF2这个模块的使用,不说废话,上干货。
模块介绍
PyPDF2完善了PyPDF的功能,其中包含了如下Class(部分):
PdfFileReader
PdfFileMerger
PageObject
PdfFileWriter
使用方法(代码附解释)
这四个模块包含了PyPDF2的核心功能,今天介绍下:PdfFileMerger
from PyPDF2 import PdfFileMerger
pdf_file1="PDF文件1路径"
pdf_file2="PDF文件2路径"
pdf_output = "PDF文件输出的路径" #指新生成的文件
merger_file = PdfFileMerger() # 定义一个空文件
#PdfFileMerger提供两种合并PDF的方法,其中包含merger和append这两种方法从字面上理解就是合并和追加。
file_obj = open(pdf_file1, "rb")
merger_file.append(pdf_file1)
file_obj.close()
file_obj = open(pdf_file2, "rb")
merger_file.append(pdf_file2)
file_obj.close()
out_obj = open(pdf_output , "wb")
merger_file.write(out_path)
merger_file.close()
out_obj.close()
# 到此就生成了以追加方式合并的PDF
程序代码(generate_pdf.py)
# coding:utf-8
import traceback
from PyPDF2 import PdfFileMerger
def pdf_merger(path_list,out_path):
"""
合并PDF文件
:param path_list:
:param out_path:
:return:
"""
merger_file = PdfFileMerger()
try:
for pdf_file in path_list:
file_obj = open(pdf_file, "rb")
merger_file.append(file_obj)
file_obj.close()
out_obj = open(out_path, "wb")
merger_file.write(out_path)
merger_file.close()
out_obj.close()
status = True
except Exception as e:
traceback.print_exc()
status = False
return status
#使用时直接导入调用,传入参数即可
初次试水,希望读者受益。