日常辦公中,經(jīng)常會使用PDF文檔,難免需要對PDF文檔進行編輯,有時候PDF文檔中的大部分內容都是一樣的,只是發(fā)送對象不同。
這種模板套用的場景下,使用Python進行自動化就尤為方便,用最短的時間辦最高效的事。
今天就給大家講講如何用Python自動套用模板批量生成下方這樣的PDF文檔。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果沒有,請訪問這篇文章:超詳細Python安裝指南 進行安裝。如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda
Windows環(huán)境下打開Cmd(開始—運行—CMD),蘋果系統(tǒng)環(huán)境下請打開Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。
當然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來,在編輯器下方的終端運行命令安裝依賴模塊,多舒服的一件事啊:Python 編程的最好搭檔—VSCode 詳細指南。
在終端輸入以下命令安裝我們所需要的依賴模塊:
pip install fpdf
看到 Successfully installed xxx 則說明安裝成功。
本文完整源代碼可在【Python實用寶典】公眾號后臺回復:批量生成pdf 下載。
2.基本使用
PyPDF是從PHP移植到Python的第三方模塊。其主要特點有:
1.非常容易使用和擴展
2.提供了許多簡單示例
3.沒有外部依賴項
4.不需要安裝變異其他庫(DLL)
它的基本功能有:
1.調整PDF精度、頁面格式、邊距
2.管理頁眉、頁腳
3.自動分頁符、自動換行和文本對齊
4.支持圖像、顏色、超鏈接文本
5.支持壓縮
一個最簡單的生成示例:
生成的效果如下,由于PDF空白處太多,這里只截字體部分:
把生成的文本變復雜一點:
注意cell的參數(shù):
- border 取值為0或1,代表是否顯示邊框。
- ln 是指在生成該文本框之后焦點移動到的位置,0 代表到該文本框的右邊,1 代表換行,2 代表文本框的正下方。
- align 是指文本對齊格式,C為居中、L為左對齊、R為右對齊。
因此上述代碼會生成類似這樣的PDF文檔:
**cell **還有2個參數(shù):
- fill 參數(shù)用于設置文本框的背景,TRUE時為白色,F(xiàn)alse為透明。
- link 參數(shù)用于添加超鏈接
下面看一個比較復雜的例子,帶圖片LOGO作為頁眉,帶頁數(shù)作為頁腳的PDF文檔:
看看要怎么實現(xiàn)這個PDF文檔的生成。
首先需要繼承FPDF類,以用于自定義頁眉和頁腳。
這樣設置完頁眉也頁腳后,只要你使用該類定義PDF文檔,便會自動帶上頁眉頁腳。
真的是非常方便。
3.批量生成PDF
接下來在Python實用寶典網(wǎng)站(https://pythondict.com)上隨機抽取了5位注冊了賬號的同學的ID批量制作祝福PDF文檔。
這里可以復用咱剛自定義完成的頁眉和頁尾。不過,為了顯示中文,需要在繼承的類里面添加并設置字體為本地中文字體,如:
注意,add_font第一個參數(shù)是該字體注冊進FPDF的名字,之后set_font的時候都使用該名字。
然后將用戶名都放到一個數(shù)組里,遍歷該數(shù)組,填充用戶名,循環(huán)批量生成PDF.
-
PDF
+關注
關注
1文章
168瀏覽量
33700 -
文檔
+關注
關注
0文章
45瀏覽量
11993 -
編輯器
+關注
關注
1文章
806瀏覽量
31172 -
python
+關注
關注
56文章
4797瀏覽量
84689
發(fā)布評論請先 登錄
相關推薦
評論