ほとんどの Split PDF ツールは、ドキュメントをページ数で分割します。 10 ページごとに分割するようにツールに指示すると、各ページに含まれるデータ量に関係なく、10 ページのチャンクのセットが生成されます。ページ コンテンツの密度が大きく異なるドキュメントの場合、ページ数の分割により、大きく異なるサイズのファイルが生成されます。 10 ページのテキスト セクションは 100 KB になる可能性があります。高解像度の写真を含む 10 ページのセクションは 25 MB になる場合があります。ページ数ではなくファイル サイズで分割すると、それぞれが特定のメガバイト制限内に収まる出力ファイルが生成されます。これは、電子メール サーバー、アップロード フォーム、およびドキュメント管理システムが実際に強制するものです。
ファイル サイズ ベースの分割は、分割を実行する前にツールがターゲット サイズ内に収まるページ数を見積もる必要があるため、ページ数による分割よりも複雑です。 PDF 圧縮とオブジェクトの重複排除は最終的なファイル サイズに影響を与えるため、この見積もりは決して正確ではありません。このツールは保守的に分割し、ターゲットよりわずかに下回るファイルを生成し、最後のファイルには残りのページがすべて含まれます。
WukongPDF の PDF Batch 分割ツールは、ドキュメント配布ワークフローにページ数とファイル サイズの両方の分割オプションを提供します。

ファイルサイズの分割が配布に重要な理由
ファイルサイズが分割される最も一般的な理由は、電子メールの添付ファイルの制限です。 Gmail では、添付ファイルは 25 MB に制限されています。 Outlook では、ほとんどのプランで 20 MB に制限されています。企業の電子メール サーバーでは、さらに低い制限 (場合によっては 10 MB または 5 MB) が課される場合があります。電子メールで送信する必要がある 60 MB の PDF は、受信者の添付ファイル制限内に収まるチャンクに分割する必要があります。ページ数で分割すると、22 MB のチャンクと 38 MB のチャンクが生成される可能性があり、どちらも電子メールで送信することはできません。ファイル サイズごとに分割すると、すべてのチャンクが制限内に収まることが保証されます。
オンライン アップロード フォームでもファイル サイズ制限が適用されます。政府ポータル、裁判所提出システム、および求職サイトでは、通常、アップロードが 5 MB、10 MB、または 25 MB に制限されています。制限はアップロード ページに表示され、アップロードに時間がかかると制限を超えるとエラーが発生します。 PDF をサイズに準拠したチャンクに事前に分割すると、最初の試行でアップロードが確実に成功します。
ファイルごとのストレージ クォータを備えたドキュメント管理システムでは、ファイル サイズが一貫しているためメリットが得られます。保存されたギガバイトごとに料金を請求するシステムでは、ファイルがページ数で分割されるかサイズで分割されるかには関係ありませんが、レコードあたりのファイル数を制限するシステムでは、多数の小さなファイルが生成されるページ数での分割にペナルティが課される可能性があります。下流システムの制約を理解すると、分割戦略が決まります。
PDFを分割してみる
インストールは必要ありません。ブラウザで直接動作します。
方法 1: Adobe Acrobat Pro のサイズによる分割
Acrobat Pro には、ドキュメント分割ツールにファイルサイズの分割オプションが含まれています。 PDF を開き、[ツール]、[ページの整理] の順に移動し、[分割] をクリックします。分割ダイアログで、分割方法ドロップダウンからファイル サイズを選択します。最大ファイル サイズをメガバイト単位で入力します。 Acrobat は、そのサイズ内に収まるページ数を推定し、それに応じて分割します。
Acrobat のサイズ分割アルゴリズムは、ページが比較的均一なドキュメントに適しています。ページサイズが大きく変動する文書の場合、Acrobat は出力圧縮によって各ページのファイルサイズがどの程度削減されるかを正確に予測できないため、推定値が 10 ~ 20% ずれる可能性があります。分割後、出力チャンクの実際のファイル サイズを確認します。チャンクがターゲットを超える場合は、ターゲット サイズをわずかに減らして再分割します。
Acrobat では、Document_Part1.pdf、Document_Part2.pdf など、元のファイル名に接尾辞を追加して出力ファイルに名前を付けます。命名規則により、ファイルが全体の一部であることが明確になり、正しい読み取り順序が示されます。受信者が再結合するドキュメントの場合は、予想されるパーツの数と再結合方法を説明する表紙を最初の部分に含めます。
方法 2: pdftk を使用したコマンドライン分割
pdftk にはネイティブのサイズ分割機能がありませんが、スクリプトを使用して同じ結果を達成することができます。このアプローチでは、PDF を個々のページに分割し、各ページのファイル サイズを測定し、累積サイズが目標を下回るようにページをチャンクにグループ化します。 bash または PowerShell スクリプトは、このワークフローを自動化します。
まず、pdftk を使用して PDF を個別のページ ファイルにバーストします (pdftk input.pdf バースト)。これにより、pg_0001.pdf、pg_0002.pdf などが生成されます。 ls -l や du などのシステム コマンドを使用して、各ページ ファイルのサイズを測定します。ページを順番に繰り返し、次のページで合計が目標を超えるまでサイズを累積します。目標に達したら、pdftk cat を使用して蓄積されたページをチャンク ファイルにマージし、アキュムレータをリセットして、次のチャンクを続行します。
実際には、pdftk アプローチは無料でスクリプト可能であるため、バッチ処理やサーバー側の自動化に適しています。精度は、ページごとのファイル サイズの測定値によって異なります。個別のファイルとして測定された個々のページは、フォントなどの共有リソースが個々のページ ファイル間で複製されるため、単一の PDF に結合された同じページよりもわずかに大きくなる場合があります。最終的なチャンク ファイルのサイズは、個々のページ サイズの合計よりも若干小さくなります。
方法 3: pikepdf を使用した Python スクリプト
実際には、pikepdf ライブラリは、PDF 分割をバイトレベルの精度でプログラム的に制御します。 Python スクリプトは PDF を開き、ページを反復処理し、pikepdf API を使用してチャンクごとに新しい PDF を作成します。スクリプトは、現在のチャンクに追加されたページの累積非圧縮サイズを追跡し、次のページの追加が目標を超える場合に新しいチャンクを開始します。
pikepdf は、生のページ コンテンツ ストリームへのアクセスを提供し、出力ファイルが書き込まれる前に正確なサイズ推定を可能にします。このスクリプトでは、画像の JPEG 圧縮などの特定の設定で各チャンクを圧縮し、出力ファイル サイズをさらに制御することもできます。 Python のアプローチでは、ターゲット サイズより大きい単一ページなどの特殊なケースを、失敗せずに個別にページを圧縮することで処理します。
ファイルサイズ分割におけるエッジケースの処理
単一ページが目標ファイル サイズを超える場合、分割では目標を下回ったままそのページのみを含むチャンクを生成することはできません。オプションには、より積極的な画像ダウンサンプリングを使用してサイズの大きいページを個別に圧縮すること、ページが複数の論理セクションで構成されている場合にページを小さなサブページに分割すること、またはこのページが目標を超えることを受け入れて例外を通知することなどが含まれます。
小さいページが多数あるドキュメントの場合、サイズによる分割アルゴリズムにより、ページ数が大きく異なるチャンクが生成される場合があります。チャンク 1 には 50 ページのテキストが含まれる可能性があります。チャンク 2 には 3 ページの写真が含まれる場合があります。分割基準はページ数ではなくファイル サイズであるため、受信者にはチャンクのページ数が異なることを通知する必要があります。
| メソッド | 仕組み | 最適な用途 |
|---|---|---|
| Acrobat Pro をサイズ別に分割 | 出力ファイルあたりの最大 MB を指定します | GUI ユーザー、時々分裂する |
| サイズ推定付き pdftk | 目標サイズに達するまでページを繰り返す | スクリプト化されたワークフロー、無料 |
| Python + pikepdf | 読み取りページ サイズ、累積が目標を超えた場合に分割 | カスタムロジック、バッチ処理 |
配布前の分割出力の検証
ファイル サイズごとに分割した後、各出力チャンクを開いて、最初と最後のページが正しいことを確認します。分割はページの途中ではなく、ページの境界で行う必要があります。すべてのチャンクの合計ページ数が元のドキュメントのページ数と等しいことを確認します。不一致は、分割中にページが削除されたことを示します。
各チャンクのファイル サイズをターゲットと比較して確認します。チャンクは目標値かそれよりわずかに低い値である必要があります。チャンクがターゲットを 5% を超えて超える場合、分割アルゴリズムは出力サイズを過小評価します。目標を 10% 削減し、再分割します。 5 ~ 10% のマージンは、圧縮の変動性と共有リソースのオーバーヘッドを考慮したものです。
PDF をページ数ではなくファイル サイズで分割すると、デジタル配布の実際の制約を考慮した出力が生成されます。電子メール サーバー、アップロード フォーム、ストレージ クォータは、PDF のページ数を気にしません。彼らはそれが何メガバイトであるかを気にします。ファイルサイズの分割により、分割戦略が重要な制約に合わせて調整されます。
繰り返しのファイル サイズ分割の自動化
実用的な観点から見ると、ドキュメント ワークフローにおいて、大きな PDF を定期的に分割して配布する組織の場合は、サイズごとに分割するワークフローを自動化します。スクリプトは、しきい値サイズを超える受信 PDF をフォルダーで監視し、組織の標準的な電子メール添付ファイルの制限内でそれらの PDF をチャンクに分割し、そのチャンクを一貫した名前で出力フォルダーに保存します。自動化により、ドキュメント配布プロセスから手動の分割ステップが削除されます。
自動化では、各チャンク ファイル名、そのファイル サイズ、およびチャンクに含まれるページ範囲をリストしたマニフェスト ファイルを生成することもできます。マニフェストはチャンクに付随し、受信者にドキュメントを再構築する方法を指示します。チャンクごとに 1 行で、ヘッダーとして元のファイル名を含む単純なテキスト ファイルで十分です。マニフェストは、任意に名前を付けたチャンク ファイルのコレクションを、明確に文書化されたドキュメント パッケージに変換します。
これを広く見ると、エンタープライズ ドキュメント管理システムのドキュメント ワークフローでは、分割オートメーションをシステム API と統合して、各チャンクを親ドキュメントの関連コンポーネントとして登録できます。システムは、元の 60 MB のドキュメントが配布のために 3 つの 20 MB のチャンクに分割されたことを追跡し、完全なファイルが必要なユーザーの要求に応じてそれらを再組み立てできます。
受信側で分割ファイルを再構築する
通常、ファイル サイズが分割されたドキュメントの受信者には、再組み立てのための明確な指示が必要です。ほとんどの PDF 結合ツールは、チャンクが正しい順序で結合されていれば、チャンクを結合して元の文書に戻すことができます。チャンク ファイル名は、Document_Part1_of_3.pdf、Document_Part2_of_3.pdf などの順序を示す必要があります。受信者は結合ツールを開き、ファイルを順番に追加し、再組み立てされたドキュメントを作成します。
技術者以外の受信者の場合は、チャンクに簡単な説明ファイルを含めてください。説明ファイルには、チャンクの内容、チャンクの数、無料のオンライン PDF 結合ツールを使用してチャンクを再結合する方法、チャンクが見つからないまたは破損している場合の連絡先が説明されています。指示ファイルの作成に余分に 1 分を費やすことで、混乱を防ぎ、コンテキストのない複数の PDF 添付ファイルを受信した受信者からのサポート要求を回避できます。
再組み立て後、受信者は、マージされたドキュメントのページ数がマニフェストに記載されているページ数と一致することを確認する必要があります。不一致は、チャンクが欠落しているか重複していることを示します。マニフェストのページ数は、完全な再アセンブリを確認するための信頼できる参照です。
PDFを分割してみる
インストールは必要ありません。ブラウザで直接動作します。
