最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用pypdf實(shí)現(xiàn)按自定義頁(yè)碼拆分PDF文件

 更新時(shí)間:2025年11月27日 08:47:39   作者:weixin_46244623  
在處理 PDF 文件時(shí),我們經(jīng)常需要按章節(jié)或頁(yè)碼范圍拆分 PDF,本文將分享一個(gè)簡(jiǎn)單實(shí)用的 Python 方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

在處理 PDF 文件時(shí),我們經(jīng)常需要按章節(jié)或頁(yè)碼范圍拆分 PDF。本文將分享一個(gè)簡(jiǎn)單實(shí)用的 Python 方法,使用 pypdf 庫(kù)按自定義頁(yè)碼拆分 PDF,并保存為單獨(dú)文件。

一、環(huán)境準(zhǔn)備

首先,確保安裝了 pypdf 庫(kù):

pip install pypdf

二、實(shí)現(xiàn)功能

下面的 Python 腳本可以將 PDF 按指定的頁(yè)碼范圍拆分為多個(gè)文件,并保存到指定文件夾。

from pypdf import PdfReader, PdfWriter
import os

def split_pdf_by_page_ranges(input_pdf, output_folder, ranges):
    reader = PdfReader(input_pdf)

    # 如果輸出目錄不存在,則創(chuàng)建
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    # 遍歷頁(yè)碼范圍
    for idx, (start_page, end_page) in enumerate(ranges, 1):
        writer = PdfWriter()

        # 頁(yè)碼從 0 開(kāi)始,用戶輸入通常是從 1 開(kāi)始
        for page_num in range(start_page - 1, end_page):
            if page_num < len(reader.pages):
                writer.add_page(reader.pages[page_num])
            else:
                print(f"Warning: page {page_num + 1} out of range.")

        # 輸出文件名
        output_filename = f"{output_folder}/chapter_{idx}_pages_{start_page}-{end_page}.pdf"
        with open(output_filename, "wb") as output_file:
            writer.write(output_file)

        print(f"Saved {output_filename}")

# ?? 自定義你的分章節(jié)頁(yè)碼(格式:[(開(kāi)始頁(yè), 結(jié)束頁(yè)), ...])
page_ranges = [
    (1, 34),   # 序
    (35, 50),  # 第一章
    (51, 73),  # 第二章
    (74, 93),  # 第三章
    (94, 118), # 第四章
    (119, 152),# 第五章
    (153, 166),# 第六章
    (167, 183),# 第七章
    (184, 206),# 第八章
    (207, 230),# 第九章
    (231, 251) # 第十章
]

# 調(diào)用函數(shù)拆分 PDF
split_pdf_by_page_ranges("input.pdf", "./output_manual_split", page_ranges)

三、功能解析

1.讀取 PDF 文件

reader = PdfReader(input_pdf)

PdfReader 用于讀取 PDF 文件內(nèi)容。

2.創(chuàng)建輸出目錄

if not os.path.exists(output_folder):
    os.makedirs(output_folder)

避免輸出目錄不存在導(dǎo)致報(bào)錯(cuò)。

3.按頁(yè)碼拆分

for page_num in range(start_page - 1, end_page):
    writer.add_page(reader.pages[page_num])

頁(yè)碼從 0 開(kāi)始,所以用戶輸入從 1 開(kāi)始,需要減 1。

4.保存拆分后的文件

with open(output_filename, "wb") as output_file:
    writer.write(output_file)

每個(gè)章節(jié)生成獨(dú)立 PDF 文件,并按章節(jié)序號(hào)命名。

四、運(yùn)行效果

假設(shè)原 PDF 文件名為 input.pdf,執(zhí)行腳本后,會(huì)在 ./output_manual_split 目錄下生成:

chapter_1_pages_1-34.pdf
chapter_2_pages_35-50.pdf
chapter_3_pages_51-73.pdf
...
chapter_11_pages_231-251.pdf

每個(gè)文件對(duì)應(yīng)你自定義的頁(yè)碼范圍。

五、總結(jié)

通過(guò) pypdf,我們可以非常方便地按自定義頁(yè)碼拆分 PDF 文件,無(wú)需復(fù)雜操作,適合電子書(shū)分章節(jié)、資料拆分等場(chǎng)景。

到此這篇關(guān)于Python使用pypdf實(shí)現(xiàn)按自定義頁(yè)碼拆分PDF文件的文章就介紹到這了,更多相關(guān)Python自定義拆分PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django進(jìn)階之CSRF的解決

    Django進(jìn)階之CSRF的解決

    這篇文章主要介紹了Django進(jìn)階之CSRF的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • JMETER如何隨機(jī)請(qǐng)求參數(shù)

    JMETER如何隨機(jī)請(qǐng)求參數(shù)

    作者分享了在業(yè)務(wù)場(chǎng)景中如何優(yōu)化接口查詢的實(shí)踐經(jīng)驗(yàn),主要面臨的問(wèn)題是需要隨機(jī)獲取上游查詢接口的結(jié)果,提出了兩種方案,方案一是反復(fù)查詢并隨機(jī)獲取查詢結(jié)果;方案二是查詢一次,然后隨機(jī)從查詢結(jié)果中獲取,通過(guò)實(shí)測(cè)比較,方案二的性能提升較大
    2024-10-10
  • 詳解python內(nèi)置常用高階函數(shù)(列出了5個(gè)常用的)

    詳解python內(nèi)置常用高階函數(shù)(列出了5個(gè)常用的)

    這篇文章主要介紹了python內(nèi)置常用高階函數(shù)(列出了5個(gè)常用的),通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python Tkinter創(chuàng)建GUI應(yīng)用程序的示例

    Python Tkinter創(chuàng)建GUI應(yīng)用程序的示例

    Tkinter提供了豐富的功能和靈活的接口,讓開(kāi)發(fā)者能夠輕松地構(gòu)建出各種各樣的圖形用戶界面,本文介紹了使用Python的Tkinter庫(kù)創(chuàng)建圖形用戶界面GUI應(yīng)用程序,感興趣的可以了解一下
    2024-12-12
  • python自動(dòng)zip壓縮目錄的方法

    python自動(dòng)zip壓縮目錄的方法

    這篇文章主要介紹了python自動(dòng)zip壓縮目錄的方法,可實(shí)現(xiàn)調(diào)用zip.exe文件進(jìn)行目錄壓縮的功能,需要的朋友可以參考下
    2015-06-06
  • Selenium chrome配置代理Python版的方法

    Selenium chrome配置代理Python版的方法

    這篇文章主要介紹了Selenium chrome配置代理Python版的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python集成測(cè)試提高軟件質(zhì)量關(guān)鍵步驟探究

    Python集成測(cè)試提高軟件質(zhì)量關(guān)鍵步驟探究

    Python是一門強(qiáng)大的編程語(yǔ)言,提供了眾多工具和庫(kù),用于執(zhí)行高效的集成測(cè)試,本文將深入介紹Python集成測(cè)試的概念、方法和最佳實(shí)踐,并通過(guò)豐富的示例代碼演示如何提高軟件質(zhì)量和減少潛在的缺陷
    2024-01-01
  • 在Python的web框架中編寫創(chuàng)建日志的程序的教程

    在Python的web框架中編寫創(chuàng)建日志的程序的教程

    這篇文章主要介紹了在Python的web框架中編寫創(chuàng)建日志的程序的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的四種方法對(duì)比分析

    Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的四種方法對(duì)比分析

    這篇文章主要介紹了Python獲取當(dāng)前頁(yè)面內(nèi)所有鏈接的方法,結(jié)合實(shí)例形式對(duì)比分析了Python常用的四種獲取頁(yè)面鏈接的方法,并附帶了iframe框架內(nèi)鏈接的獲取方法,需要的朋友可以參考下
    2017-08-08
  • Python對(duì)PDF文件的常用操作方法詳解

    Python對(duì)PDF文件的常用操作方法詳解

    PDF是Portable?Document?Format的縮寫,這類文件通常使用`.pdf`作為其擴(kuò)展名。在日常開(kāi)發(fā)工作中,最容易遇到的就是從PDF中讀取文本內(nèi)容以及用已有的內(nèi)容生成PDF文檔這兩個(gè)任務(wù)。本文為大家介紹了幾個(gè)Python中常見(jiàn)的PDF操作,需要的可以參考一下
    2022-05-05

最新評(píng)論

灯塔市| 临城县| 莫力| 上饶县| 安塞县| 新乡市| 平南县| 尚义县| 罗甸县| 永和县| 汕头市| 磴口县| 宜阳县| 修文县| 云浮市| 平凉市| 襄垣县| 庆云县| 灵川县| 临沂市| 宜都市| 西充县| 隆昌县| 三亚市| 渭源县| 定结县| 鲁甸县| 松潘县| 兴宁市| 泌阳县| 武鸣县| 桐柏县| 通山县| 五寨县| 江安县| 浙江省| 通榆县| 当雄县| 大渡口区| 察雅县| 通江县|