精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

超全總結!聊聊 python 操作PDF的幾種方法

新聞 前端
大家好,有關Python操作PDF的案例之前已經寫過一個PDF批量合并,這個案例初衷只是給大家提供一個便利的腳本,并沒有太多講解原理,其中涉及的就是PDF處理很實用的模塊PyPDF2。

  一、前言

大家好,有關Python操作PDF的案例之前已經寫過一個PDF批量合并,這個案例初衷只是給大家提供一個便利的腳本,并沒有太多講解原理,其中涉及的就是PDF處理很實用的模塊PyPDF2,本文就好好剖析一下這個模塊,主要將涉及

  • os 模塊綜合應用
  • glob 模塊綜合應用
  • PyPDF2 模塊操作

二、基本操作

PyPDF2 導入模塊的代碼常常是:

  1. from PyPDF2 import PdfFileReader, PdfFileWriter 

這里導入了兩個方法:

  • PdfFileReader 可以理解為讀取器
  • PdfFileWriter可以理解為寫入器

接下來通過幾個案例進一步認識這兩個工具的奇妙之處,用到的示例文件是5個發(fā)票的pdf

最全總結!聊聊 python 操作PDF的幾種方法

每個發(fā)票的PDF都由兩頁組成:

最全總結!聊聊 python 操作PDF的幾種方法

三、合并

第一個工作是將5個發(fā)票pdf合并成10頁。這里讀取器和寫入器應該怎么配合呢?

邏輯如下:

  1. 讀取器將所有pdf讀取一遍
  2. 讀取器將讀取的內容交給寫入器
  3. 寫入器統(tǒng)一輸出到一個新pdf

這里還有一個重要的知識點:讀取器只能將讀取的內容一頁一頁交給寫入器。

因此,邏輯中第1步和第2步實際上不是彼此獨立的步驟,而是讀取器讀取完一個pdf后,就將這個pdf全部頁循環(huán)一遍,挨頁交給寫入器。最后等讀取工作全部結束后再輸出。

看一下代碼可以讓思路更清楚:

  1. from PyPDF2 import PdfFileReader, PdfFileWriter 
  2. path = r'C:\Users\xxxxxx' 
  3. pdf_writer = PdfFileWriter()for i in range(16): 
  4.     pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i)) 
  5.     for page in range(pdf_reader.getNumPages()): 
  6.         pdf_writer.addPage(pdf_reader.getPage(page))with open(path + r'\合并PDF\merge.pdf''wb') as out: 
  7.     pdf_writer.write(out) 

由于全部內容都需要交給同一個寫入器最后一起輸出,所以寫入器的初始化一定是在循環(huán)體之外的.

如果在循環(huán)體內則會變成每次訪問讀取一個pdf就生成一個新的寫入器,這樣每一個讀取器交給寫入器的內容就會被反復覆蓋,無法實現我們的合并需求!

循環(huán)體開頭的代碼:

  1. for i in range(16): 
  2.     pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i)) 

目的就是每次循環(huán)讀取一個新的pdf文件交給讀取器進行后續(xù)操作。實際上這種寫法不是很提倡,由于各pdf命名恰好很規(guī)則,所以可以直接人為指定數字進行循環(huán)。更好的方法是用 glob 模塊:

  1. import glob 
  2. for file in glob.glob(path + '/*.pdf'): 
  3.     pdf_reader = PdfFileReader(path) 

代碼中 pdf_reader.getNumPages(): 能夠獲取讀取器的頁數,配合range就能遍歷讀取器的所有頁。

pdf_writer.addPage(pdf_reader.getPage(page))能夠將當前頁交給寫入器。

最后,用with新建一個pdf并由寫入器的 pdf_writer.write(out)方法輸出即可

四、拆分

如果明白了合并操作中讀取器和寫入器的配合,那么拆分就很好理解了,這里我們以拆分INV1.pdf為2個單獨的pdf文檔為例,同樣也先來捋一捋邏輯:

  1. 讀取器讀取PDF文檔
  2. 讀取器一頁一頁交給寫入器
  3. 寫入器每獲取一頁就立即輸出

通過這個代碼邏輯我們也可以明白,寫入器初始化和輸出的位置一定都在讀取PDF循環(huán)每一頁的循環(huán)體內,而不是在循環(huán)體外

代碼很簡單:

  1. from PyPDF2 import PdfFileReader, PdfFileWriter 
  2. path = r'C:\Users\xxx' 
  3. pdf_reader = PdfFileReader(path + '\INV1.pdf'
  4. for page in range(pdf_reader.getNumPages()): 
  5.     # 遍歷到每一頁挨個生成寫入器 
  6.     pdf_writer = PdfFileWriter() 
  7.     pdf_writer.addPage(pdf_reader.getPage(page)) 
  8.     # 寫入器被添加一頁后立即輸出產生pdf 
  9.     with open(path + '\INV1-{}.pdf'.format(page + 1), 'wb') as out: 
  10.         pdf_writer.write(out) 

五、水印

本次的工作是將下圖作為水印添加到INV1.pdf中

[[342208]]

首先是準備工作,將需要作為水印的圖片插入word中調整合適位置后保存為PDF文件。然后就可以碼代碼了,需要額外用到copy模塊,具體解釋見下圖:

最全總結!聊聊 python 操作PDF的幾種方法

就是把讀取器和寫入器初始化,并且把水印PDF頁先讀取好備用,核心代碼稍微比較難理解:

最全總結!聊聊 python 操作PDF的幾種方法

加水印本質上就是把水印PDF頁和需要加水印的每一頁都合并一遍

由于需要加水印的PDF可能有很多頁,而水印PDF只有一頁,因此如果直接把水印PDF拿來合并,可以抽象理解成加完第一頁,水印PDF頁就沒有了

因此不能直接拿來合并,而要把水印PDF頁不斷copy出來成新的一頁備用new_page,再運用.mergePage方法完成跟每一頁合并,把合并后的頁交給寫入器待最后統(tǒng)一輸出!

關于.mergePage的使用:出現在下面的頁.mergePage(出現在上面的頁),最后效果如圖:

[[342209]]

六、加密

加密很簡單,只需要記住:「加密是針對寫入器加密」

因此只需要在相關操作完成后調用pdf_writer.encrypt(密碼)

以單個PDF的加密為例:

最全總結!聊聊 python 操作PDF的幾種方法

寫在最后

當然除了對PDF的合并、拆分、加密、水印,我們還可以使用Python結合Excel和Word實現更多的自動化需求,這些就留給讀者自己開發(fā)。

最后還是希望大家能夠理解Python辦公自動化的一個核心就是批量操作-解放雙手,讓復雜的工作自動化!

 

責任編輯:張燕妮 來源: 早起Python
相關推薦

2021-12-29 09:00:36

Go文件syscall

2010-05-17 15:17:06

MySQL常用操作

2024-05-10 12:59:58

PyTorch人工智能

2024-03-01 20:55:40

Pytorch張量Tensor

2021-03-08 09:32:04

Python文件命令

2024-06-03 08:26:34

Android開發(fā)監(jiān)聽器

2025-01-20 08:00:00

圖像增強深度學習AI

2009-09-18 12:29:55

2013-08-21 11:31:21

iPhone圖片方法

2010-06-03 08:55:43

LINQ

2024-06-11 07:34:58

C#字符串性能

2024-12-31 07:00:00

2010-01-22 14:46:25

C++語言

2010-04-30 16:22:07

Unix終端

2010-10-26 09:23:03

Web Service

2020-07-14 09:58:01

Python開發(fā)工具

2009-09-09 11:24:46

PHP實現MVC

2011-06-16 10:48:33

session

2020-08-24 08:05:47

JavaScriptJavaScript 頁面

2021-02-26 13:20:48

Shell空行Linux
點贊
收藏

51CTO技術棧公眾號

亚洲www啪成人一区二区麻豆| 国产一区啦啦啦在线观看| 亚洲欧美国产精品久久久久久久| av免费网站观看| 老司机av在线免费看| 从欧美一区二区三区| 日本国产精品视频| 久久福利免费视频| 日韩最新在线| 5月丁香婷婷综合| 欧美成人三级在线视频| 日本中文在线| 久久尤物电影视频在线观看| 91久久久久久久| 国产91精品一区| 中文在线播放一区二区| 亚洲系列中文字幕| 日本精品一二三| 国产精品蜜月aⅴ在线| 婷婷开心激情综合| 自拍偷拍视频在线| 欧美18xxxxx| 成人免费视频app| 成人中文字幕+乱码+中文字幕| 成人毛片18女人毛片| 综合天堂久久久久久久| 伊人久久精品视频| 男男做爰猛烈叫床爽爽小说| 久久久国产精品网站| 欧美午夜精品伦理| 91网站在线观看免费| 久久综合网导航| 中文字幕巨乱亚洲| 另类欧美小说| 女人18毛片一区二区三区| 国产自产v一区二区三区c| 国产精品久久久久7777婷婷| www..com国产| 亚洲精品护士| 久久久久中文字幕| 欧美片一区二区| 婷婷中文字幕一区| 中文字幕在线亚洲| mm131丰满少妇人体欣赏图| 日韩黄色网络| 日韩理论片久久| 久久久午夜精品福利内容| 一区二区在线免费播放| 欧美一级艳片视频免费观看| 午夜免费福利视频在线观看| jizzyou欧美16| 色老综合老女人久久久| 蜜臀av午夜一区二区三区| √天堂8资源中文在线| 亚洲国产欧美在线| 久草视频这里只有精品| 手机av免费在线| 伊人一区二区三区| 毛片av在线播放| 青青青草视频在线| 亚洲欧美日本韩国| 黄色免费高清视频| 91麻豆一二三四在线| 一区二区三区不卡视频在线观看| 超碰在线免费观看97| 黄色成人在线| 一区av在线播放| 97超碰在线人人| 操人在线观看| 欧美性高潮床叫视频| 极品美女扒开粉嫩小泬| 偷拍视频一区二区三区| 欧美日韩在线观看一区二区| 激情久久综合网| 亚洲视频国产| 精品视频中文字幕| 制服 丝袜 综合 日韩 欧美| 欧美gvvideo网站| 欧美日韩成人在线播放| 国产精品成人aaaa在线| 先锋影音久久久| 国产精品视频一区二区三区四| 亚洲无码精品在线观看| 国产精品69毛片高清亚洲| 精品一区久久久| 成人好色电影| 亚洲精品你懂的| 欧美久久在线观看| 日韩一区二区三区在线免费观看| 91精品国产色综合久久| 午夜剧场免费看| 欧美日韩精品一区二区视频| 欧美老女人性生活| 51国产偷自视频区视频| 精品一区二区成人精品| 国产日本一区二区三区| 草碰在线视频| 亚洲一二三区在线观看| 国产视频一区二区视频| 精品视频一区二区三区| 精品中文字幕久久久久久| av最新在线观看| 国产亚洲亚洲| 亚洲影院在线看| 精品美女视频在线观看免费软件| 亚洲欧洲综合另类| 欧美国产日韩在线播放| 一区二区三区欧洲区| 一本色道久久88综合亚洲精品ⅰ| 五月婷婷一区二区| 日本成人在线视频网站| 精品乱码一区二区三区| 国产激情视频在线观看| 色呦呦国产精品| 国产精品偷伦视频免费观看了| 精品国产a一区二区三区v免费| 久久久久国产视频| 国产精品伦一区二区三区| 26uuu精品一区二区三区四区在线| 中文字幕人成一区| 午夜欧美巨大性欧美巨大| 精品sm在线观看| 91香蕉视频网| 日本vs亚洲vs韩国一区三区| 久久www免费人成精品| av文字幕在线观看| 欧美视频日韩视频| 在线观看福利片| 99精品免费| 国产98在线|日韩| 精品国产白色丝袜高跟鞋| 在线日韩国产精品| 精品夜夜澡人妻无码av| 欧美午夜不卡| av色综合网| 超碰在线免费播放| 欧美日本一道本在线视频| 在线观看日本中文字幕| 欧美一级二区| 精品久久蜜桃| 成人免费观看在线观看| 欧美videofree性高清杂交| 欧美视频一区二区在线| 久久国产精品色| 一本一道久久a久久精品综合 | 久精品免费视频| 国产精品久久久久久久成人午夜| 国产精品嫩草影院com| 91人人澡人人爽人人精品| 国产中文精品久高清在线不| 日韩免费不卡av| 国产福利电影在线| 在线精品观看国产| 日本综合在线观看| 久久精品国产亚洲a| 中文字幕综合在线观看| 亚洲一区二区三区久久久| 久久九九热免费视频| 99久久精品免费看国产交换| 亚洲精品国产一区二区三区四区在线| 天天做天天干天天操| 亚洲精品久久久| 成人9ⅰ免费影视网站| 丰满大乳少妇在线观看网站| 亚洲国产毛片完整版| 伦av综合一区| 国产精品久久久久久久久免费桃花| 青青草久久伊人| 欧美区一区二| 久久久久久久久久久久久久一区| jk漫画禁漫成人入口| 国产亚洲精品久久久久久牛牛| 中文在线字幕免费观| 亚洲视频综合在线| 熟女人妻一区二区三区免费看| 99国产成+人+综合+亚洲欧美| 欧美日韩亚洲综合一区二区三区激情在线| 中文字幕av一区二区三区佐山爱| 日韩一级黄色av| 成人爽a毛片一区二区| 欧美日韩国产一区二区三区| 国产三级在线观看完整版| 激情欧美一区二区三区在线观看| 国产欧美123| 亚洲人成网站77777在线观看| 国产精品视频久久久久| 色老头在线观看| 亚洲人午夜精品| av官网在线观看| 一本高清dvd不卡在线观看| 美女视频久久久| 99国产精品99久久久久久| 性欧美videossex精品| 欧美日本不卡| 亚洲欧美日韩国产成人综合一二三区| youjizz亚洲| 国产精品丝袜白浆摸在线| 国产精品—色呦呦| 中文字幕亚洲无线码a| 色网站免费观看| 欧美顶级少妇做爰| 亚洲黄网在线观看| 亚洲自拍偷拍麻豆| 在线观看亚洲大片短视频| 成人精品国产一区二区4080| 无限资源日本好片| 99人久久精品视频最新地址| 中文字幕一区二区三区最新| 中文字幕伦av一区二区邻居| 91一区二区三区| 91成人在线| 欧美在线视频a| 黄色污污视频在线观看| 丝袜情趣国产精品| 久草福利在线视频| 亚洲精品ady| www.热久久| 3atv一区二区三区| 黄色污污视频软件| 精品露脸国产偷人在视频| 欧美成人免费观看视频| 中文字幕亚洲在| 少妇av片在线观看| ww久久中文字幕| 人妻 日韩 欧美 综合 制服| 国产自产v一区二区三区c| 91热这里只有精品| 亚洲欧美日韩国产一区| 日本国产在线播放| 国产一区日韩欧美| 国产一级片91| 永久91嫩草亚洲精品人人| 一区二区不卡在线观看| 成人情趣视频| 四虎影视永久免费在线观看一区二区三区 | 美国成人毛片| 日韩精品中文字幕有码专区| 亚州av在线播放| 亚洲精品www久久久久久广东| 韩国av电影在线观看| 日韩一二在线观看| 国产夫妻自拍av| 日韩视频免费观看高清完整版| 国产一区二区三区三州| 欧美精品亚洲二区| 国产又大又粗又长| 欧美肥胖老妇做爰| 国产视频第二页| 日韩一二三区视频| 亚洲免费国产视频| 精品奇米国产一区二区三区| 亚洲伦理在线观看| 亚洲精品一线二线三线| 手机看片福利在线| 亚洲精品视频网上网址在线观看| 亚洲色图另类小说| 亚洲区一区二区| av在线收看| 久久精品中文字幕一区| 少女频道在线观看免费播放电视剧| 欧美日韩福利视频| 电影在线观看一区| 日韩免费高清在线观看| 激情欧美一区二区三区黑长吊| 成人免费xxxxx在线观看| 免费观看在线一区二区三区| 国产精品一区二区三区四区五区 | 97久久超碰国产精品| 性色av蜜臀av色欲av| 久久久久国产免费免费| 国产又粗又猛又爽又黄的视频四季 | 西西裸体人体做爰大胆久久久| www.国产区| 激情成人午夜视频| 中文字幕天堂av| 久久久亚洲欧洲日产国码αv| 88久久精品无码一区二区毛片| 国产精品视频麻豆| 青青草偷拍视频| 欧美性感美女h网站在线观看免费| 正在播放木下凛凛xv99| 日韩三级在线免费观看| 天堂网av在线播放| 色视频www在线播放国产成人| 婷婷色在线播放| 欧洲日本亚洲国产区| 在线观看亚洲精品福利片| 国产精品高清一区二区三区| 久久不卡国产精品一区二区| 四虎精品欧美一区二区免费| 一区二区三区四区五区在线| 亚洲36d大奶网| 高清在线观看日韩| 在线看片中文字幕| 香蕉加勒比综合久久| 中文字幕在线观看精品| 亚洲国产精品999| 婷婷成人激情| 欧美中文字幕视频| 视频精品二区| 亚洲综合视频一区| 亚洲裸体俱乐部裸体舞表演av| 久久久久xxxx| 久久亚洲影视婷婷| 免费毛片在线播放免费| 91成人在线精品| 三级视频在线看| 欧美成人精品在线观看| 欧美极品免费| 国产精品夜夜夜一区二区三区尤| 国产精品99一区二区三| 国产男女激情视频| 成人av网站免费| 欧美国产日韩在线观看成人| 欧美亚洲动漫精品| 天堂av网在线| 97精品伊人久久久大香线蕉| gogo大尺度成人免费视频| 日本一区二区三区免费观看| 国产欧美在线| 潘金莲一级淫片aaaaa| 综合久久久久综合| 最新在线中文字幕| 亚洲热线99精品视频| 欧美办公室脚交xxxx| 国产麻豆乱码精品一区二区三区| 亚洲精品99| 黄色aaaaaa| 国产精品激情偷乱一区二区∴| 夜夜躁日日躁狠狠久久av| 亚洲欧美精品suv| 日本乱码一区二区三区不卡| 精品乱码一区| 先锋影音国产一区| 极品人妻一区二区三区| 丰满岳妇乱一区二区三区| 秋霞欧美在线观看| 欧美激情视频网址| 欧美黄视频在线观看| 久久久久久久久网| 韩国精品免费视频| 麻豆天美蜜桃91| 欧美一区二区久久久| 影音先锋在线播放| www.久久久| 亚洲伦伦在线| www.色天使| 色94色欧美sute亚洲线路二| 韩国三级在线观看久| 国产成人在线视频| 欧美亚洲国产激情| 在线观看av网页| 亚洲欧美一区二区三区孕妇| 精品人妻无码一区二区| 久久久久久久久久av| 欧美交a欧美精品喷水| 91黄色小网站| 国产精品视频看| 国产夫绿帽单男3p精品视频| 国精产品一区一区三区有限在线| 亚洲日本va中文字幕| 精品无码一区二区三区在线| 91免费国产在线观看| 一级特黄免费视频| 色悠悠国产精品| 视频一区视频二区欧美| 少妇高潮毛片色欲ava片| 久久九九全国免费| 97超视频在线观看| 欧美寡妇偷汉性猛交| 女同另类激情重口| 国产九九在线视频| 亚洲精品美腿丝袜| 色婷婷综合视频| 国产精品久久一区主播| 一个色综合网| 久久久久麻豆v国产精华液好用吗| 在线免费视频一区二区| 日韩在线观看www| 国产私拍一区| 日本午夜一本久久久综合| 国产午夜手机精彩视频| 亚洲精品乱码久久久久久金桔影视| 国产综合色区在线观看| 做爰高潮hd色即是空| www.欧美色图| 亚洲一区二区三区网站| 国模精品系列视频| 成人动漫免费在线观看| 性折磨bdsm欧美激情另类| 91国产免费看| gogo久久| 伊人久久av导航| 99久久免费国产| 国产精品探花视频| 日韩av免费网站| 在线国产欧美| 加勒比婷婷色综合久久| 亚洲欧美在线一区二区| 伊人精品久久|