關於Python 向pdf新增印章效果的思考及實現

2021-09-24 03:43:13 字數 1343 閱讀 5136

import fitz

import os

defrun

(target_file)

:# 開啟pdf檔案,生成乙個物件

doc = fitz.

open

(target_file)

pic_path = r'e:\pythonformat\pdf2image\all_pages'

#這裡的檔案路徑看你自己的專案路徑,

#我的專案是e:\pythonformat\pdf2image 這個是我的專案路徑,後邊是要建立的資料夾路徑

# 判斷路徑資料夾是否存在,如果不存在我們就建立乙個 好吧

ifnot os.path.exists(pic_path)

: os.mkdir(pic_path)

# 這裡就是參考的上邊連線的方法了,你們看人家的**很容易明白

for pg in

range

(doc.pagecount)

: page = doc[pg]

rotate =

int(0)

# 每個尺寸的縮放係數為2,這將為我們生成解析度提高四倍的影象。

zoom_x =

2.0 zoom_y =

2.0 trans = fitz.matrix(zoom_x, zoom_y)

.prerotate(rotate)

pm = page.getpixmap(matrix=trans, alpha=

false

)# pm.writepng('%s.png' % pg)

# 這裡因為我要寫入我上邊建立的檔案加下,所以我要進行路徑的拼接,

# 注意不要直接在這裡去改pic_path,否則他會在原有path基礎上向後追加新的字段,產生新的路徑,一定要重新寫的新的變數儲存路徑

temppic_path = os.path.join(pic_path,

(str

(pg)

+'.png'))

print

(temppic_path)

pm.writepng(temppic_path)

print

('done@@@'

)# 這裡是因為我後邊需要在最後一頁加蓋章,所以我要返回個關於頁數的索引,去進行的尋找

# 這裡減1是因為 pagecount 得到的是從1 開始的pdf頁數,而我後邊要索引的時候是從0 進行查查找的,所以先在這裡 -1

return

str(doc.pagecount -

1)

這裡因為我不太會ps就不放我的了,我用的涉及個人資訊了

關於向列表迴圈新增字典

例如 list 路人甲 路人乙 路人丙 new list dict for i in range 3 dict name list i dict print new list 結果 這是因為 字典 dict 在python裡是object,不屬於primitive type 即int float s...

利用python給pdf新增目錄

利用python讀取txt檔案時,使用的是python中的open方法,讀取檔案時最好加上檔案的編碼方式。不然有可能出現以下錯誤 unicodedecodeerror gbk codec can t decode byte 0xa6 in position 14 illegal multibyte ...

開工啦!批量向PDF檔案新增中文水印

可以通過設定批量pdf檔案所在的路徑及需要新增的水印名稱可以實現批量新增pdf水印的效果。實現思路是這樣的,通過在批量pdf檔案路徑下面生成乙個帶有水印的pdf模板。最後,將批量檔案的每個pdf頁面和水印模板進行合併完成批量新增水印的效果。閱讀全文 需要注意的是批量pdf檔案必須和pdf模板水印檔案...