削除はボタン一つの話ではない
PDF ページ上の対話的なオブジェクトはすべて注釈ですが、そのうち三つのサブタイプはレビュー用のマークアップではありません。
/Widgetはフォームフィールドです。削除すればフォームは失われます。入力値、チェックボックス、ドロップダウン、そしてそれらを束ねる/AcroFormエントリーごとです。/Linkはハイパーリンクまたは内部ジャンプです。削除すればナビゲーションが壊れ、目次の飛び先も失われます。/Popupは付箋の窓であって、付箋そのものではありません。
「すべての注釈を削除」を一つの操作として扱うツールは、フォームとリンクを黙って壊します。このツールは両方を既定で保持し、それぞれに明示的なスイッチを用意し、ポップアップを単独で削除対象として並べることはありません。ポップアップは親の付箋に従い、すでに孤立しているものは掃除されます。
消すものを正確に選ぶ
サブタイプ、作者(/T)、/CreationDate または /M から読んだ日付範囲、ページ範囲——あるいはそれらの組み合わせで絞り込めます。件数、種類別・作者別・ページ別の内訳、プレビュー上の赤と緑の枠は、選択を変えるたびに更新されます。何かが書き込まれる前にです。
返信はスレッドとして扱われます。コメントを削除すると /IRT の返信も一緒に消えます。親を失った返信は、どのビューアーでも宙に浮いた断片として表示されるからです。この動作はオフにできます。
削除ではなく焼き込む
焼き込みは、注釈の外観ストリームをページの内容として描き込みます。マークアップは見えたまま残りますが、選択・編集・抽出はできません。配置は PDF 32000-1 §12.5.5 に従い、外観の /BBox をその /Matrix で変換したうえで、得られた矩形を注釈の /Rect に写す行列を Do の前に出力します。/CA の不透明度は ExtGState になります。
すべてを誠実に焼き込めるわけではありません。外観ストリームを持たない注釈、外観の状態が複数あって /AS がない注釈、非表示に設定された注釈は、そのまま残し、名前を挙げて一覧します。そうしなければ、見えたまま残したいマークアップを捨てることになるからです。
後始末と検証
削除では、注釈オブジェクト本体、そのポップアップ、その外観ストリーム(生き残った注釈が共有していない場合)、空になった /Annots 配列、行き先を失った /AcroForm のフィールドエントリーまで片付けます。保存は増分更新ではなく完全な書き直しなので、削除したコメントがバイト列に残ることはありません。その後、結果を別のパーサーで開き直し、残った注釈を数えて表示します。
プライバシー
PDF の読み込み・編集・保存はすべてブラウザー内で完結します。アップロードは行われません。
Tiny Online Tools







