python实现pdf的页面替换

利用第三方库PyPDF2,下面例子中进行的是将 origin.pdf 的第17页替换为 s17.pdf 的第1页:

python 复制代码
import PyPDF2

def replace_pages(original_pdf_path, replacement_pages):
    with open(original_pdf_path, 'rb') as original_file:
        original_pdf = PyPDF2.PdfReader(original_file)
        output_pdf = PyPDF2.PdfWriter()

        for page_num in range(len(original_pdf.pages)):
            if page_num == 16:  # Replace page 17 with first page of s17.pdf
                with open(replacement_pages['s17'], 'rb') as replacement_file:
                    replacement_pdf = PyPDF2.PdfReader(replacement_file)
                    output_pdf.add_page(replacement_pdf.pages[0])
            else:
                output_pdf.add_page(original_pdf.pages[page_num])

        with open('output.pdf', 'wb') as output_file:
            output_pdf.write(output_file)

# 定义要替换的页面和其对应的替换文件
replacement_pages = {
    's17': 's17.pdf',
}

replace_pages('origin.pdf', replacement_pages)

可以根据自己的实际需求进行修改。

相关推荐
smile_Iris13 小时前
Day 38 GPU训练及类的call方法
开发语言·python
嗷嗷哦润橘_13 小时前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
Smart-Space13 小时前
tkinter绘制组件(47)——导航边栏
python·tkinter·tinui
ULTRA??14 小时前
KD-Tree的查询原理
python·算法
电饭叔14 小时前
TypeError:unsupported operand type(s) for -: ‘method‘ and ‘int‘
开发语言·笔记·python
老歌老听老掉牙14 小时前
使用贝叶斯因子量化假设验证所需数据量
python·贝叶斯因子·假设
nix.gnehc14 小时前
poetry 常用命令
python·poetry
一人の梅雨15 小时前
淘宝商品视频接口深度解析:从视频加密解密到多端视频流重构
java·开发语言·python
杼蛘15 小时前
XXL-Job工具使用操作记录
linux·windows·python·jdk·kettle·xxl-job
qq_2290580115 小时前
运行djando项目 配置启动类 label_studio包含前后端启动方法
python·django