このツールでできること
できることは2つです。結合は、リストに並べた順に複数のPDFをつなげて新しいPDFを1つ作ります。分割は、1つのPDFから指定したページだけを集めて新しいファイルにするか、全ページを1枚ずつ別のファイルにします。 申請書類に添付資料を付けて1ファイルにまとめる、長い報告書から必要な章だけを共有する、といった場面が想定用途です。 ページの回転、ファイル内での並べ替え、内容の編集、圧縮、PDF以外の形式からの変換は行いません。
処理はどこで行われるか
このページはオープンソースのpdf-lib(このプロジェクトでは1.17.1)を使っています。ライブラリはサイト公開時にページ自身のJavaScriptへ組み込まれており、 利用時に外部のCDNから読み込む仕組みではありません。ファイルを選ぶと、コードはfile.arrayBuffer()で内容を読み、PDFDocument.loadで開き、copyPagesで新しい文書にページをコピーし、saveで書き出して、 ブラウザのメモリ上のBlobとしてダウンロードさせます。PDFの中身をネットワークへ送るコードはこのページにはないため、アップロードも保存も行われません。 確かめたい場合は、ブラウザの開発者ツールで「ネットワーク」タブを開いたまま結合を実行してみてください。ファイルを運ぶ通信は現れません。 サイト共通の要素(広告や解析のスクリプトなど)はPDF処理とは別に動作し、文書の内容は渡されません。タブを閉じるか再読み込みすると、メモリ上のデータは消えます。
結合の動作
ファイルは何回に分けて選んでもリストの末尾に追加され、各行にはファイル名とサイズ、上へ・下へ・削除のボタンが表示されます。 結合ボタンが押せるのは2ファイル以上のときです。出力名は常にmerged.pdfで、完了後は何ファイル・何ページを結合し、結果が何MBになったかが表示されます。 同じファイルを2回追加すれば2回入るため、署名ページや白紙の区切りを繰り返し挟む使い方もできます。 ページは再描画ではなくコピーなので、文字は選択可能なまま、画像も再圧縮されません。画質は変わらず、その分ファイルサイズも小さくなりません。 結果の容量は、入力ファイルの合計に近くなります。メール添付などで大きすぎる場合は、結合前に元の画像を画像圧縮ツールで小さくしてから文書に貼り込む方法があります。
ページ範囲の書き方
「選択ページのみ抽出」は、入力した番号を集めてextracted.pdfを1つ作ります。区切りはカンマ、連続するページはハイフンで、1-3,5のように書きます。番号は1から始まり、入力した順に並びます(3,2,1なら逆順)。5-3のように前後が逆の範囲は3〜5として扱います。 文書の総ページ数を超える番号や、解釈できない部分は無視され、入力欄の下に実際に抽出されるページ数と無視された部分が表示されます。 下の表は、10ページの文書を想定し、同じ規則でサイト公開時に計算した結果です。
| 入力 | 抽出されるページ | ページ数 | 無視された部分 |
|---|---|---|---|
1-3,5 | 1, 2, 3, 5 | 4 | - |
5-3 | 3, 4, 5 | 3 | - |
2,2,4 | 2, 2, 4 | 3 | - |
8-12 | 8, 9, 10 | 3 | 8-12(範囲外のページは除外) |
7- | (なし) | 0 | 7- |
0,3 | 3 | 1 | 0(範囲外) |
1-2,9-10 | 1, 2, 9, 10 | 4 | - |
2,2,4のように同じ番号を繰り返すと、そのページは出力に2回入ります。8-12は拒否されず10ページまでで打ち切られます。7-のような「7ページから最後まで」という書き方は使えず、無視されるため、7-10と書いてください。 「全ページを個別に分割」は、Nページの文書をN個の1ページPDFにし、page-1.pdf、page-2.pdf…のダウンロードボタンを並べます。 自動保存はされず、必要なものを自分でクリックして保存します。ページ数が多いと、1ページずつ文書を作るため時間がかかります。
計算例
- 申請書類の結合: 契約書12ページ + 本人確認書類3ページ + 通帳の写し1ページをこの順で結合すると、12 + 3 + 1 = 16ページになります。
- 範囲の指定: 30ページの報告書で
1-3,10,25-30と入力すると、3 + 1 + 6 = 10ページです。同じ文書に25-35と入力すると、30ページを超える部分は捨てられ、25〜30ページの6ページだけが抽出されます。 - 最終ページを先頭へ: 5ページの文書で
5,1-4と入力すると、5ページ目、1〜4ページ目の順に並んだ5ページのファイルになります。
制限と注意点
- パスワード付き(暗号化)PDF: パスワード入力欄はありません。pdf-libは既定の設定では暗号化されたファイルを開かないため、失敗のメッセージが表示されます。結合では1つでも失敗すると全体が中止され、出力は作られません。
- サイズと個数: コードには個数や容量の上限がありませんが、選んだファイルはすべてメモリに読み込まれ、出力もメモリ上で組み立てます。実際の上限は端末の性能で決まり、数百MBを超える合計やスマートフォンでは遅くなったり失敗したりすることがあります。その場合は小分けにして結合してください。
- 引き継がれない可能性のあるもの: ページを新しい文書にコピーするため、しおり(目次)、タイトルや作成者などの文書情報、フォーム欄・リンク・注釈の一部は保持される保証がありません。重要な文書は結果を開いて確認してください。
- 壊れたPDF: 構造が壊れている、特殊なソフトで作られているなどのPDFは読み込めないことがあります。他のソフトで「PDFとして印刷」し直すと開ける場合があります。
- PDF以外は不可: 選べるのはPDFのみです。Wordや画像は先にPDFに変換してください。
- 個別分割のボタンは一時的: 画面上にだけ存在し、再読み込みや別ファイルの選択で消えます。必要なページはすぐに保存してください。
ダウンロードした後に
送る前にPDFリーダーで開き、ページの順番と抜けがないかを確認しましょう。アップロード先にサイズ制限がある場合は、 無理に圧縮するより、範囲指定で2つのファイルに分けるほうが確実なこともあります。個人情報を含む文書は、ダウンロードした時点でこのツールの保護の外に出ることも忘れないでください。
よくある質問
選んだPDFはサーバーに保存されますか?
いいえ。結合も分割もブラウザ内だけで行われます。ページに組み込まれたライブラリで処理し、ファイルを送信するコードはなく、結果はメモリ上で作られて端末に直接ダウンロードされます。
結合できるファイル数に上限はありますか?
ツール側の上限はありません。実際の限界はブラウザのメモリで、端末によって異なります。動作が重いときは、2〜3個ずつ結合してから、できたファイル同士を結合してみてください。
パスワード付きのPDFにも使えますか?
使えません。パスワードを入力する手段がなく、暗号化されたファイルは開けません。保護を外したコピーを作る権利がある場合に限り、そのコピーを使ってください。
結合すると画質やファイルサイズは変わりますか?
どちらも変わりません。ページはそのままコピーされるので画質は保たれますが、画像の再圧縮もされないため、結果のサイズは元ファイルの合計とほぼ同じです。
ページの順番を入れ替えたり逆順にしたりできますか?
結合タブで並べ替えられるのはファイル単位です。分割タブでは入力した順が出力の順になるため、3,2,1で3ページを逆順に、5,1-4で5ページ文書の最後を先頭に移せます。
個別に分割したページをまとめて保存できますか?
ZIPでまとめる機能はなく、ページごとにボタンが作られます。複数ページが必要なら、範囲指定で1つのファイルに集めるほうが簡単です。