THPDFHeadlessDocument.SaveAnnotationRemovalsToFile メソッド

function SaveAnnotationRemovalsToFile(const FileName: string;
  const Identities: array of THPDFHeadlessAnnotationIdentity;
  const Options: THPDFHeadlessAnnotationRemovalOptions): Integer;

現在ロードされているソースからページ注釈削除を準備し、別個の PDF を FileName にアトミックに公開します

Identities は、有効な 0 起点ページインデックスと正確にデコードされた Unicode NM 値によって注釈を選択します。Options は正のリソース上限とオプションの共有キャンセルを供給します

戻り値は、popup と返信の依存関係を含め、削除された各注釈を 1 回ずつ数えます。要求された識別子の数を超えることがあります

空の要求や一致しない有効な識別子は 0 を返し、現在のソースバイトを正確に公開します。重複識別子、曖昧な選択名、共有注釈所有者は失敗します

所有者を削除すると、依存する popup と返信が推移的に削除され、サイクル処理は有限です。popup のみを削除した場合は、保持された所有者の Popup リンクがクリアされます

選択されたまたは依存する Widget は hdFieldTypeUnsupported を発生させます。フィールドツリー削除は別トランザクションだからです

状態と公開

ロード済みドキュメントは成功後も失敗後も変更されません。変更されたリビジョンを採用するには、公開された PDF を再ロードしてください

変更された出力は元のファイルプレフィックスを保持するインクリメンタルリビジョンです。変更 0 件は正確なコピーを生成し、この操作は古いリビジョンをセキュア消去しません

出力パスはロード済みソースのエイリアスであってはなりません。割り当て失敗、無効入力、ポリシー拒否、予算枯渇、キャンセルは既存の宛先を保持します

ポリシーと診断

実際の変更には、暗号化ドキュメントの注釈権限と認証済み署名ドキュメントポリシーの許可が必要です。認定 P1/P2 は変更を拒否し、許可された P3 変更は元の署名バイト範囲を保持します

無効な識別子と不正な所有は hdInvalidDocument を報告します。リソース枯渇は hdLimitExceeded を、Widget 選択は hdFieldTypeUnsupported を報告します

セキュリティ、署名、キャンセルの失敗は既存のネイティブ診断契約を保持します。信頼とタイムスタンプ要件はドキュメントの署名ポリシーオプションで設定してください

THPDFHeadlessAnnotationIdentity、THPDFHeadlessAnnotationRemovalOptions、ネイティブ注釈削除を参照してください