當前位置: 妍妍網 > 辦公

PyPDF2庫,你想要的PDF操作它都有:合並、轉換、加密…

2024-03-18辦公

點選藍字 · 關註我們

大家好,我是Bryce~

相信很多人對PDF檔有各種需求,比如將多個PDF檔合成一個PDF,將PDF檔轉換為TXT檔,方便修改與復制……

而Python的PyPDF2庫,可以輕松搞定任何你想要的功能。

一、合並PDF檔

合並步驟為:

  1. 建立一個PDF寫入器物件

import PyPDF2 pdf_writer = PyPDF2.PdfWriter()

2.開啟並讀取要合並的PDF檔

input1 = open('董宇輝金句1.pdf', 'rb') input2 = open('董宇輝金句2.pdf', 'rb') pdf_reader1 = PyPDF2.PdfReader(input1) pdf_reader2 = PyPDF2.PdfReader(input2)

3.將每一頁添加到寫入器物件中

for page_num inrange(len(pdf_reader1.pages)): page_obj = pdf_reader1.pages[page_num] pdf_writer.add_page(page_obj) for page_num inrange(len(pdf_reader2.pages)): page_obj = pdf_reader2.pages[page_num] pdf_writer.add_page(page_obj)

4.將合並後的PDF寫入新檔

output_stream = open('董宇輝金句合並.pdf', 'wb') pdf_writer.write(output_stream)print(f"合並完成,檔保存在:董宇輝金句合並.pdf")output_stream.close() input1.close() input2.close()

二、PDF轉為TXT

轉換步驟為:

  1. 定義轉換函式

import PyPDF2def pdf_to_txt_line_by_line(pdf_path, txt_path) :withopen(pdf_path, 'rb') as pdf_file: reader = PyPDF2.PdfReader(pdf_file)withopen(txt_path, 'w') as txt_file:for page_num inrange(len(reader.pages)): page = reader.pages[page_num]content = page.extract_text()lines = content.split('\n')for line inlines: txt_file.write(line + '\n') print(f"轉換完成,TXT檔保存在: {txt_path}")

2.直接呼叫轉換

pdf_path = '董宇輝金句1.pdf'txt_path = '董宇輝金句1.txt'pdf_to_txt_line_by_line(pdf_path, txt_path)

真是太簡潔了!想嘗試的朋友可以後台回復【 PDF操作 】,即可獲取完整程式碼。

以上就是本次分享的全部內容。祝大家學習、工作順利!

我是Bryce,我們下期見~

你好!我是Bryce,自學從機械專業轉行大廠數據分析。轉正半年被主管破格提拔晉升一級,目前是某計畫數據業務負責人。持續分享數據分析、AI編程、AI辦公等文章,我們一起擁抱變化、一起精進。

關註我

常進步

關註下方公眾號,回復【數據分析書籍】,即可獲取SQL、Python、機器學習等方面的電子書合集。