当前位置: 代码网 > it编程>前端脚本>Python > 使用Python实现在PDF中添加、导入、复制、移动与删除页面

使用Python实现在PDF中添加、导入、复制、移动与删除页面

2025年11月23日 Python 我要评论
在日常办公和自动化任务中,我们经常需要对 pdf 文件进行页面级的编辑,例如插入空白页、复制现有页、导入其他文件的页面或删除不需要的页面。使用 python,你可以轻松实现这些操作,而无需依赖 ado

在日常办公和自动化任务中,我们经常需要对 pdf 文件进行页面级的编辑,例如插入空白页、复制现有页、导入其他文件的页面或删除不需要的页面。使用 python,你可以轻松实现这些操作,而无需依赖 adobe acrobat。

本文将通过几个常见场景,演示如何使用 python 操作 pdf 页面,包括:

  • 添加空白页
  • 导入其他 pdf 的页面
  • 删除特定页面
  • 在文档内部复制页面
  • 移动页面到新位置

所有示例均基于 free spire.pdf for python,你可以通过以下命令安装该库:

pip install spire.pdf.free

1. 向 pdf 添加空白页

from spire.pdf.common import *
from spire.pdf import *

document = pdfdocument()
document.loadfromfile("g:/documents/sample53.pdf")

# 在文档末尾添加一个新页面
new_page = document.pages.add(document.pages.get_item(0).size)  # 使用与第一页相同的大小

# 可选:在新页面上绘制文本内容
# text_element = pdftextwidget("这是一个新添加的空白页面", pdffont(pdffontfamily.helvetica, 12))
# text_element.draw(new_page, pointf(50, 50))

document.savetofile("output_add_blank_page.pdf", fileformat.pdf)
document.close()
print("空白页面已添加。")

说明

  • document.pages.add() 会在文档末尾添加一个新页面,并返回该页面对象。
  • 若希望在指定位置插入页面,可使用 document.pages.insert(index)
  • 通过 pdftextwidget 可在新页面上绘制文本内容,用于添加标题或标注。

结果展示:

2. 从另一个 pdf 导入页面

from spire.pdf.common import *
from spire.pdf import *

# 加载目标和源pdf文档
target_document = pdfdocument()
target_document.loadfromfile("g:/documents/sample53.pdf")

source_document = pdfdocument()
source_document.loadfromfile("g:/documents/sample89.pdf")

# 导入源文档的第一页到目标文档的末尾
target_document.insertpage(source_document, 0)

# 若要导入所有页面,可使用循环
# for i in range(source_document.pages.count):
#     target_document.insertpage(source_document, i)

target_document.savetofile("output_import_page.pdf", fileformat.pdf)
target_document.close()
source_document.close()
print("页面已从源文档导入。")

说明

  • insertpage(source_document, page_index) 用于将指定页从一个 pdf 插入到另一个 pdf。
  • 当源文档包含多页时,可遍历其页面进行批量导入。
  • 这种方法非常适合将多个文件合并成一个完整文档。

结果展示:

3. 删除 pdf 中的页面

from spire.pdf.common import *
from spire.pdf import *

document = pdfdocument()
document.loadfromfile("input.pdf")

# 删除第二页(索引从0开始)
if document.pages.count > 1:
    document.pages.removeat(1)

document.savetofile("output_delete_page.pdf", fileformat.pdf)
document.close()
print("页面已删除。")

说明

  • removeat(index) 可删除指定索引的页面。
  • 索引从 0 开始,即第一页为 0,第二页为 1
  • 删除页面后应重新保存文件以应用更改。

此方法常用于去除封面页、空白页或广告页等不必要内容。

结果展示:

4. 在文档内部复制页面

from spire.pdf.common import *
from spire.pdf import *

document = pdfdocument()
document.loadfromfile("g:/documents/sample53.pdf")

# 复制第一页(索引为0)
if document.pages.count > 0:
    document.insertpage(document, 0)

document.savetofile("output_copy_page_within_doc.pdf", fileformat.pdf)
document.close()
print("页面已在文档内复制。")

说明

  • insertpage(document, page_index) 可将同一文档的指定页复制到文档末尾。
  • 这对于创建模板页或重复页的报表场景非常实用。
  • 若要插入到特定位置,可使用带插入位置参数的重载方法。

结果展示:

5. 移动页面到新的位置

from spire.pdf.common import *
from spire.pdf import *

document = pdfdocument()
document.loadfromfile("g:/documents/sample53.pdf")

if document.pages.count > 1:
    temp_path = "temp_page.pdf"

    # step 1: 导出要移动的页面为单独pdf
    temp_doc = pdfdocument()
    temp_doc.insertpage(document, 1, 0)
    temp_doc.savetofile(temp_path, fileformat.pdf)
    temp_doc.close()

    # step 2: 删除原文档中的该页
    document.pages.removeat(1)

    # step 3: 重新加载导出的页面
    imported_doc = pdfdocument()
    imported_doc.loadfromfile(temp_path)

    # step 4: 插入到新位置(例如第一页前)
    document.insertpage(imported_doc, 0, 0)

document.savetofile("output_move_page.pdf", fileformat.pdf)
document.close()
print("页面已成功移动。")

说明

  • spire.pdf 暂不支持直接移动页面,因此可通过“导出 + 删除 + 导入”实现。
  • 使用 insertpage(imported_doc, target_index, source_index) 可以将页面插入到任意位置。
  • 此方法灵活可靠,尤其适用于需要调整页面顺序的情况。

结果展示:

6. 关键类与方法总结

操作类型方法或属性说明
添加空白页pages.add()在文档末尾创建新页面,可指定页面尺寸
插入指定位置pages.insert(index)在指定索引位置插入空白页
导入页面insertpage(source_doc, page_index)将其他 pdf 文件中的页面导入到当前文档
删除页面pages.removeat(index)删除指定页面
复制页面insertpage(document, page_index)将当前文档的某页复制到文档末尾
移动页面“导出→删除→插入”组合实现页面位置调整

7. 总结

通过以上示例可以看到,spire.pdf for python 为 pdf 页面级操作提供了简洁而强大的接口。无论是添加、复制、导入还是删除页面,都可以通过几行代码完成。

这种编程式处理方式特别适合批量文档编辑、自动报表生成或文件结构整理等场景。无需安装 acrobat,就能轻松构建自己的 pdf 管理工具。

以上就是使用python实现在pdf中添加、导入、复制、移动与删除页面的详细内容,更多关于python操作pdf页面的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com