記入済み PDF フォームを固定し、固定できたことを確かめる
フラット化はフォームフィールドをページ内容に変えます。回答は編集できなくなり、枠はフィールドでなくなり、ファイルは印刷物のように振る舞います。PDF フォーム統合はこれをブラウザー内でフィールド単位に行い、そのうえで結果を検証します。
何をフラット化するか選ぶ
- 署名以外すべて — 既定値であり、このツールが存在する理由です。署名フィールドをフラット化すると署名は壊れます。見た目はインクになり、暗号的な証拠は消えます。それを黙って行うツールは実害を出しています。
- すべてのフィールド — 守るべき署名がない文書向け。
- 選んだ一部 — 回答は焼き込み、承認欄だけ編集可能に残す、といった使い方ができます。
失敗は投げずに処理する
標準のフラット化処理はオール・オア・ナッシングで、解決できないフィールドに当たった時点で中断し、文書を中途半端な状態にします。原因は三つ。ウィジェットに /AP /N 外観ストリームがない、保存値に対して外観が古い、/DA がフォームの /DR 資源にないフォントを指している。このツールはまず外観を再生成し、フィールドごとに独立してフラット化し、失敗したものを名前と理由で報告します。内部エラーをそのまま見せることはありません。
検証は省けない
フラット化の結果が白紙のフォームになるのはこの処理の典型的な失敗で、「エラーなく保存できた」では決して気づけません。そこで書き出したバイト列を開き直し、二重に確認します。
- フォームを再解析し、残っているフィールド数を確かめる。
- フラット化した値をページ上で探す。テキストは抽出したテキスト層と照合し、チェックボックスやラジオボタンはページを描画してウィジェット矩形内のインク量を測る。
処理前後のプレビューが両方の文書を並べて表示します。
正直に言っておくべき二点
フラット化は出力ファイルにおいて元に戻せません。元のファイルは決して変更されず、常に新しい文書が書き出されますが、フラット化したコピーをフォームに戻すことはできません。また、フラット化したフィールドはフィールドとしてアクセスできなくなります。スクリーンリーダーはラベルも値もロールもない通常のページ内容として読み上げます。不変性よりアクセシビリティが大切なら、フィールドを読み取り専用にする方法を選んでください。
プライバシー
すべて pdf-lib と pdf.js を使ってブラウザー内で処理されます。記入済みフォームには個人情報が含まれることが多いものですが、アップロードは一切ありません。
Tiny Online Tools







