Portable Document Format(可移植文檔格式),或者PDF是一種文件格式,可以用於跨操作系統的呈現和文檔交換。儘管PDF最初是由Adobe發明的,但它現在是由國際標準化組織(ISO)維護的開放標準。你可以通過使用PyPDF2包在Python中處理已先存在的PDF。
PyPDF2是一個純Python包,可用於許多不同類型的PDF操作。
本文將帶你了解如何執行以下操作:
從Python中提取PDF中的文檔信息
- 旋轉頁面
- 合併PDF
- 拆分PDF
- 添加水印
- 加密PDF
pyPdf,PyPDF2和PyPDF4的歷史
最初的pyPdf軟體包於2005年發布。pyPdf的最後一個正式版本是在2010年。大約一年後,一家名為Phasit的公司贊助了一個名為PyPDF2的pyPdf分支。該代碼編寫為向後與原始代碼兼容,並且用了好多年,效果一直很好,其最後一個版本是在2016年。
有一個名為PyPDF3的軟體包簡短系列版本,然後該項目被重命名為PyPDF4。所有這些項目都完全相同,但pyPdf和PyPDF2 +之間的最大區別在於後者版本增加了Python 3支持。Python 3的原始pyPdf有一個不同的Python 3分支,但是這個分支已經多年沒有維護了。
雖然最近放棄了PyPDF2,但新的PyPDF4與PyPDF2沒有完全的向後兼容性。本文中的大多數示例都可以與PyPDF4完美配合,但也有一些不能,這就是為什麼PyPDF4在本文中沒有更多的特色。隨意用PyPDF4替換PyPDF2的導入,看看它是如何工作的。
pdfrw:一個替代的PDF操作包
Patrick Maupin創建了一個名為pdfrw的軟體包,它可以完成許多與PyPDF2相同的工作。除了加密的特殊情況外,本文後面提到PyPDF2的所有操作,pdfrw均可以實現。
pdfrw的最大區別在於它與ReportLab軟體包集成,因此你可以使用一些或所有預先存在的PDF構建一個新的PDF。
PyPDF2的安裝
如果使用Anaconda而不是常規Python,可以使用pip或conda安裝PyPDF2。以下是使用pip安裝PyPDF2的方法:
$pip install pypdf2
由於PyPDF2沒有任何依賴,因此安裝非常快。
如何從Python中提取PDF文檔信息
我們可以使用PyPDF2從PDF中提取元數據和一些文本,尤其是當在預先存在的PDF文件上執行某些類型的自動化時是非常有用的。
以下是當前可以提取的數據類型:
- Author
- Creator
- Producer
- Subject
- Title
- Number of page
可以在自己的電腦上隨便找一個PDF文件進行嘗試操作。下面是使用該PDF編寫一些代碼,並了解如何訪問這些屬性:
※Python學習教程:第六天—函數和模塊的使用!
※Python編程有話說:這10個對Web開發者最有用的Python包
※如何高效學python?這篇文章就是為想學的你寫的
※輕量級辦公平台開發實錄(10):日程管理模型設計
※如何能夠短時間高效踏實學習Python?你應該掌握這幾點!
TAG:Python | PDF |