從整期刊物中抽出自己的文章
期刊寄來 180 頁的整期 PDF,你的文章在第 41–53 頁。按範圍填 41-53,輸出一個 13 頁的文件,文件名自動帶上 _第41-53页。
使用指南
PDF 拆分把一個多頁 PDF 按你給出的規則切成若干個獨立的 PDF 文件,全部計算在瀏覽器內完成,源文件不上傳也不被修改。
更新於 2026-09-094 个来源约 12 分钟读完
PDF 拆分把一個多頁 PDF 按你給出的規則切成若干個獨立的 PDF 文件,全部計算在瀏覽器內完成,源文件不上傳也不被修改。
需要它的場景往往是「一份文件,多個去處」:一本合同要把簽字頁單獨發給對方;掃描儀把整疊材料掃成了一個 100 頁的文件,而每 4 頁才是一個人的表格;期刊寄來整期 PDF,你只想留下自己的那篇;或者反過來,某個平台限制單文件頁數,你得把長文檔切成幾段上傳。
它提供四種切法:按範圍(每個範圍一個文件,也可以合成一個)、每 N 頁(等分)、選中頁(在縮略圖裏點選,抽成一個新文件)和逐頁(每頁一個文件)。多於一個輸出文件時自動打包成 zip 下載,只有一個時直接下載 PDF。
拆分作用於「當前排列」而不是原始文件:如果你先在中間區域刪掉了空白頁、把顛倒的頁轉正,拆分的頁碼和內容都以整理後的狀態為準。這讓「先整理再拆」成為一步操作,但也意味着你輸入的頁碼指的是屏幕上的序號。
1-3,5,8-10,每個範圍輸出一個文件;打開「把所有範圍合併為一個文件」則把這些範圍按輸入順序拼成一個。
- 每 N 頁:填寫「每份頁數」,從第 1 頁起等分,最後一份可能不足 N 頁。
- 選中頁:先在中間區域點選頁面(Shift 連選一段),面板會顯示已選頁數,輸出一個只含這些頁的 PDF。
- 逐頁:每頁導出一個單頁 PDF,全部打包成 zip。contract_第1-3页.pdf;多個文件打包為 contract_拆分.zip。對一份 12 頁的合同(contract.pdf,11.5 KB)做兩次拆分,真實輸出如下:
範圍語法允許的寫法:
會被拒絕並提示原因的寫法:0-3(頁碼從 1 開始)、5-2(起始頁大於結束頁)、10-15(超出總頁數時提示實際頁數)、a-b(無法識別)。

按範圍:1-3,5,8-
contract_拆分.zip(10.2 KB),內含 3 個文件
contract_第1-3頁.pdf 3 頁
contract_第5頁.pdf 1 頁
contract_第8-12頁.pdf 5 頁 ← 「8-」表示從第 8 頁到最後
未出現在任何範圍裏的第 4、6、7 頁不會輸出
每 N 頁:N = 4
contract_拆分.zip(12.8 KB),內含 3 個文件
contract_第1-4頁.pdf
contract_第5-8頁.pdf
contract_第9-12頁.pdf1-3,5,8-10 逗號分隔,連字符表示閉區間
1-3、5 8-10 頓號、空格同樣視為分隔符
2—5 2~5 長橫線、半角波浪號會被規整為「-」
9- 到最後一頁
-3 從第 1 頁到第 3 頁
1-3,2-6 範圍可以重疊:第 2、3 頁會同時出現在兩個輸出裏一個 PDF 文件內部沒有「第 5 頁」這個字段。文檔目錄下掛着一棵頁面樹(Page Tree),葉子節點是一個個 /Page 對象;閲讀器按深度優先遍歷這棵樹,遇到的第 5 個葉子就叫第 5 頁。這個序號叫物理頁碼,與頁面上印着的「5」或目錄裏的「第五章 …… 5」沒有必然關係。
PDF 還允許在文檔級定義頁面標籤(Page Labels),讓閲讀器把前言顯示成 i、ii、iii,正文從 1 重新開始。本工具的範圍輸入使用的是物理頁碼,也就是縮略圖下方標註的數字;如果你的文件有羅馬數字前言,請按縮略圖上的序號而不是頁面上印的頁碼來填。
拆分與合併共用同一套機制:用 pdf-lib 新建空文檔,按分組把頁面從源文件「複製」過來。每一頁被複制時,它引用的內容流、字體、圖片、頁級批註一起被深拷貝並重新編號;頁面旋轉通過 /Rotate 寫入。分組之間彼此獨立——第 1 組的輸出文件不知道第 2 組的存在。
「每 N 頁」的分組算法是從當前排列的第 1 頁起每 N 頁切一刀,最後一組取剩餘頁數;「按範圍」則嚴格按你輸入的順序生成分組,範圍重疊時頁面會被複制多次;「選中頁」把已選頁按它們在排列中的先後順序放進一個分組;「逐頁」等價於 N = 1。
拆出的每個文件都要能獨立打開,因此源文件裏被多頁共用的資源(最典型的是嵌入字體)會在每個輸出文件裏各有一份。一份 12 頁、嵌入了 3 款字體的文檔拆成 3 份,字體數據就存在 3 份。此外,工作台為了支持逐頁整理,是一頁一次複製的,同一輸出文件內多頁共用的字體也會被逐頁複製(詳見「PDF 合併」的原理一節)。上面的示例裏源文件用的是 PDF 內建標準字體、沒有嵌入字體數據,所以三份之和與原件相當;對嵌入字體的文檔,之和會明顯大於原件。
反過來,拆分也不會「解鎖」任何東西:如果源文件的某頁含有一張 20 MB 的掃描圖,拆出的那頁就是 20 MB。
和合並一樣,複製頁面只帶走頁面級內容。書籤、表單字段定義、附件、命名目標、文檔屬性等文檔級結構不會進入任何一個輸出文件;跨頁鏈接如果依賴命名目標則會失效。帶數字簽名的文件拆分後簽名失效——這是所有重寫 PDF 結構的操作的共同結果,不是拆分特有的。
多個輸出文件用 JSZip 在瀏覽器內打包成一個 zip(DEFLATE 壓縮級別 6)。PDF 內部的流通常已經壓縮過,所以 zip 幾乎不會再縮小體積,它的作用只是讓瀏覽器一次下載多個文件。解壓後每個 PDF 都是完整獨立的。
8-10,1-3 會輸出一個先放第 8–10 頁、再放第 1–3 頁的文件。這比「拆分—再合併」少一輪下載,也是一種快速重排。1-4,1,5-8,1,9-12 會得到 5 個文件,其中三個是 4 頁的分冊、兩個是單獨的封面;如果你想要的是「每個分冊都帶封面」,更直接的做法是對每個分冊各跑一次「合併為一個文件」的 1,5-8。期刊寄來 180 頁的整期 PDF,你的文章在第 41–53 頁。按範圍填 41-53,輸出一個 13 頁的文件,文件名自動帶上 _第41-53页。
行政人員一次掃描了 30 份 3 頁的入職表。用「每 N 頁」N = 3 得到 30 個文件,打包 zip 下載後按順序對照名單重命名。
12 頁合同只需把最後一頁發給對方簽字。在縮略圖中點選第 12 頁,用「選中頁」輸出;或者按範圍填 12。
平台限制單個 PDF 不超過 50 頁,手頭是 230 頁的培訓手冊。「每 N 頁」N = 50 輸出 5 個文件,最後一個 30 頁。
不會。源文件只被讀取進內存,所有輸出都是新建的文檔。關閉頁面後內存釋放,你的原文件保持原樣。
瀏覽器一次只能觸發一個下載,多個文件打包成 zip 是讓你一次拿到全部結果的方式。只有一個輸出時直接下載 PDF。zip 用標準 DEFLATE 壓縮,任何系統都能解壓。
目前不能。工具不解析書籤結構,也不識別正文。請先在閲讀器裏查看章節起始頁碼,再按範圍輸入。
拆分本身按頁複製,速度與頁數和每頁體積成正比;生成縮略圖也會佔用一部分時間。手機瀏覽器的內存更緊張,幾百頁的掃描件建議在電腦上處理。
書籤屬於文檔級結構,按頁複製不會帶走它。這是實現方式的固有代價,輸出文件本身是完整的。
結果一樣,入口不同:選中頁靠點選縮略圖,適合零散、肉眼確認的頁面;按範圍靠輸入,適合成段、頁數多的情況。兩者輸出的都是一個文件(按範圍默認每個範圍一個文件,打開合併開關後變為一個)。
文件在瀏覽器內讀取、解析和重建,不經過任何服務器。頁面縮略圖由 pdf.js 在本機渲染,輸出文件由 pdf-lib 在本機生成,zip 打包同樣在本機完成。斷網狀態下依然可用;關閉頁面後內存中的數據即被釋放。
copyPages 與文檔創建 API:https://pdf-lib.js.org/(访问日期:2026-09-08)更新於 2026-09-09
按頁範圍、每 N 頁、選中頁拆分或逐頁導出
所有處理均在你的瀏覽器本地完成,文件不會上傳到任何服務器