PDF をフラット化するとは、すべてのインタラクティブな要素、フォーム フィールド、注釈、レイヤーを静的なページ コンテンツにマージすることを意味します。 PDF は、どこにいても同じように表示される、シンプルで非インタラクティブなドキュメントになります。フラット化は通常、アーカイブまたは配布の前の最後のステップであり、誰もが誤ってフォーム データを変更したり、注釈を移動したりすることがないようになります。
通常、フラット化によりフォームフィールドが破壊されます。問題は、フォームを機能させたまま残りを平らにすることができるかどうかです。
PDF フォーム フラット化の仕組みを理解すると、選択的フラット化が可能かどうかを判断するのに役立ちます。 WukongPDF の PDF Editor は PDF フォーム管理を処理します。以下の説明では、フラット化がフォーム フィールドに何を行うか、およびどのような代替手段が存在するかを説明します。

フラット化が PDF に与える影響
フラット化により、インタラクティブな PDF 要素が静的なページ コンテンツに変換されます。注釈はページ画像の一部になります。フォーム フィールドは対話性を失い、ページ上のテキストまたはグラフィックになります。レイヤーは 1 つの表示レイヤーに結合されます。フラット化された PDF はよりシンプルで、古いビューアとの互換性が高く、誤って変更されにくいです。
その代償として、インタラクティブ性が失われます。テキスト入力を受け入れたフォームフィールドは静的テキストになり、編集できません。ドロップダウン メニューは、最後に選択した値を示す固定テキストになります。署名フィールドは静止画像になります。フラット化されたファイルは、フラット化の時点で表示されていたものを保持しますが、変更する機能はすべて失われます。
PDFを編集してみる
インストールは必要ありません。ブラウザで直接動作します。
フォームフィールド以外のすべてをフラット化できない理由
ほとんどの PDF ツールでは、フラット化は全か無かの操作です。 flatten コマンドは、選択したページ上のすべてのインタラクティブ要素をマージします。注釈をフラット化するときにフォームフィールドをフラット化から除外する設定はありません。このツールは、ページ上の要素のカテゴリではなく、ページにフラット化を適用します。
PDF 仕様は原則として選択的フラット化をサポートしており、注釈とフォーム フィールドは異なるオブジェクト タイプですが、ほとんどの PDF ツールはユーザー インターフェイスでこの粒度を公開していません。ユーザーには、すべてを平坦化する 1 つの平坦化ボタンが表示されます。スクリプトを通じてアクセスできる高度な PDF 操作ライブラリは、特定の要素タイプを選択的にフラット化できますが、これにはプログラミングの知識と開発環境が必要です。
回避策: 段階的に平坦化
フォームフィールドをアクティブにしたまま注釈をフラット化する必要がある場合は、ドキュメントを段階的に処理します。まず、フォーム フィールドとその現在の値を別のファイルまたはデータ構造に抽出します。次に、ドキュメント全体を平らにします。 3 番目に、フラット化されたドキュメントにフォーム フィールドを再度追加し、抽出した値を入力します。
この回避策は、フィールド数が少ない単純なフォームでは実用的ですが、フィールド、計算、および検証ルールが数十ある複雑なフォームでは現実的ではありません。再構築ステップでは、表示される値だけでなく、すべてのフィールド プロパティを再作成する必要があります。再構築に費やされる時間は、注釈を選択的に平坦化することによって節約される時間を超える可能性があります。
代替: フラット化の代わりにロック
注釈とフォーム フィールドをロックすると、対話性を損なうことなく改ざん耐性が得られます。ロックされた注釈は移動または削除できませんが、フォーム フィールドは引き続き機能します。個々の要素をロックすると、フォームの使いやすさを維持しながら、フラット化によって提供される保護の多くが実現します。
Adobe Acrobat で、注釈またはフォームフィールドを選択し、プロパティを開いて、Locked プロパティを設定します。要素は偶発的な変更から保護されています。スクリプトは 1 回の操作ですべてのページのすべての注釈をロックでき、フォーム フィールドに触れることなく注釈レベルの保護を実現できます。ロックは、ほとんどのユースケースにおいて、選択的フラット化に代わる実際的な代替手段です。
| 目標 | 平坦化 | ロック |
|---|---|---|
| 注釈の移動を防止する | はい (ただしフォームも破壊されます) | はい (フォームを保持します) |
| フォームフィールドの編集を禁止する | はい | はい (読み取り専用に設定) |
| フォームの対話性を維持する | いいえ(破壊します) | はい |
| 一貫した表示を保証する | はい | はい (注釈は所定の位置にロックされます) |
JavaScript を使用して選択的ロックを自動化する
Adobe Acrobat は、すべてのページのすべての注釈を反復処理して個別にロックできる JavaScript をサポートしています。 Acrobat のアクションとして保存された短いスクリプトは、任意のドキュメント上でワンクリックで実行できます。スクリプトはすべての注釈をロックし、注釈のみをロックし、フォーム フィールドはそのままにしておきます。これは、ほとんどのユーザーにとって、選択的フラット化に最も近い実際的な同等のものです。
スクリプトアプローチでは、JavaScript を一度記述するか取得する必要があります。その後は、あらゆる PDF で動作する再利用可能なツールになります。スクリプトを見つけたり書いたりするという投資は、フォームを維持しながら注釈を保護する必要があるすべてのドキュメントで報われます。このスクリプトは、「フラット化」ボタンでは実行できないこと、つまり注釈とフォーム フィールドを個別に処理することを正確に実行します。
アーカイブされたドキュメント内のフォーム フィールド データの保存
アーカイブされたフォームには特有の課題があります。フォームは送信内容の記録として保存する必要がありますが、空白のフォームフィールドは将来の使用に備えて入力可能なままにしておく必要があります。解決策は、2 つのバージョンを保存することです。1 つはフラット化されたコピーを送信レコードとして、もう 1 つはフラット化されていないコピーを再利用可能なフォーム テンプレートとして保存します。フラット化されたコピーがアーカイブです。フラット化されていないコピーが作業ドキュメントです。
ファイル名に 2 つのバージョンを明確にラベル付けします: Form-Archived-Flattened.pdf および Form-Template-Fillable.pdf。この名前により、どのバージョンをどの目的に使用するかについての混乱が防止されます。明確な名前付けに 10 秒を費やすことで、アーカイブされたバージョンが編集できないこと、または編集可能なバージョンが元の提出物から変更されていることを発見して何時間もイライラすることがなくなります。
平坦化が正しい選択である場合
再度編集されることのない、承認された最終バージョンのドキュメントをアーカイブする前にフラット化します。フラット化された PDF は永久的な記録です。受信者が誤ってフォーム フィールドを変更したり、注釈を移動したりすることはできません。ファイルは承認された状態で凍結されます。
まだレビュー中の作業ドキュメント、受信者が記入する必要があるフォーム、または将来更新されるドキュメントをフラット化しないでください。平坦化は元に戻すことはできません。フラット化されると、インタラクティブな要素はなくなります。将来ドキュメントを編集する必要がある可能性がある場合は、フラット化されていないオリジナルをフラット化されたバージョンと並べて保管してください。
PDFを編集してみる
インストールは必要ありません。ブラウザで直接動作します。
