从多个pdf文档中截取部分区域拼接成一个pdf文档
提取合并多个pdf页面中的子区域,形成一个没有分页符的页面。
输入input:多个pdf的Rect区域 areas in pdf
输出output:一页(只是一页)完整的pdf文档 a page of pdf doc
*******************************
使用的工具及步骤tools and steps:
1、使用fitz.open()函数打开pdf
*2、使用page.searchFor("特征字符串")函数找到特征字符串位置(两个对角定点的坐标),得到需要剪切的位置。如果知道位置这一步可以省略
3、使用page = DOC.newPage(页面宽,页面高)创建新的页面
4、使用page.showPDFpage()函数插入区域
5、使用doc.save()函数保存文档
example:
#step 1
import fitz
DOC1 = fitz.open("c:/内容文件1.pdf") # 打开pdf文件,为提取这个文件的内容做准备
DOC2 = fitz.open("c:/内容文件2.pdf") # 打开pdf文件,为提取这个文件的内容做准备
DOC3 = fitz.open() # empty new PDF (output)建立一个空文档,用于存放提取出来的pdf上的区域
#step 3 创建一个新的空页面
page = DOC3.newPage(width=DOC1[0].rect.width,
height=y) #文档总共的高度
4、使用page.showPDFpage()函数插入区域
page.showPDFpage(DOC1[0].rect, DOC1, 0) # 把DOC1文档的 page 0页 的DOC1[0].rect 区域插入DOC3新创建的页面
page.showPDFpage(DOC3rect, DOC2, 1, clip=rect1) # 把DOC2 第一页中的rect1 区域 插入DOC3rect区域 page 1, rect1
page.showPDFpage(nr2, DOC2, 2, clip=rect2) #同上
5、使用doc.save()函数保存文档
DOC3.save('E:/我的新文档.pdf', garbage=4, deflate=True) #保存文档到'E:/我的新文档.pdf'代码样例
import fitzDOC1 = fitz.open('E:/定义3.pdf')
DOC2 = fitz.open('E:/含义.pdf')
DOC3 = fitz.open() page = DOC3.newPage(width=DOC1[0].rect.width, height=DOC1[0].rect.height + DOC2[0].rect.height)
page.showPDFpage(DOC1[0].rect, DOC1, 0)
placerect = fitz.Rect([0,DOC1[0].rect[3],DOC1[0].rect[2],DOC1[0].rect[3]+DOC2[0].rect[3]])
page.showPDFpage(placerect, DOC2, 0, clip=DOC2[0].rect)
DOC3.save('E:/我的新文档.pdf', garbage=4, deflate=True)
感谢Jorj McKie
西风2019.3.1
最后,虽然GitHub上也发了同样的文章,但我还是希望新接触pymupdf的同学可以更方便的使用这个库。欢迎邮件咨询pymupdf的相关问题。democrat800@qq.com
从多个pdf文档中截取部分区域拼接成一个pdf文档相关推荐
- 计算机word文档中编辑名字流程,要对一个Word文档进行编辑,首先要()。
[名词&注释] 控制点(control point).电子邮件(e-mail).静态随机存储器(sram).单元格(unit grid).显示卡(display card).剪贴板(clipb ...
- 多张图片如何合并成一个pdf
多张图片如何合并成一个pdf?在单位工作的时候,发现一个问题,就是给客户准备好的资料中有很多图片,使用微信发送,要么一张一张发送,要么就需要把这些图片打包在一个文件夹里,压缩一下传给客户.一张一张的发 ...
- 多张JPG如何合并成一个PDF文档
jpg合并成一个pdf文件,当我们扫描一些文档资料之后形成的图片会放在同一个文件夹中,为了方便查看和管理这些图片,就会将图片合成一个文档转换成PDF文件,今天教大家免费的方法,一起看看吧. 1,打开浏 ...
- 怎样将图片合并成一个PDF文档
图片转pdf就是将一些图片文件合并成一个PDF格式的文档,那具体怎样操作?又有哪些方法可以把图片转pdf? 首先可以用jpg转换成pdf软件来实现,首先在工具中的其他文件转pdf类型中选择" ...
- 如何在word文档中,在作文格子内批量输入文档!
如何在word文档中,在作文格子内批量输入文档 在这样的格子内,书写文字是不是很难受? 那么如何批量的在其中填入我们想填写的文字呢? 一个一个输入?真就时间多了没事干了- 其实,只需要这么简简单单的几 ...
- WPS文字如何将多个文档快速合并成一个WPS文档?
有些时候我们需要将多个WPS文档合并成一个文档,如我们写系列文章的时候是一篇一个文档保存,最后写完之后想将他们合并成一个WPS文档便于转换PDF格式输出.除了一个个文档打开然后复制粘贴到新文档外,我们 ...
- 如何将Excel中的多个子表合并后转成一个PDF?
我们在做Excel文档时,经常会习惯将不同类型的数据用多个子表分开录入,但如果直接导出PDF格式,就会出现每个子表单独导成一个PDF文档的情况,这样查阅会非常不方便.那么是否能直接将同一个Excel表 ...
- 如何用vba把word文档的每页单独保存为一个word文档
要将word文档的每页单独保存为一个word文档,首先需要能够逐页遍历word文档. 逐页遍历word文档可以使用word的定位功能. 代码如下: Sub SplitToOnePage()Const ...
- 如何批量将多个 PPT 文档按指定页分别拆分成多个文档
概要:「我的ABC软件工具箱」提供了文档拆分的功能,其中就包括了 PPT 拆分成多个文件,可以根据需要指定拆分后的每个文件最多的页数,这样可以把一个文档分割成多个独立的文档.非常的方便与实用. 前面我 ...
最新文章
- cplex学术版安装
- 重磅!Github 开放无数量限制的免费私有仓库!
- 前端学习(661):逻辑运算符
- 卷积神经网络(基础篇)
- android github 评分控件_「开源」Arcgis for Android测量工具更新至V1.9,新增绘制控件...
- 股票的资产重组什么意思?
- GetHashCode 方法 并不能保证值唯一
- mysql和memcache 查询_使用Memcache缓存MySQL查询(转载)
- 基于WiEngine游戏引擎的Sample
- 最简单的 iPad 屏幕适配方案
- android平台支付宝快捷支付
- 游戏给你带来了什么,你还在执迷不悟吗?
- java我的世界非正常退出_我的世界非正常退出怎么办???
- Apple iBeacons
- 银河麒麟用QIFW制作安装包
- docker容器日常管理(四)
- 爆款文案的底层逻辑原来是这样的,这些年白忙活了。
- 【51nod P3121】小陶与杠铃片【树状数组】
- LeetCode :: Palindrome
- PHP——你应该知道的面试题