日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python常用库 自动化办公类 —— PyPDF2(处理pdf文件)

發布時間:2025/3/21 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python常用库 自动化办公类 —— PyPDF2(处理pdf文件) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python常用庫 自動化辦公類 —— PyPDF2(處理pdf文件)

  • 摘要
  • PyPDF庫的安裝
  • PyPDF庫的常用功能
    • 文字提取
    • 合并pdf文件
    • 旋轉pdf頁面
    • pdf文件加密

摘要

本文主要介紹了利用python的PyPDF2庫自動處理pdf文件。

PyPDF庫的安裝

pip install PyPDF2 # 或者使用國內鏡像源安裝 pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple

PyPDF庫的常用功能

文字提取

以下圖所示pdf進行文字提取演示

生成pdf文件操作對象

f = open(r"D:\習題一 .pdf","rb") pdf_reader = PyPDF2.PdfFileReader(f)

獲取該pdf文件的頁數

page_nums = pdf_reader.numPages print(page_nums) 4

提取第一頁的文字

pdf_page_1 = pdf_reader.getPage(0)text_page_1 = pdf_page_1.extractText()print(text_page_1)f.close() 'lI{g?4/ I{4 81 e? A

可看出該庫對中文的提取質量很差,不建議使用該庫進行中文提取。

合并pdf文件

46個PDF文件為例進行合并操作

#創建pdf合并對象 pdf_merger = PyPDF2.PdfFileMerger()# 讀取需要合并的pdf文件,并添加至合并對象 for index,file_dir in enumerate(dirs): # dirs為pdf文件存儲路徑的列表對象print("read pdf {}\{}".format(len(dirs),index+1))pdf_merger.append(file_dir)# 寫出合并后的pdf文件with open("result.pdf","wb") as f:pdf_merger.write(f)print("success to merge!") # %% 合并pdf... read pdf 46\1 read pdf 46\2 read pdf 46\3 read pdf 46\4 read pdf 46\5 read pdf 46\6 read pdf 46\7 read pdf 46\8 read pdf 46\9 read pdf 46\10 read pdf 46\11 read pdf 46\12 read pdf 46\13 read pdf 46\14 read pdf 46\15 read pdf 46\16 read pdf 46\17 read pdf 46\18 read pdf 46\19 read pdf 46\20 read pdf 46\21 read pdf 46\22 read pdf 46\23 read pdf 46\24 read pdf 46\25 read pdf 46\26 read pdf 46\27 read pdf 46\28 read pdf 46\29 read pdf 46\30 read pdf 46\31 read pdf 46\32 read pdf 46\33 read pdf 46\34 read pdf 46\35 read pdf 46\36 read pdf 46\37 read pdf 46\38 read pdf 46\39 read pdf 46\40 read pdf 46\41 read pdf 46\42 read pdf 46\43 read pdf 46\44 read pdf 46\45 read pdf 46\46 success to merge!

旋轉pdf頁面

以文字提取·章節的pdf文件進行頁面旋轉操作

# 創建pdf寫入對象 pdf_writer = PyPDF2.PdfFileWriter()# 讀取待旋轉的pdf文件 pdf_reader = PyPDF2.PdfFileReader(r"D:\習題一 .pdf")# 逐頁旋轉 并將旋轉后的頁面 添加至寫入對象 for i in range(pdf_reader.numPages):# 獲取第i頁page = pdf_reader.getPage(i)# 順時針旋轉270度page.rotateClockwise(270)# 添加至寫入對象pdf_writer.addPage(page)# 保存寫入對象為pdf文件 with open("rotate_result.pdf","wb") as f:pdf_writer.write(f)

pdf文件加密

以文字提取·章節的pdf文件進行加密操作

# 讀取需要進行加密的pdf文件 pdf_reader = PyPDF2.PdfFileReader(r"D:\習題一 .pdf")# 新建一個pdf文件寫入對象 pdf_writer = PyPDF2.PdfFileWriter()# 將讀取的pdf文件逐頁添加至寫入對象 for i in range(pdf_reader.numPages):pdf_writer.addPage(pdf_reader.getPage(i))# 進行加密 pdf_writer.encrypt(user_pwd = "123456")# 寫出文件 with open("encrypt_result.pdf","wb") as f:pdf_writer.write(f)

by CyrusMay 2021 01 19

摸不到的顏色
是否叫彩虹
看不到的擁抱
是否叫做微風
——————五月天(星空)——————

總結

以上是生活随笔為你收集整理的python常用库 自动化办公类 —— PyPDF2(处理pdf文件)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。