Python处理PDF文档 合并两个PDF文档 和 截取指定页面
生活随笔
收集整理的這篇文章主要介紹了
Python处理PDF文档 合并两个PDF文档 和 截取指定页面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
處理PDF的類庫
命令行中使用 pip install PyPDF2 來安裝相關的類庫PyPDF2,這個類庫可以用來合并,分割以及疊加不同的PDF文件,操作非常簡便,而且可以處理很大的文件。
PyPDF2用法
# 使用PdfFileReader方法獲取一個輸入的PDF文檔對象 f=open("File.pdf","rb") pdf=PyPDF2.PdfFileReader(f)# 輸入的PDF文檔對象的numPages屬性指出PDF文檔有多少頁 pgNmb=pdf.numPages# 輸出文檔對象的建立用PyPDF2.PdfFileWriter()方法,其中不用傳遞參數 pdfNew=PyPDF2.PdfFileWriter()# 單頁的對象獲取(后可用來添加到其他文檔中),使用輸入文檔對象的getPage(pgNbr)方法,參數是頁碼數(從0開始) pdf.getPage(i)# 把單頁文檔添加到輸出文檔對象中 for i in range(pgNmb):pdfNew.addPage(pdf.getPage(i))# 將輸出文檔對象進行輸出到指定文件,使用輸出文檔對象的write方法,參數是一個用open打開的可寫入的文件 fWrt=open(nmMerged,"wb") pdfNew.write(fWrt)代碼
合并兩個PDF文檔
使用方法 py PDFCombiner.py File.pdf File2.pdf [Output.pdf]
import PyPDF2 import sysif len(sys.argv)<3:print("File.pdf File2.pdf [OutputPDF.pdf]")sys.exit() else:nmFl= sys.argv[1]nmFl2=sys.argv[2]# print("nmFl:",nmFl)# print("nmFl2:",nmFl2)if len(sys.argv)==4:nmMerged=sys.argv[3]else:nmMerged="Merged_"+nmFlf=open(nmFl,"rb") f2=open(nmFl2,"rb")pdf=PyPDF2.PdfFileReader(f) pdf2=PyPDF2.PdfFileReader(f2)pg=pdf.numPages pg2=pdf2.numPagespdfNew=PyPDF2.PdfFileWriter()for i in range(pg):pdfNew.addPage(pdf.getPage(i))for i in range(pg2):pdfNew.addPage(pdf2.getPage(i))fWrt=open(nmMerged,"wb")pdfNew.write(fWrt)fWrt.close() f.close() f2.close()
出現異常的提示,忽略即可。
截取PDF文檔的指定頁面
使用方法 py PDFSplitter.py Fild.pdf StartPage EndPage [Output.pdf]
import PyPDF2 import sysif len(sys.argv)<4:print("File.pdf StartPage EndPage [OutputPDF.pdf]")sys.exit() else:nmFl= sys.argv[1]pgStrt=int(sys.argv[2])pgEnd = int(sys.argv[3])if (sys.argv==4):nmSplited="Splited_"+nmFlelse:nmSplited=sys.argv[4]f=open(nmFl,"rb")pdf=PyPDF2.PdfFileReader(f)pg=pdf.numPagespdfNew=PyPDF2.PdfFileWriter()for i in range(pgStrt-1,pgEnd):pdfNew.addPage(pdf.getPage(i))fWrt=open(nmSplited,"wb")pdfNew.write(fWrt)fWrt.close() f.close()總結
以上是生活随笔為你收集整理的Python处理PDF文档 合并两个PDF文档 和 截取指定页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【datawhale-gitmodel】
- 下一篇: Python 代码实现验证码识别