构建基于统一信息平台的PDF处理系统
import PyPDF2
def merge_pdfs(paths, output_path):
pdf_writer = PyPDF2.PdfWriter()
for path in paths:
with open(path, 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
for page in pdf_reader.pages:
pdf_writer.add_page(page)
with open(output_path, 'wb') as out_file:
pdf_writer.write(out_file)
# 示例调用
merge_pdfs(['file1.pdf', 'file2.pdf'], 'merged_output.pdf')
def split_pdf(input_path, output_folder):
with open(input_path, 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
for i, page in enumerate(pdf_reader.pages):
pdf_writer = PyPDF2.PdfWriter()
pdf_writer.add_page(page)
with open(f"{output_folder}/page_{i+1}.pdf", 'wb') as out_file:
pdf_writer.write(out_file)
# 示例调用
split_pdf('large_file.pdf', 'output_pages')
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from PyPDF2 import PdfReader, PdfWriter
def encrypt_pdf(input_path, output_path, password):
reader = PdfReader(input_path)
writer = PdfWriter()
for page in reader.pages:
writer.add_page(page)
writer.encrypt(user_pwd=password, use_128bit=True)
with open(output_path, "wb") as f:
writer.write(f)
# 示例调用
encrypt_pdf('input.pdf', 'encrypted_output.pdf', 'mypassword123')
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!