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)

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

相关推荐
_OP_CHEN1 分钟前
【Python基础】(四)Python 语法基础终篇——函数 / 列表 / 字典 / 文件操作一次吃透!
开发语言·python
小鸡吃米…2 分钟前
Python - 数据库访问
数据库·python
热河暖男5 分钟前
使用 Flying-Saucer-Pdf + velocity 模板引擎生成 PDF(解决中文和图片问题)
java·pdf·html·springboot
阿_旭1 小时前
Python中3类目标检测方法详解:从原理到实践
python·目标检测
吴佳浩8 小时前
Python入门指南(五) - 为什么选择 FastAPI?
后端·python·fastapi
寰天柚子8 小时前
Java并发编程中的线程安全问题与解决方案全解析
java·开发语言·python
2503_928411569 小时前
项目中的一些问题(补充)
人工智能·python·tensorflow
superman超哥9 小时前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
vv_Ⅸ9 小时前
打卡day42
python
Lvan的前端笔记9 小时前
python:深入理解 Python 的 `__name__ == “__main__“` 与双下划线(dunder)机制
开发语言·python