無料のPDFページエディターオンライン

不要なページを削除し、PDFのページ順序を並び替えます。100%クライアントサイド · ファイルはプライベートに保たれます。

ファイルはお使いのデバイスから出ません
ここにPDFをドロップ またはクリックして参照

PDFファイルに対応 · 最大50MB

このエディタが実際に行うこと

PDF ページエディタは PDF ドキュメントの構造レベルで動作します、ページ全体の順序、存在、向きを操作し、各ページのレンダリングされたコンテンツに触れません。エディタに PDF をドロップし、ツールはページツリーを解析し各ページにページ番号と寸法を付けたカードを表示し、削除したいページのチェックボックスを選び、ドラッグするか矢印キーを使って並べ替え、変更された PDF をダウンロードします。ディスク上の元のファイルは変更されません、編集されたバージョンは新しいダウンロードです。各操作は JavaScript を介してブラウザ内で実行され、CDN から読み込まれた pdf-lib ライブラリ(Andrew Dillon による純粋 JavaScript PDF リーダー/ライター、MIT ライセンス、GitHub の Hopding/pdf-lib)で動かされます。アップロードなし、サーバー処理なし、テレメトリなし、Delete selected をクリックしてから Download をクリックする間に DevTools の Network タブを確認するか、pdf-lib が読み込まれた後にページをオフライン(機内モード)にしてもエディタはまだ動作します。50 MB までのファイルは快適に処理されます、より大きなファイルは動作しますが、ブラウザとデバイスのメモリによってはより時間がかかります。

フォーマットとしての PDF、簡単な歴史

PDF(Portable Document Format)は Adobe で John Warnock、共同創業者によって作成され、1991年の社内提案「Camelot」というコードネームから生まれました。最初の公開バージョン PDF 1.0 はニューヨークでのローンチイベントで Adobe Acrobat 1.0 と共に1993年6月に出荷されました。PDF が解決した元の問題は印刷忠実な携帯性でした、任意のドキュメントを取り、埋め込まれたフォントと正確なレイアウトと共にパッケージ化し、任意の OS の任意のリーダーでピクセル単位で再現します。Adobe が ISO に仕様を引き渡すまで、PDF は15年間プロプライエタリのままでした。PDF 1.7 は2008年7月に ISO 32000-1:2008 となり、今日流通するほぼすべての PDF の基盤となる仕様です。PDF 2.0ISO 32000-2:2017 として続き、曖昧さを明確にするために改訂された第2版が2020年12月に公開されました。2023年4月、Adobe は PDF にロイヤリティフリーの実装権を明示的に付与する特許放棄を公開し、オープンソースリーダーとライターのための最後の法的フリクションを取り除きました。フォーマットの構造単位はページツリー(/Kids 配列を含む /Pages ディクショナリ)です。このようなページエディタはツリーを歩き、/Kids のエントリを削除または並べ替え、生き残ったページを再番号付けして新しいファイルを書きます。ページコンテンツストリーム自体は触れられません、これが大きなドキュメントでも操作が速い理由であり、各ページの視覚的内容がビット完全に保持される理由です。

仕事を行う pdf-lib ライブラリ

pdf-lib はブラウザ側編集を可能にする純粋 JavaScript PDF ライブラリです。Andrew Dillon が MIT ライセンスで公開しており、プロジェクトはあらゆる現代のブラウザで動作する単一のバンドルとして出荷されます、ネイティブ依存なし、基本操作に WebAssembly 不要。それは PDF をエンドツーエンドで解析、変更、シリアル化できます、既存ドキュメントを読み、ドキュメント間でページをコピーし、PNG と JPEG 画像を埋め込み、埋め込まれたフォントでテキストを描き、フォームフィールドを変更し、変更されたドキュメントをダウンロード対応の Uint8Array として書き直します。代替アーキテクチャ、サーバー側 PDF 編集、は商用 PDF ツールを支配します、PDF 処理は歴史的に難しかったからです。Smallpdf、iLovePDF、Sejda、Soda PDF、ILovePDF、PDF24、その他多数の競合サイトはすべてファイルをサーバーにアップロードし、pdf-lib または同等品(または Ghostscript、qpdf、PDFtk バックエンド)を実行し、変更されたファイルを返します。トレードオフ:サーバー側は任意のファイルサイズと複雑な操作をより確実に処理しますが、編集する各ドキュメントの各ページが他人のログに一定期間存在します。pdf-lib を介したブラウザ側は実用的な 50 MB の上限とわずかに制限された操作セットを「ファイルがデバイスを離れない」と引き換えます。機微なドキュメント、契約書、医療記録、銀行明細、内部ドキュメントには、そのトレードオフは価値があります。

このツールの内部の仕組み

PDF のページ集合は、ISO 32000-2 規格の 7.7.3 節で記述されたページツリーによって定義されます。ドキュメントのカタログ辞書には /Pages エントリがあり、それがツリーのルートノードを指します。そのルートは /Type /Pages、その配下のリーフページの総数を示す /Count エントリ、子への参照を集めた /Kids 配列を持ちます。子はリーフページオブジェクト(/Type /Page)か、さらに中間の /Pages ノードのいずれかです。ツリーはバランスが取られており、リーダーがすべてのリーフを走査せずに N 番目のページを O(log N) 時間で見つけられるため、500 ページの文書でもページのランダムアクセスが速いのです。

PDF を選ぶと、ブラウザの File API が生バイトを pdf-lib に渡し、pdf-lib はそれを解析して文書構造をメモリ上のオブジェクトツリーとして保持します。ツールは pdfDoc.getPageCount() でリーフ数を数え、各ページについて pdfDoc.getPage(i).getWidth()getHeight() をイテレートし、表示されているカードのグリッドを生成します(ページ番号と PostScript ポイント単位の寸法。1 ポイントは 1/72 インチ)。チェックボックスをオンにしたり矢印を押したりするのは、生き残るページ参照とその順序を追う JavaScript 配列を更新するだけです。元の PDF のバイトは、あなたがダウンロードをクリックするまでブラウザのメモリ内で手つかずのまま残ります。

ダウンロード時には、pdf-lib が copyPages を通じて重い処理を行います。ツールは PDFDocument.create() で新しい空の文書を作り、続いて newDoc.copyPages(sourceDoc, indices) を呼び出します。ここで indices は、出力に出現すべき順序で並べたソースページ位置の配列です。copyPages は、要求された各ページが依存するすべてのオブジェクト(埋め込みフォント、画像 XObject、コンテンツストリーム、注釈)をたどって新しい文書にコピーし、その後でクロスリファレンス表を再生成して、すべてのバイトオフセットが端から端まで一貫するようにします。出力はページごとに元と同じレンダリングを保つ、構造的にきれいな PDF です。この間、ネットワークリクエストは一切発火しません。操作中にブラウザの開発者ツールを Network タブで開いておけば、pdf-lib 自体の一度きりの CDN ロード(約 380 KB の minified、初回訪問後はブラウザがキャッシュ)以外には何も見えません。

ページエディタが実際に必要な場合

競争環境、ブラウザ vs サーバー vs ネイティブ

3つのカテゴリの PDF エディタが同じユーザーを争います。ネイティブデスクトップツール、Adobe Acrobat Pro(標準的なゴールドスタンダード、月額 19.99 米ドルサブスクリプション)、Foxit PDF Editor、Nitro PDF、PDF Studio、Apple Preview(macOS に組み込まれ、ページレベル編集に驚くほど有能)、はコンピュータにインストールされてローカルファイルでオフラインで動作します。最大のファイルと最も深い編集操作をサポートしますが、ダウンロードと(商用には)有料ライセンスが必要なことが多いです。サーバー側 web ツール、Smallpdf(スイス、2013年設立)、iLovePDF(スペイン、同じく2013年)、Sejda(米国)、PDF24(ドイツ)、Soda PDF(カナダ)、Adobe の Acrobat Online、はファイルアップロード、プロバイダのインフラでの処理、ダウンロード返却を介して PDF 操作を処理します。大きなファイルと複雑な操作を処理しますが、各ファイルは他人のサーバーを通過します。このようなものを含むブラウザ側ツールは、pdf-lib、PDF.js(Mozilla の PDF レンダリングエンジン、Andreas Gal らが2011年から書き、現在 Firefox に同梱)、または pdf-lib-extra を使ってデバイスで完全に作業を行います。それらはブラウザのメモリによって決まるファイルサイズ制限を持ちますが、ファイルの内容を決して見ません。何らかの機微なものを含むドキュメントのワンオフページ編集には、ブラウザ側オプションが正しい形式です、選択は本質的に「サーバーへのアップロードの便利さは、この特定のファイルのプライバシーコストに値するか?」に煮詰まります。内部ドキュメントの一般的な作業には、ほとんど常にイエスです。契約書、財務、医療記録、または公開 web に公開しないドキュメントには、ほとんど常にノーです。

このエディタが行うことと行わないこと

範囲外: 個別のページコンテンツ(テキスト、画像、フォームフィールド)の編集、PDF を複数のファイルに分割(専用の 無料PDF分割ツール ツールを使用)、複数の PDF を1つに結合(無料オンラインPDF結合ツール を使用)、ファイルサイズを減らすためにページを圧縮(無料オンラインPDF圧縮 を使用)、永続的な黒いバーで機微なコンテンツを編集(redact)、または PDF にデジタル署名。これらの操作には、専用ツールまたはデスクトップ PDF エディタがより適しています。

よくある落とし穴とその意味

プライバシー、ファイルはあなたのデバイスに残ります

すべてのクラウド PDF ページエディタ(Smallpdf、iLovePDF、PDF24、Adobe Acrobat Online、Sejda、Soda PDF)は、ファイルを運営者のサーバにアップロードし、サーバ側で解析し、サーバ側でレンダリングしたプレビューに対して削除をクリックさせたりサムネイルをドラッグさせたりし、その後修正済みのコピーをダウンロードとして返します。プライバシー上の含意は、通常のファイルアップロードとは重要な一点で異なります。運営者は、あなたが削除や並べ替えを決定する前から、必然的に各ページの内容を読み(プレビューをレンダリングし、ページを数えて識別するため)ます。あなたが気を変えて結果をダウンロードしなくても、運営者はすでに内容を見ています。主要事業者は、数時間以内に削除する、転送時に TLS を使うとプライバシー方針で表明しており、それを守る商業的動機も十分にあります。とはいえ「一時間以内に削除」は「決して見ていない」ではありません。PDF には、医療記録、銀行明細、署名済み契約、身分証明書、社内メモ、法的書面の草稿が日常的に含まれます。こうした書類では、その方針上の差が意味を持ちます。

このエディタは何もアップロードしません。pdf-lib はあなたのブラウザタブで動作し、File API を通じてファイルバイトを受け取り、修正済みのバイトを同じタブに Blob として返してダウンロードに変えます。あなた自身で確かめられます: 「変更済み PDF をダウンロード」をクリックする前に、ブラウザの開発者ツールを Network タブで開き、操作を実行し、ファイル内容を含むリクエストが何も出ないことを観察してください。ネットワーク通信は、初回訪問時に CDN から pdf-lib を一度だけ取得する分だけ(約 380 KB の minified)で、それはのちにブラウザキャッシュに残ります。ページの読み込み後にブラウザを機内モードに切り替えても、エディタはローカルファイルに対して動作し続けます。トレードオフは機能の幅広さです。クラウドサービスでは、編集前 OCR、添付の自動変換、編集後の署名・送信フローといった二次的な操作を束ねていることが多いのです。このツールはページ単位の削除と並べ替えしか行いません。その的を絞ったワークフローには、ブラウザ側のツールが厳密により速く(アップロード待ちなし、アップロードサイズの制限なし)、明らかにより私的です。

別のツールが適切な場合

よくある質問

PDFはサーバーにアップロードされますか?

いいえ。すべての処理はブラウザで行われます。PDFはお客様のデバイスから一切出ることがなく、完全なプライバシーとセキュリティが保されます。

ファイルサイズの制限は?

最大50MBまでのPDFに対応しています。処理速度はデバイスとファイルサイズによります。

変更を元に戻せますか?

ダウンロード前にページを並び替えることができます。ダウンロード後は、必要な場合元ファイルを保存しておいてください。ツールは元ファイルを変更しません。

スキャンされた PDF で動作しますか?

はい。ページレベル操作(削除、並べ替え)は、各ページが選択可能なテキストを含むかスキャンされた画像ビットマップを含むかに関係なく同じように動作します、エディタはページ全体を不透明なコンテンツのブロックとして移動します。ページ数、番号、寸法は画像ベースのページにも正しく表示されます。このエディタが行わないのは、スキャンされたテキストの OCR やページの画像コンテンツの変更です、それらの操作には専用 OCR ツールまたは OCR 機能を持つデスクトップ PDF エディタが必要です。

このツールはモバイルで動きますか?

ツールはデスクトップブラウザ用に最適化されています。モバイルデバイスでは大きなPDFの機能が制限される場合がありますが、基本的な操作は機能するはずです。

パスワード保護された PDF はどうですか?

pdf-lib の暗号化された PDF の組み込みサポートは Adobe Acrobat と比べて限定的です。PDF がユーザーレベル暗号化でパスワード保護されている場合、エディタは読み込みに失敗するか、変更を書き込めずに読み込むかのどちらかになります。回避策:パスワードを知っているデスクトップツールで PDF を開き、暗号化されていないコピーとして保存し、暗号化されていないバージョンをこのツールで編集します。出力にパスワード保護が必要な場合は後で再暗号化します。

その他のよくある質問

このツールはオフラインで動きますか?

初回訪問のあとなら、動きます。pdf-lib JavaScript ライブラリは初回ロード時にブラウザのキャッシュに保存されます(約 380 KB の minified)。その後のページエディタへの訪問は、間にブラウザキャッシュが消去されていない限り、ネットワーク接続がなくても動きます。ページツリー操作そのものはそもそもネットワークを必要としません。ライブラリのロードだけが必要だったのです。ページを一度開いたあと機内モードを有効にして、ローカルの PDF を削除・並べ替えできるか試して確認できます。

複数の PDF からページを一度に削除・並べ替えできますか?

直接にはできません。インターフェースは一度に 1 つのソース文書だけを受け付けます。複数 PDF 編集の二段階フローはこうです: まず 無料オンラインPDF結合ツール でソース群を 1 つの文書にまとめ、その結合済み PDF をここに持ち込んで最終順序にページを削除・並べ替えます。より複雑な文書をまたぐフロー(ファイル A の 3 ページをファイル B の 5 ページと 6 ページの間にドラッグする等)には、Adobe Acrobat Pro の「ページ整理」が文書をまたぐドラッグを 1 ステップでネイティブに扱います。数十~数百ファイルのバッチ自動化には、qpdf や pikepdf のコマンドラインツールが向いています。

署名、フラット化、圧縮の前と後、どちらでページを編集すべきですか?

安全な順序は、編集が先、続いてフラット化、その後に署名、最後に圧縮です。先に編集するのは、以後の操作が最終のページ順序に依存するためです。次にフラット化するのは、フォームフィールドと注釈を静的コンテンツに焼き込み、下流のツールが文書を均一に扱えるようにするためです。フラット化のあとに署名するのは、暗号署名が文書の最終バイト列にコミットし、以後の変更がそれを無効化するためです。最後に圧縮(任意)して送信用にファイルサイズを縮めます。署名後に編集された PDF は Acrobat や他の署名対応リーダーで署名検証に失敗するため、署名は必ずコンテンツに触れる最後のステップでなければなりません。

スキャンしたページの OCR テキスト層は保持されますか?

はい。PDF の OCR テキストはスキャン画像の上に描かれる不可視のテキスト(不可視としてマークされたコンテンツストリーム演算子のシーケンス)として保存され、そのコンテンツストリームはページオブジェクトの一部です。pdf-lib の copyPages がページをコピーするとき、ページオブジェクト全体、つまりすべてのコンテンツストリーム、フォント参照、不可視 OCR テキスト層を含めてコピーします。生き残ったページについては、検索と選択は編集後の出力でも元と全く同じように働き続けます。テキスト層はバイト単位で保持され、pdf-lib は何も再エンコードもラスタライズもしません。

ページを半分削除するとファイルサイズも半分になりますか?

通常は半分未満、ときにはずっと少ない、です。削除したページに固有のコンテンツ(独自の埋め込み画像、独自のフォントサブセット)があれば、節約は大きい。削除したページが保持したページとリソースを共有していた(文書全体で同じフォントが使われていた、各ページに同じロゴ画像があった等)なら、共有リソースはファイルに残ります。pdf-lib は保存時にファイルを積極的に再パッケージしないため、元の PDF が既に行っていたページ横断の重複排除は保たれますが、削除によって生じた新しい重複排除の機会は活用されません。タイトな出力には結果を 無料オンラインPDF圧縮 に通してください。完全な再パッケージと画像の再エンコードを行い、通常残りの節約分を回収します。

スクリプティング用のデスクトップやコマンドラインの相当物はありますか?

いくつかあります。pdf-lib は Node.js でも変更なしに動き(npm install pdf-lib)、編集コードは同じです: copyPages(source, indices) の後、各ページに対して addPage()。コマンドラインでは、qpdf にページ単位の選択構文があります: qpdf --pages input.pdf 1-4,6-20 -- input.pdf output.pdf はページ 1~4 と 6~20 を保ち、5 ページを削除します。Python の pikepdf は qpdf のバインディングで、よりクリーンな API です(ページ 3 を削除する del pdf.pages[2]、並べ替えにはリストのスライス意味論)。Adobe Acrobat Pro は同じ操作を GUI で提供し、さらにページのミューテーションを越えてしおりと文書アウトラインを保持します。これはブラウザ単独の経路にはできないことです。

関連ツール