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

PyPDF2 庫中 PDF 文檔處理的九個基本操作指南

開發
本文將詳細介紹使用PyPDF2進行PDF處理的九個基本操作,并通過實際代碼示例幫助你快速上手。

PyPDF2是一個非常實用的Python庫,用于讀取、分割、合并、裁剪以及執行其他PDF文檔操作。它非常適合自動化處理PDF文件的任務。本文將詳細介紹使用PyPDF2進行PDF處理的九個基本操作,并通過實際代碼示例幫助你快速上手。

安裝PyPDF2

首先,你需要安裝PyPDF2庫。打開命令行工具,輸入以下命令:

pip install pypdf2

安裝完成后,你可以通過以下方式導入PyPDF2庫:

from PyPDF2 import PdfReader, PdfWriter

讀取PDF文件

讀取PDF文件是任何PDF處理任務的第一步。這里有一個簡單的示例:

# 導入必要的庫
from PyPDF2 import PdfReader

# 創建PdfReader對象
reader = PdfReader("example.pdf")

# 獲取PDF的頁數
num_pages = len(reader.pages)
print(f"Number of pages: {num_pages}")

# 獲取第一頁的內容
first_page = reader.pages[0]
text = first_page.extract_text()
print(f"First page text:\n{text}")

這段代碼首先創建了一個PdfReader對象來讀取名為example.pdf的文件,然后獲取了該PDF的總頁數并打印出來。接著,它提取了第一頁的內容并將其打印出來。

分割PDF文件

有時我們需要將一個大的PDF文件拆分成多個小文件。下面是一個如何實現這一目標的例子:

from PyPDF2 import PdfReader, PdfWriter

def split_pdf(input_pdf, output_prefix):
    # 創建PdfReader對象
    reader = PdfReader(input_pdf)

    # 遍歷每一頁
    for i in range(len(reader.pages)):
        writer = PdfWriter()

        # 添加當前頁
        writer.add_page(reader.pages[i])

        # 寫入新的PDF文件
        with open(f"{output_prefix}_{i + 1}.pdf", "wb") as f:
            writer.write(f)

split_pdf("large_document.pdf", "part")

這段代碼定義了一個函數split_pdf,它接受兩個參數:一個是輸入的PDF文件名,另一個是輸出文件的前綴。對于輸入PDF中的每一頁,它都會創建一個新的PDF文件并保存下來。

合并多個PDF文件

合并多個PDF文件也非常簡單。下面是一個示例:

from PyPDF2 import PdfReader, PdfWriter

def merge_pdfs(inputs, output):
    writer = PdfWriter()

    for input_pdf in inputs:
        reader = PdfReader(input_pdf)
        for page in reader.pages:
            writer.add_page(page)

    with open(output, "wb") as f:
        writer.write(f)

merge_pdfs(["doc1.pdf", "doc2.pdf"], "merged.pdf")

這個函數接收一個包含多個PDF文件名的列表作為輸入,并將它們合并成一個PDF文件。每添加一頁時,它都會調用add_page方法將頁面添加到最終的PDF文檔中。

旋轉PDF頁面

如果你需要調整PDF文件中某些頁面的方向,可以使用rotate_clockwise或rotate_counter_clockwise方法輕松實現:

from PyPDF2 import PdfReader, PdfWriter

def rotate_pages(input_pdf, output_pdf, angle):
    reader = PdfReader(input_pdf)
    writer = PdfWriter()

    for page in reader.pages:
        if angle == 90:
            page.rotate_clockwise(90)
        elif angle == -90:
            page.rotate_counter_clockwise(90)
        else:
            raise ValueError("Angle must be 90 or -90.")

        writer.add_page(page)

    with open(output_pdf, "wb") as f:
        writer.write(f)

rotate_pages("example.pdf", "rotated.pdf", 90)

此函數根據指定的角度(90度或-90度)旋轉PDF中的所有頁面,并將結果保存到新的PDF文件中。

加密PDF文件

加密PDF文件可以保護文件內容不被未經授權的人訪問。下面是一個簡單的加密示例:

from PyPDF2 import PdfReader, PdfWriter

def encrypt_pdf(input_pdf, output_pdf, password):
    reader = PdfReader(input_pdf)
    writer = PdfWriter()

    for page in reader.pages:
        writer.add_page(page)

    # 設置密碼
    writer.encrypt(password)

    # 寫入加密后的PDF文件
    with open(output_pdf, "wb") as f:
        writer.write(f)

encrypt_pdf("example.pdf", "encrypted.pdf", "secret")

這段代碼定義了一個函數encrypt_pdf,它接受三個參數:輸入的PDF文件名、輸出的PDF文件名和密碼。它遍歷輸入PDF中的每一頁并將其添加到writer對象中,然后使用encrypt方法設置密碼,并將加密后的PDF文件寫入到新的文件中。

解密PDF文件

如果要讀取已加密的PDF文件,需要先對其進行解密。下面是一個簡單的解密示例:

from PyPDF2 import PdfReader, PdfWriter

def decrypt_pdf(input_pdf, output_pdf, password):
    reader = PdfReader(input_pdf)

    # 檢查是否已加密
    if reader.is_encrypted:
        try:
            reader.decrypt(password)
        except Exception as e:
            print(f"Error: {e}")
            return

    writer = PdfWriter()

    for page in reader.pages:
        writer.add_page(page)

    # 寫入解密后的PDF文件
    with open(output_pdf, "wb") as f:
        writer.write(f)

decrypt_pdf("encrypted.pdf", "decrypted.pdf", "secret")

這段代碼定義了一個函數decrypt_pdf,它接受三個參數:輸入的PDF文件名、輸出的PDF文件名和密碼。它首先檢查輸入PDF是否已加密,如果是,則嘗試使用提供的密碼進行解密。如果解密成功,它會將PDF文件中的每一頁添加到writer對象中,并將解密后的PDF文件寫入到新的文件中。

添加水印

在PDF文件中添加水印可以幫助標識文檔的所有權或提醒讀者注意版權問題。下面是一個簡單的添加水印示例:

from PyPDF2 import PdfReader, PdfWriter

def add_watermark(input_pdf, watermark_pdf, output_pdf):
    reader = PdfReader(input_pdf)
    watermark_reader = PdfReader(watermark_pdf)
    writer = PdfWriter()

    # 獲取水印頁面
    watermark_page = watermark_reader.pages[0]

    for page in reader.pages:
        page.merge_page(watermark_page)
        writer.add_page(page)

    # 寫入帶有水印的PDF文件
    with open(output_pdf, "wb") as f:
        writer.write(f)

add_watermark("example.pdf", "watermark.pdf", "watermarked.pdf")

這段代碼定義了一個函數add_watermark,它接受三個參數:輸入的PDF文件名、水印PDF文件名和輸出的PDF文件名。它首先創建一個watermark_page對象來表示水印頁面,然后遍歷輸入PDF中的每一頁,并使用merge_page方法將水印頁面添加到每一頁中。最后,將帶有水印的PDF文件寫入到新的文件中。

實戰案例:批量處理PDF文件

假設你有一個文件夾中包含多個PDF文件,需要對這些文件進行批量處理,例如添加水印、加密或解密。下面是一個簡單的批量處理示例:

import os
from PyPDF2 import PdfReader, PdfWriter

def batch_process_pdf(input_folder, watermark_pdf, output_folder, password=None):
    # 創建輸出文件夾
    os.makedirs(output_folder, exist_ok=True)

    # 獲取文件夾中的所有PDF文件
    pdf_files = [f for f in os.listdir(input_folder) if f.endswith(".pdf")]

    for pdf_file in pdf_files:
        input_pdf_path = os.path.join(input_folder, pdf_file)
        output_pdf_path = os.path.join(output_folder, pdf_file)

        # 創建PdfReader對象
        reader = PdfReader(input_pdf_path)
        writer = PdfWriter()

        # 添加水印
        if watermark_pdf is not None:
            watermark_reader = PdfReader(watermark_pdf)
            watermark_page = watermark_reader.pages[0]
            for page in reader.pages:
                page.merge_page(watermark_page)
                writer.add_page(page)

        # 加密或解密
        if password is not None:
            writer.encrypt(password)
        elif reader.is_encrypted:
            reader.decrypt(password)
            for page in reader.pages:
                writer.add_page(page)

        # 寫入新的PDF文件
        with open(output_pdf_path, "wb") as f:
            writer.write(f)

batch_process_pdf("input_folder", "watermark.pdf", "output_folder", "secret")

這段代碼定義了一個函數batch_process_pdf,它接受四個參數:輸入文件夾路徑、水印PDF文件名、輸出文件夾路徑和密碼。它首先創建輸出文件夾,并獲取輸入文件夾中的所有PDF文件。

然后,對于每個PDF文件,它執行以下操作:

  • 創建一個PdfReader對象來讀取輸入PDF文件。
  • 如果提供了水印PDF文件,則添加水印。
  • 如果提供了密碼,則進行加密或解密。
  • 將處理后的PDF文件寫入到輸出文件夾中。

本文介紹了使用PyPDF2庫進行PDF文件讀取、分割、合并、旋轉、加密、解密及添加水印的基本操作。通過實際代碼示例展示了如何利用PyPDF2自動化處理PDF文件,從而提高工作效率。希望這些示例能夠幫助你更好地理解和應用PyPDF2庫。

責任編輯:趙寧寧 來源: 小白PythonAI編程
相關推薦

2024-06-12 08:36:32

PyPDF2Python庫文件處理

2023-11-20 22:07:51

PythonPDF

2019-05-23 14:59:21

PythonPDF編程語言

2020-09-15 15:50:33

Python編程語言代碼

2023-11-22 19:07:51

PyPDF2PDF文件

2024-09-24 10:16:13

PythonWord文檔

2023-11-29 11:30:17

PDF語言模型

2022-02-06 10:43:43

PDF文件Python

2024-09-30 08:10:22

2025-04-10 08:20:00

OpenCV圖像處理計算機視覺

2024-10-10 15:51:50

2019-10-15 15:15:31

Python大數據函數

2022-01-03 16:08:36

深度學習PyTorchNumPy

2024-12-31 12:00:00

OpenCVPython圖像處理

2010-04-19 13:12:36

Oracle 9i數據

2009-12-31 16:38:19

Silverlight

2023-11-06 01:10:47

2022-09-28 08:40:04

殺死一個終端進程

2024-10-07 08:26:05

編程Python異常處理

2024-05-15 09:05:43

Python文檔處理工具自動化文檔生成
點贊
收藏

51CTO技術棧公眾號

欧美在线视频不卡| 国产精品乱码人人做人人爱| 欧美激情一二三| 特级西西人体wwwww| 全球最大av网站久久| 亚洲免费伊人电影| 久久综合婷婷综合| 国产精品毛片久久久久久久av| 伊人久久成人| 色yeye香蕉凹凸一区二区av| 亚洲精品第二页| 日韩亚洲国产免费| 欧美日韩免费在线| 公共露出暴露狂另类av| 免费看男男www网站入口在线| 久久国产人妖系列| 97视频在线看| 欧美日韩生活片| 久久成人福利| 日韩亚洲国产中文字幕欧美| 成人黄色一区二区| 不卡视频观看| 一区二区三区四区不卡在线 | 黄色美女久久久| 欧美精选在线播放| 可以在线看的黄色网址| 日本aa在线| 国产精品二三区| 日本高清久久一区二区三区| 欧美亚洲精品在线观看| 国产自产视频一区二区三区| 国产精品成人国产乱一区| 国产精品不卡av| 欧美日韩国产亚洲一区| xvideos成人免费中文版| 欧美图片一区二区| 欧美三级午夜理伦三级在线观看| 日韩一区二区不卡| 成人av毛片在线观看| 欧美性片在线观看| 日本道在线观看一区二区| 天天夜碰日日摸日日澡性色av| 97影院秋霞午夜在线观看| 国产精品欧美一级免费| 日韩免费三级| 天堂91在线| 99麻豆久久久国产精品免费| 99re热精品| 国产福利资源在线| 国内成人免费视频| 91精品久久久久久久久青青| 中文字幕一区二区人妻| 日本在线不卡视频一二三区| 国产精品美女网站| 在线观看毛片视频| 蜜臀av国产精品久久久久| 国产99久久精品一区二区永久免费| 人人干人人干人人干| 国产婷婷精品| 国产成人精品免高潮在线观看| 日产精品久久久| 免费在线亚洲| 国产精品久久久久久久av电影| 久久这里只有精品9| 日韩成人精品在线观看| 国产精品一区二区三| 91亚洲国产成人精品一区| 国产综合色在线视频区| 91人成网站www| 亚洲黄色a级片| 99视频一区二区| 欧美深深色噜噜狠狠yyy| 国产对白叫床清晰在线播放| 国产精品久久毛片a| 欧美xxxx吸乳| 国产99在线| 欧洲一区在线观看| 污视频在线观看免费网站| 一区二区三区无毛| 精品日韩一区二区三区免费视频| 中文成人无字幕乱码精品区| 国产欧美高清视频在线| 日韩中文av在线| 久久久久久久久久久久久女过产乱| 一区福利视频| 国产精品高潮视频| 国产高清在线免费| 久久久久久久久岛国免费| 中国成人亚色综合网站| 白白色在线观看| 欧美午夜一区二区三区| 欧美日韩一区二区区别是什么 | 成人一级福利| 欧美视频在线一区二区三区| 国模大尺度视频| 国产aⅴ精品一区二区三区久久| 在线视频欧美性高潮| 久久久久久久极品内射| 视频一区欧美日韩| av日韩免费电影| 国产二区在线播放| 亚洲一区二区在线观看视频| www.xxx亚洲| 白嫩白嫩国产精品| 中文字幕精品国产| 日韩黄色三级视频| 精品在线免费视频| 久久精品人人做人人爽电影| 久做在线视频免费观看| 欧美日韩亚洲激情| 亚洲911精品成人18网站| 欧美日韩水蜜桃| 韩国19禁主播vip福利视频| 中文字幕有码视频| 91网站在线播放| 99re6这里有精品热视频| 第四色男人最爱上成人网| 欧美xxx久久| chinese全程对白| 日韩电影一二三区| 免费一区二区三区| 九色91在线| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲高清在线观看一区| 漫画在线观看av| 日韩久久久久久| 久久福利免费视频| 日韩av一区二区三区四区| 精品亚洲欧美日韩| 国产嫩草在线视频| 日韩欧美国产三级| 小泽玛利亚一区二区免费| 日韩成人精品在线观看| 美乳视频一区二区| 蜜桃视频在线观看播放| 精品国免费一区二区三区| 国产少妇在线观看| 国内外成人在线| 亚洲国产另类久久久精品极度| 高潮一区二区| 亚洲免费中文字幕| 你懂的国产在线| 99re8在线精品视频免费播放| 国产爆乳无码一区二区麻豆| 日韩视频一二区| 久久综合久久八八| 国产欧美日韩成人| 伊人开心综合网| 韩国三级在线看| 黄色成人在线网站| 国产欧美一区二区三区另类精品| 操你啦在线视频| 欧美大片一区二区三区| 久久久久久国产精品视频| 成人午夜视频福利| 久久久一本二本三本| 日韩高清电影免费| 欧洲亚洲免费视频| 国产高清免费av在线| 欧美色电影在线| 国产一区二区播放| 成人h动漫精品| 国产97在线 | 亚洲| 精品影片在线观看的网站| 国产成人精品网站| 91ph在线| 欧美一级日韩免费不卡| 国产精品美女毛片真酒店| 99riav久久精品riav| www.色偷偷.com| 99久久99热这里只有精品| 99精品在线直播| 性欧美18xxxhd| 日韩亚洲欧美成人| 国产小视频一区| 91黄色免费看| 久久久久久久久久网站| av在线免费不卡| 亚洲综合欧美在线| 午夜电影亚洲| 日本成人黄色| 日韩精品免费视频一区二区三区| 久久久久久久久久久成人| 你懂的在线看| 欧美一区三区四区| 国产精品一区二区三区四| 国产精品久久久一区麻豆最新章节| 久久久久久久久久久影视| 宅男噜噜噜66一区二区| 在线观看精品视频| 久久夜色精品国产噜噜av小说| 国产精品18久久久久久麻辣| 色av手机在线| 永久免费看mv网站入口亚洲| 亚洲精品911| 欧美午夜不卡在线观看免费| 久久久久久av无码免费网站| 中文字幕乱码一区二区免费| 欧美做受高潮中文字幕| 久久精品99国产精品日本| 国产精品网站免费| 国产精品国产一区| 欧美 日韩 国产在线| 欧美经典一区| 国产精品极品尤物在线观看| 后进极品白嫩翘臀在线播放| 日韩资源在线观看| 深夜福利在线观看直播| 欧美一区日韩一区| 老熟妇一区二区三区啪啪| 午夜精品aaa| 国产性xxxx| 国产精品乱人伦中文| 成年人网站免费在线观看| 国产福利一区在线| 亚洲视频一二三四| 日韩国产在线观看一区| 成人中文字幕在线播放| 欧美aa国产视频| 亚洲一区二区自拍偷拍| 美女精品一区最新中文字幕一区二区三区| 亚洲在线视频福利| 人人精品久久| 国产精品亚洲自拍| 欧美日一区二区三区| 日韩av电影国产| 少妇在线看www| 久久男人的天堂| 女子免费在线观看视频www| 久久香蕉国产线看观看网| 自拍视频在线| 中文字幕日韩欧美在线视频| 福利在线播放| 亚洲视频专区在线| 免费在线毛片| 亚洲一品av免费观看| 国产免费永久在线观看| 亚洲欧美日韩国产精品| 神马久久精品| 精品视频偷偷看在线观看| 天堂а√在线8种子蜜桃视频| 亚洲国产精品va在线| 天天舔天天干天天操| 亚洲激情第一页| 青青青草原在线| 亚洲欧美精品一区| 成人精品一区| 久久精品国产亚洲一区二区| 爆操欧美美女| 色综合91久久精品中文字幕| 黄污视频在线观看| 午夜精品久久久久久99热| 岛国av在线播放| 欧美最猛性xxxxx(亚洲精品)| 欧美性xxx| 国产精品丝袜久久久久久高清| 成人国产在线| 亚洲尤物视频网| 成人激情自拍| 久久人人97超碰人人澡爱香蕉| 自拍偷拍欧美一区| 亚洲国产婷婷香蕉久久久久久99| 婷婷激情图片久久| 99久久久精品视频| 亚洲免费网址| 色噜噜狠狠永久免费| 韩国三级中文字幕hd久久精品| 国产在线a视频| www.日韩大片| 欧美成人另类视频| 亚洲色图一区二区| 日本少妇毛茸茸高潮| 色素色在线综合| 国产又粗又猛又色又| 精品久久久久av影院| 国产午夜视频在线观看| 久久精品电影网站| 成人bbav| 成人一区二区电影| 精品视频高潮| 亚洲午夜精品福利| 在线精品在线| 午夜宅男在线视频| 成人综合婷婷国产精品久久| 亚洲永久精品ww.7491进入| 国产精品九色蝌蚪自拍| 中文在线观看免费网站| 欧美在线观看视频在线| 亚洲国产成人在线观看| 国产午夜精品一区二区三区| 精品孕妇一区二区三区| 97视频免费在线看| 国产95亚洲| 狼狼综合久久久久综合网| 久久神马影院| 777久久久精品一区二区三区| 久久精品国产秦先生| 日b视频在线观看| 亚洲免费伊人电影| 免费黄色小视频在线观看| 日韩一级在线观看| 国产毛片在线| 2021国产精品视频| 日韩精品一区二区三区中文在线 | 97久久夜色精品国产| 国产69精品久久久久久久| 国产在线视频精品一区| 91中文字幕永久在线| 亚洲一二三区视频在线观看| 国产一级片一区二区| 日韩av中文字幕在线免费观看| 精品51国产黑色丝袜高跟鞋| 国产精品成人一区二区| 色狠狠久久av综合| 国产欧美精品aaaaaa片| 久久成人18免费观看| 我和岳m愉情xxxⅹ视频| 亚洲va天堂va国产va久| 99热在线只有精品| 色av中文字幕一区| 91伊人久久| 欧美一区二区三区在线播放| 一本久久综合| 日本人妻一区二区三区| 亚洲天堂网中文字| 中文字幕久久熟女蜜桃| 亚洲免费中文字幕| 国产精品专区免费| 九九九九九精品| 亚洲成人在线| 一级少妇精品久久久久久久| 玉足女爽爽91| 国产v在线观看| 色综合久久88色综合天天看泰| 精品视频在线播放一区二区三区| 国产精品99久久久久久大便| 麻豆精品视频在线观看视频| 熟女少妇内射日韩亚洲| 欧洲中文字幕精品| 草碰在线视频| 国产在线精品一区免费香蕉| 久久国产综合| 日本精品一区在线| 日韩美女啊v在线免费观看| 91禁在线观看| 久久影视电视剧免费网站| 国产精品毛片无码| 激情视频小说图片| 国产成人免费av在线| 国产精品第108页| 亚洲精品动漫久久久久| 美女一区网站| 杨幂一区欧美专区| 国产伦精一区二区三区| 欧美日韩精品亚洲精品| 精品sm在线观看| 最新日韩精品| 日本在线观看不卡| 久久99国产精品免费网站| 中文字幕手机在线观看| 精品免费日韩av| 婷婷电影在线观看| 日韩欧美在线观看强乱免费| 久久精品72免费观看| 欧美黄色一区二区三区| 精品国产乱码久久久久久浪潮 | 欧美国产专区| 亚洲男女在线观看| 欧美视频中文在线看| 成人综合影院| 亚洲专区国产精品| 1024日韩| 18精品爽国产三级网站| 日韩视频一区二区三区| 国产h片在线观看| 亚洲人成人77777线观看| 国产精品资源在线| 国产香蕉视频在线| 中文字幕在线看视频国产欧美| 欧美视频三区| 欧美成人黑人猛交| 亚洲三级免费电影| 婷婷综合激情网| 国产在线久久久| 亚洲美女网站| 91精品少妇一区二区三区蜜桃臀| 亚洲成年人影院在线| 97人人做人人爽香蕉精品| 成人在线免费观看视频网站| 久久婷婷一区二区三区| 精品人妻无码一区二区三区蜜桃一| 欧美亚洲国产日本| 欧美成熟视频| 制服 丝袜 综合 日韩 欧美| 欧美一级高清片在线观看| 全亚洲第一av番号网站| 日韩一级特黄毛片| 国产人妖乱国产精品人妖| 人妻丰满熟妇av无码区hd| 国产精品视频资源|