PDFフラット化
注釈・フォーム・透明効果をページに統合して固定
ファイルはこのブラウザ内でのみ処理されます。サーバーにはアップロードされません。
注釈・フォーム・透明効果をページに統合し、変更できないPDFとして保存
パスワード付きのPDFです。
別のツールで続ける
処理しています…
すべての処理はこのブラウザ内で行われます。ファイルがサーバーに送信されることはありません。
ダウンロードするファイルの準備ができました
この結果で編集を続ける
ページプレビューを開く
設定を変えると前の結果は隠れます。もう一度作成して最新の設定で保存してください。
暗号化されたPDFは先にパスワードを解除してください。ファイル全体を書き直すため、既存の電子署名は無効になります。原本を保管し、結果をご確認ください。
処理中…
0.0
停止していません。計算が終わると結果が表示されます。
PDFフラット化について
PDFの注釈やフォームフィールドはページの内容ではなく、ページの上に載った別のオブジェクトです。ハイライト、付箋、スタンプ、入力した名前やチェックは、それぞれ見た目を描く外観ストリームを持ち、ビューアーがそれをページに重ねて表示します。フラット化はその外観をページのコンテンツに描き移し、注釈とフォームの構造を削除する処理です。
このツールでは注釈の統合、フォームの統合、透明の分割・統合(ラスタライズ)の3つを個別にオン・オフできます。前の2つはベクターの描画命令をそのまま移すので画質は変わらず、最後の1つだけがページを画像にします。
フラット化していないPDFで起きること
注釈やフォームはビューアーが解釈するものなので、受け取った側のソフトで結果が変わります。よくある例は次のとおりです。
- 印刷されない:仕様上、注釈には印刷するかどうかのフラグが別にあり、画面では見える付箋やスタンプが印刷物に出ないことがあります。
- 値の見え方が変わる:外観を持たず「ビューアーで外観を作り直す」(NeedAppearances)と指定されたフォームは、ビューアーごとにフォントや改行が変わります。日本語の値が□になるのも多くはこれが原因です。
- 編集できてしまう:受け取った人が入力値や注釈を消したり変えたりできます。提出した申請書の内容をそのまま残したいなら固定が必要です。
- 印刷所のRIP:古い出力機が透明(不透明度・描画モード・ソフトマスク)を正しく処理できず、白い四角や色の差が出ることがあります。
注釈を統合する仕組み
各注釈の通常の外観(/AP /N)をフォームXObjectとしてページに描きます。外観のバウンディングボックスを外観行列で変換して注釈の矩形(/Rect)に合わせる、仕様12.5.5節の配置規則どおりです。チェックボックスとラジオボタンは現在の状態(/AS)に合う外観を選びます。
非表示(Hidden・NoView)の注釈は描かずに削除し、付箋に付いたポップアップも一緒に消します。外観がない注釈は描くものが分からないので残し、件数を表示します。リンクはクリックできるまま残すか削除するかを選べます。
フォームのフラット化と電子署名の順番
フォームモードは外観のないフィールドの外観を先に作り、すべてのウィジェットをページに描いてからAcroFormとXFAの構造を削除します。標準フォントで描けない文字を含む値は、日本語(かな・漢字)ならNoto Sans JP、ハングルならNoto Sans KRを埋め込んで描きます。XFA専用の動的フォームはブラウザで解釈できず、AcroFormのウィジェットに残った見た目だけが統合されるため、空白になることがあります。
電子署名は署名時点のファイルのバイト列をハッシュで固定します。フラット化はファイルを書き直すので、署名済みのPDFをフラット化すると署名の見た目だけ残って検証は失敗します。順番は入力、フラット化、署名です。空の署名フィールドがあるフォームをフラット化すると署名欄そのものが消えるので、署名をもらう文書ではフォームの統合をオフにして注釈だけを統合してください。
透明のラスタライズの代償
ページのリソースを調べ、不透明度1未満、ソフトマスク、Normal以外の描画モード、半透明画像、透明グループが実際に使われているページを見つけます。オンにすると、そのページをpdf.jsで指定解像度にレンダリングし、品質90のJPEG 1枚に置き換えます。
置き換えたページは文字の選択・検索ができず、拡大するとぼやけ、容量もたいてい増えます。印刷所から透明を指摘されたときだけ「検出されたページ」に絞って使うのがよいでしょう。
例
ラスタライズ解像度と画素数
- 入力
A4(8.27×11.69インチ)、150 DPI / 300 DPI- 結果
約1240×1754 / 約2481×3508画素
300 DPIは縦横が2倍なので画素は4倍(約870万)です。入稿用なら300、画面共有なら150で十分です。元が文字中心のページなら、どちらでも元より大きくなる可能性が高いです。
ハイライト入りの契約書
- 入力
ハイライト12・付箋3・ポップアップ3、注釈を統合- 結果
ハイライト12とアイコン3がページに描かれ、ポップアップ3は削除
付箋の本文はポップアップの中だけにあるので、ページにはアイコンだけが残ります。コメント内容を残すならフラット化の前に注釈の一覧を書き出しておきます。
署名をもらう申請書
- 入力
入力済みフィールド20+空の署名フィールド1- 結果
注釈だけ統合し、フォームは残す
フォームまでフラット化すると空の署名欄が消え、相手が署名できなくなります。署名後はフラット化しないのが原則です。
使い方
- PDFを選び、注釈の種類別件数、フォームフィールド数、XFAの有無、透明を使うページを確認します。
- 注釈とフォームをそれぞれ統合するか、リンクを残すかを決めます。
- 必要なときだけ透明のラスタライズ(検出されたページ)と解像度を選んで実行し、要約とプレビューを確認します。
主な用語
- 外観ストリーム(/AP)
- 注釈やフィールドの見た目を描く命令のまとまりです。通常(N)・ロールオーバー(R)・押下(D)の状態ごとに持てます。
- AcroForm / XFA
- PDFフォームの2方式です。AcroFormはページ上のウィジェット方式、XFAはXMLでフォームを定義する方式で、PDF 2.0で廃止されました。
よくある質問
PDFのフラット化は元に戻せますか?
戻せません。注釈とフィールドの情報が消え、見た目だけがページに残ります。元ファイルを保管してください。
フラット化したら付箋の中身が消えました。
付箋の本文はポップアップにだけある文字なので、ページにはアイコンだけが描かれます。内容を残すなら先に注釈の一覧を保存してください。
フラット化で容量は減りますか?
注釈・フォームの統合ではほとんど変わらず、フォントを埋め込むと少し増えます。透明をラスタライズしたページはたいてい大きくなります。
外観のない注釈が残ったと表示されます。
見た目を保存せずビューアーに描かせるソフトがあり、その注釈は描くものがないため残します。元のソフトで保存し直すと外観が作られることが多いです。
出典
- Adobe — PDF 1.7 / ISO 32000-1:2008, 12.5 Annotations, 12.7 Interactive forms, 11 Transparency
- PDF Association — ISO 32000 (PDF) resources
- pdf-lib — PDFForm.flatten
- Mozilla — pdf.js
基準日: