PDFから単一ページを取り出す
まずモードを選びます。選択ページを1ファイルにまとめるRanges(1-3, 5, 12-)、ページごとに1ファイルのEvery page、固定サイズの部分に分けるChunks。各出力はコピーされたページだけを含む新しいPDFで、未選択のページは本当に存在しません。分割の全体がブラウザ内で動き、アップロードされるものは何もありません。
PDFから単一ページを取り出すとは
分割というのは、何かの1ページだけを送る必要が生じたときにする作業です。契約書の署名ページ、スキャンした束の中の1通の請求書、医療の文書だけ送ってファイルの残りは送らない——。つまり分割は、慎重に扱うべき文書に対してする作業です。ところがほとんどのオンライン分割ツールは、その全体をまずアップロードするよう求めます。そのサーバーの役割は、ファイルをあなたの元へ送り返すことだけだというのに。
ここでの分割は、Web Workerの中でpdf-libを使ってローカルに動きます。各出力は、ページを隠した元ファイルのコピーではありません。選択されたページが完全な依存関係グラフとともにコピーされた、新しいドキュメントです。選しなかったページの何ものも出力には存在しません。これが、契約書の3ページを取り出すことと、3ページを表示するだけのファイルを送ることの違いです。
このページでは、3つの分割モードとそれぞれに合う仕事、範囲の構文(印刷ダイアログが使うのと同じ書き方に、意図的にしてあります)、出力ファイルの命名、そしてしおりとメタデータについての正直な答え——何が部分ファイルに引き継がれ、何が元に残り、なぜか——を扱います。
3つのモードはすべてPDF分割ツールの中にあります。PDFを1つドロップし、モードを選び、出力の命名パターンを設定してください。
いい加減な分割が、除去したと主張するページを漏らしてしまう理由については、PDFの構造を解説したガイドが、ページツリー、コンテンツストリーム、相互参照テーブルを順にたどります。
3つのモード、3つの仕事
モードセレクターは、そもそも分割する理由と対応しています。
- Ranges——指定したページを、書いた順のとおりに含む出力ファイル1つ。必要な部分を取り出すためのモードです。
- Every page——ページごとに1出力。ファイル数はドキュメントのページ数そのもの。別々の文書であるはずだったスキャン束、1回の通しでスキャンされた40通の請求書のためのモードです。
- Chunks——Nページずつの連続グループで、最後だけ短い。どこか別の場所にあるサイズ制限のためのモードです。10 MBのアップロード関門、メール添付の上限、1回の仕事につき20ページまでしか受け付けない印刷店。
範囲の構文
「書いた順のまま」というルールには、実際の用途があります。出力はソート済みの順序ではなく、入力した通りの順序に従うので、5, 1, 3はその順のドキュメントを生みますし、表紙を2度出さなければならないときには、ページ番号の重複がまさに求めていたものになることがあります。並べ替えが選択の副作用ではなく仕事の全体であるなら、ページ並べ替えツールのほうが直接的な道具です。
| 入力 | 結果 | 備考 |
|---|---|---|
| 1-3, 5 | 1、2、3、5ページ | カンマで部分を区切る |
| 12- | 12ページから末尾まで | 終端を開くと最終ページまで続く |
| -5 | 最初の5ページ | 始端を開くこともできる |
| 5, 1, 3 | それらのページを、その順で | 入力順どおり。重複も可 |
出力の命名
ページごとに1ファイルを生む分割では、すべてのファイルに同じ名前を付けるわけにいかないため、出力はパターンに従います。ドキュメント自身の名前に連番を足したもの——report-1.pdf、report-2.pdfという具合です。パターンは編集可能で、ほとんどの仕事を賄う4つのトークンがあります。
- {name}——元のドキュメント名から拡張子を除いたもの。
- {n}——部分ファイルに振る連番。1から始まります。
- {page}——その部分の先頭ページ。チャンク分割を経ても意味を保つ唯一の読み方です。
- {date}——日付。定期的に再実行するエクスポートのためのものです。
しおり、メタデータ、引き継がれるもの
各出力に引き継がれるのは、ページレベルのすべてです。ページの内容、フォント、画像、寸法、回転、そしてそれらのページに宿る注釈とフォームフィールド。引き継がれないのは、ドキュメントレベルの構造です。目に見えるのはしおりのアウトラインです。そのdestinationは、2ページの抽出物には存在しないかもしれないページ番号を指します。一見無傷なのに誤ったページに着地するアウトラインは、ないよりひどい。ドキュメントのinfoヘッダも移りません。各出力は真新しいドキュメントであり、元のTitleとAuthorは元のファイルに留まります。
そしてこれが、正直な答えのもう半分です。元のファイルはまったく変更されません。読み込まれ、部分が新しいファイルとして書き出され、ディスク上のドキュメント——しおりもメタデータも何もかも——は、元どおりそのままです。
取り出す。隠すのではない
あらゆる分割ツールについて知っておく価値のある失敗モードがあります。ドキュメント全体をコピーし、未選択のページを隠すだけの実装は、見た目は正しいのに、除去したはずの言葉をすべて含んだファイルを生みます。どんなテキスト抽出ツールでも復元できます。黒い矩形での塗りつぶしと同じ種類の過ちであり、黒塗りの失敗がニュースになるのはこの仕組みです。ここでの出力は、復元すべきものが何もない新しいドキュメントです。しかも、このページの言葉を信じる必要はありません。出力に任意のテキスト抽出ツールをかけ、未選択ページのフレーズを検索してみてください。そこにはありません。
よくある質問
ここで分割すると、PDFはアップロードされますか?
いいえ。ドキュメントの読み取り、分割、書き戻しは、Web Workerがあなたのブラウザタブの中で行います。アップロード用のエンドポイントは存在しません。DevToolsで確かめられます。分割している間、Networkパネルは静かなままです。ページのContent-Security-Policyはconnect-src 'self'を設定しているので、ファイルを外へ送ろうとする試みは、ブラウザ自身が遮断します。
範囲の12-は何を意味しますか?
12ページから文書の末尾までです。開いた範囲は両方向で機能します。-5なら最初の5ページです。番号は1始まりで、ページセレクターが印字するものと一致します。入力欄の横のプレビューには、分割を実行する前に確定したページ一覧が表示されます。
出力ページを好きな順序にできますか?
はい。出力は書いた順序に従うので、5, 1, 3はまさにその順のドキュメントを生みますし、ページ番号の重複も許されます。並べ替えが抽出の副産物ではなく仕事の全体であるなら、並べ替えツールのほうがより直接的に扱えます。
分割されたファイルはしおりを保持しますか?
保持しません。そしてそれは意図です。しおりのアウトラインはドキュメントレベルの構造で、そのdestinationは特定のページを指します。それらのページの部分集合を含む抽出物では、ほとんどのdestinationは何も指しません。無傷に見える壊れたアウトラインは、存在しないのより悪いのです。残されたページに宿る注釈とフォームフィールドは生き残ります。
分割すると元のPDFは変更されますか?
いいえ。元のファイルは読み取り専用で、各出力はそれとは別にダウンロードされる新しいドキュメントです。あなたのファイルは、しおりもTitleとAuthorのメタデータも、他の何もかも無傷のまま保ちます。部分ファイルは新規のドキュメントであって、元を編集したコピーではありません。
1回の分割で作れるファイルの数は?
仕事に必要な数だけ作れます。ただしツールのファイルあたり100 MBという入力上限の中でです。Every pageはドキュメントのページごとに1ファイル、ChunksはNページのグループごとに1ファイル、Rangesは1ファイル。実際の限界はメモリです。すべての出力はタブの中で組み立てられるため、ツールは分割の途中で固まる代わりに、大きすぎる仕事を辞退します。