PDFをフラット化
ブラウザで.
インタラクティブなフォームフィールドや注釈を静的なビジュアルに固定。受信者は値を見られるだけで変更できません。アップロードなし。
自分で確認してください:DevToolsを開く → Networkタブ → ファイルをドロップ。アップロードがゼロであることを確認できます。
3ステップ。ファイルはこのタブから出ません。
記入済みPDFをドロップ
記入済みフォームを選択。サーバーではなくブラウザのメモリに読み込まれます。
フラット化をクリック
フィールド値や注釈をページに直接焼き込み、インタラクティブ層を除去します。
ロックされたコピーをダウンロード
見た目はそのまま、受信者は値を変更できません。元ファイルはそのままです。
フォームをページに焼き込む
PDFを「flatten」する理由はたいてい、いま見えているものを凍結することにあります。PDFに入力した税務フォームが税理士へ送られる — 受け手は答えを見られても編集はできないようにしたい。署名済み合意書が記入された署名フィールドで完了している — 転送時にそのフィールドがクリック可能なフォーム要素のままだと誰かが上書きできてしまう。注釈とスタンプ付きで戻ってきたスキャン文書を、注釈レイヤを編集可能のままにせず、より広い相手に回したい。InDesignでインタラクティブなフォームウィジェットつきに組まれた印刷用パンフを、印刷向けに割り付けたら静的なプレースホルダとして見せたい。ここでの仕事は小さく予測可能 — フォームフィールドや注釈を持つPDFを取り、現在の視覚的状態を恒久のページコンテンツに変換します。
戻ってくるのは、画面上では同じに見えるがインタラクティブ要素のないPDFです。記入済みの各フィールドはその値を静的テキストとして保ちます。空のフィールドはその背景が見せていたもの(多くは灰色の四角、ときに何も見えない)に置き換わります。注釈やスタンプも同様にページに焼き込まれます。
flattenが実際に行うこと
PDFはフォームフィールドをページの上の別レイヤとして保持します。ページ自体はフォームの中身を知らない。フィールドのウィジェットは表示時に上に重ねられ、現在値が可視領域にレンダされます。flattenはそのレイヤを畳み込みます — 各フィールドを巡回し、操作の瞬間の視覚状態を捉え、そのスナップショットを通常のページコンテンツとして描画(テキスト、線、チェックボックスをパスとして)し、そののちフォーム定義そのものを削除します。
結果は「見えるものが描かれているもの」である連続した静的ページになります。文書中にもう「フォーム」はありません。読者はフィールドが存在したとは気づかず、いかなるPDFツールもページを一からOCRしない限り値を再編集できません。
flattenされるもの、されないもの
- フォームフィールド (AcroForm)。テキスト入力、チェックボックス、ラジオボタン、ドロップダウン、リストボックス、署名フィールド、ボタン。すべてflattenされ、現在値や選択は静的なページコンテンツになります。
- 空のフィールドは見た目を保ちます。未入力のテキストボックスは枠と(しばしば)プレースホルダ線を保つ。その視覚は描画図形として残ります。未チェックのチェックボックスは空の四角のままです。
- 計算フィールドは現在値を取り込みます。数式付きのフィールド(Acrobat Pro機能)は、現在表示されている値で凍結 — flatten後、数式は失われます。
- 注釈は flattenされる場合とされない場合があります。コメントノート、ハイライト、スタンプはそれを書いたビューワに依存。pdf-libのform.flatten()はAcroFormを的にしています。注釈も消したいなら、ソースのビューワからの完全エクスポートが正解です。
- 既存の静的なページコンテンツは触れません。テキスト、画像、レイアウト、しおりは無変更で引き継がれます。
残るもの、残らないもの
- 見える内容は同じまま。テキスト、画像、レイアウト、フォント、フォーム値はflatten時点での見え方どおり — 正確に保持されます。
- しおり、リンク、ページ構造は引き継がれます。flattenはフォームレイヤを的にし、文書のアウトラインではない。
- フォームのインタラクティビティは消えます。もうクリック可能なフィールドも、ドロップダウン選択も、「次のフィールドへタブ」もありません。それが操作の主旨です。
- 電子署名は無効になります。flattenを含むあらゆる変更は署名のバインディングを切ります。署名済み文書で署名を有効に保ちたいなら、flattenしないでください — ファイルを複製して複製の方をflattenします。
- 操作は一方通行です。flatten後は「un-flatten」がない。フォーム定義は失われます。再編集には、フォーム作成をサポートするPDFエディタでフィールドをゼロから作り直す必要があります。
何かおかしいときは
- 「何も起きなかった」 — flatten対象のフィールドなし。PDFにAcroFormが含まれていません。ツールはこの場合、ファイルをそのまま再保存し、結果は機能上入力と同じです。フィールドの有無を確認するには、Adobe Readerで開き「Highlight Existing Fields」を見る — 何も光らなければ flattenするものはありません。
- 一部の注釈は焼き込まれません。form.flatten()のパスはAcroFormウィジェットだけをflattenします。注釈オーバーレイ(付箋、マーカー、フリーハンド描画)は別操作が必要。それらにはオリジナルビューワから再エクスポートするか、まず edit-pdf 経由で統合してください。
- flatten後の入力値が変に見える。flatten表現は操作の瞬間に描画されたものを取り込みます。フォントの代替や、想定と違う表示の挙動があれば、それが焼き込まれます。先にビューワでソースを確認してください — flattenはそこで見えるものを保持します。
- PDFが暗号化されている。先に unlock-pdf を通してください。暗号化PDFは変更できません。
flattenの一般的な理由
- 記入済みフォームを編集してほしくない相手に送る。確定申告を税理士に、契約を法務に、HRフォームを人事に — flattenが値を固定します。
- 記入済みフォームを単一のアーカイブ文書にまとめる。同一フォームの違うコピーが違う人によって埋められ、束ねられる。マージ前にそれぞれをflattenして、各コピーがフィールドID衝突なしで自分の値を保つようにします。
- 印刷や公開配布の準備。印刷PDFはどのみちインタラクティビティを尊重しませんが、印刷前にファイルを開くビューワでは紙の出力と違うフィールド表示になり得ます。事前にflattenして画面と紙の一致を保証してください。
- テンプレートから記入挙動を取り除く。サンプル値入りで作られ、完成例として配布する用意のテンプレ。flattenでサンプル値が固定されます。
実用上のメモ
- flattenは最後に。ページ番号、ウォーターマーク、圧縮の追加も必要なら、文書がまだ編集可能な間にそれらを先に。一度flattenすると、フォーム認識に依存する変更はできません。
- 原本を保持。flatten版は戻らない機能を置き換えます。後から値を更新するために編集可能ソースを保存し、必要時に再flattenを。
- まず1ページでテスト。大きな文書で焼き込みの仕上がりが不安なら、split-pdfで1ページ取り出してサンプルをflatten、ビューワで結果を確認してから全体をflatten。
- 元ファイルは無傷で残ります。ダウンロードされるのはflatten後の新PDF。ディスク上のソースは変わりません。
あなたのファイルに何が起きているか
flattenはあなたのブラウザ内で動きます。DevToolsを開いて操作中のNetworkタブを見てください — ファイル内容を伴う送信リクエストはありません。PDFはディスクに残り、flatten版はその隣の新しいダウンロードです。
よくある質問
フラット化とは何ですか?
フラット化はインタラクティブなレイヤー(フォームフィールド、注釈、コメント)を静的なページ内容に変換します。見た目は変わりませんが、値がページの一部となり編集できなくなります。
なぜPDFをフラット化するのですか?
編集不可の最終版を送るためです — 署名済み契約、記入済みの税申告、承認済みの提案など。受信者が誤って/意図的に値を変更するのを防げます。
見た目は変わりますか?
変わりません — フラット化されたページは見た目が同一です。変更は構造的なものであり視覚的ではありません。フィールドは焼き込みテキストに、注釈は焼き込みマークになります。
フォームのないPDFでも動きますか?
はい。フィールドや注釈がない場合、フラット化は実質「保存し直す」だけです。フォームフィールドや注釈をロックしたいときに最も役立ちます。
ファイルはどこへ送られますか?
どこにも送られません。フラット化はこのタブ内で完結します。DevTools → Networkで、アップロードがないことを確認できます。