翼度科技»论坛 编程开发 python 查看内容

Python 在同一/或不同PDF之间复制页面

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
操作PDF文档时,复制其中的指定页面可以帮助我们从PDF文件中提取特定信息,如文本、图表或数据等,以便在其他文档中使用。复制PDF页面也可以实现在不同文件中提取页面,以创建一个新的综合文档。本文将介绍如何使用Python 在同一文档中复制PDF页面,或者复制页面到另一PDF文档中


所需Python库 - Spire.PDF for Python。可以通过下面的pip命令直接安装:
pip install Spire.Pdf
 
Python 在同一PDF 文档中复制页面

Spire.PDF for Python库支持在文档中添加新页面,然后将指定页面的内容绘制到新页面来实现复制PDF页面。操作如下:

  • 使用 LoadFromFile() 方法加载PDF文档;
  • 获取文档中指定页面,然后使用 CreateTemplate() 方法基于页面内容创建模板;
  • 通过 Insert() 方法在指定索引处插入空白新页面 (也可以使用 Add() 方法直接在文档末尾添加新页面);
  • 使用 PdfPageBase.Canvas.DrawTemplate() 方法将模板绘制到新页面上;
  • 使用 SaveToFile() 方法保存PDF文档。
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 加载PDF文档
  4. pdf = PdfDocument()
  5. pdf.LoadFromFile("实验.pdf")
  6. # 获取第一页
  7. page = pdf.Pages[0]
  8. # 基于该页面创建模板
  9. template = page.CreateTemplate()
  10. # 插入一个新页面到第二位置处
  11. page = pdf.Pages.Insert(1, page.Size, PdfMargins(0.0))
  12. # 将模板绘制到新页面上
  13. page.Canvas.DrawTemplate(template, PointF(0.0, 0.0))
  14. # 保存PDF
  15. pdf.SaveToFile("复制PDF页面.pdf");
  16. pdf.Close()
复制代码

 
 

Python在不同PDF 文档之间复制页面

也可以将指定页面从一个PDF文档复制到另一个PDF文档中,具体操作如下:

  • 使用 LoadFromFile() 方法加载两个PDF文档;
  • 获取文档1中指定页面,然后使用 CreateTemplate() 方法基于页面内容创建模板;
  • 通过 Insert() 方法在文档2中指定索引处插入空白新页面;
  • 使用 PdfPageBase.Canvas.DrawTemplate() 方法将模板绘制到新页面上;
  • 使用 SaveToFile() 方法保存结果文档
  1. from spire.pdf.common import *
  2. from spire.pdf import *
  3. # 加载文档1
  4. pdf1 = PdfDocument()
  5. pdf1.LoadFromFile("实验.pdf")
  6. # 加载文档2
  7. pdf2 = PdfDocument()
  8. pdf2.LoadFromFile("南极洲.pdf")
  9. # 获取文档1中的第一页
  10. page = pdf1.Pages[0]
  11. # 基于该页面内容创建模板
  12. template = page.CreateTemplate()
  13. # 在文档2指定位置处插入空白新页面
  14. newPage = pdf2.Pages.Insert(0, page.Size, PdfMargins(0.0))
  15. # 将模板绘制到新页面上
  16. newPage.Canvas.DrawTemplate(template, PointF(0.0, 0.0))
  17. # 保存PDF
  18. pdf2.SaveToFile("复制页面到另一PDF.pdf")
  19. pdf2.Close()
复制代码

生成文档中的红色水印,可以通过点击以下链接,申请一个月免费授权来去除:
https://www.e-iceblue.cn/misc/temporary-license.html
 

来源:https://www.cnblogs.com/Yesi/p/18582080
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具