ネイティブ Linux C ABI 注釈交換

hpdf_document_execute_json_v1 は、既存のバージョン付き操作ディスクリプタとコールバック IO インターフェイスを通じて、annotations.export と annotations.import を公開します

先に PDF をドキュメントコンテキストへロードしてください。注釈インポートは、XFDF バイトに InputIO、保存される PDF に OutputIO、JSON 結果メタデータに ResultIO を使います

{"schemaVersion":1,"type":"annotations.export","format":"xfdf"}

エクスポートは UTF-8 XFDF を OutputIO に書き込み、annotationCount、skippedAnnotationCount、decodedAttachmentBytes、outputBytes を報告します

{"schemaVersion":1,"type":"annotations.import","format":"xfdf",
 "annotationLimits":{"maxBytes":1048576,"maxAnnotations":1000,
 "maxNodes":100000,"maxDepth":32,"maxWorkingBytes":67108864}}

インポートは updated と annotationProfile を報告し、その後、PDF と結果の両コールバックが成功した後にのみ保存リビジョンを採用します

入出力コールバックの失敗、結果コールバックの失敗、キャンセルは、以前にコミットされた正確なコンテキストを保持します。外部コールバックは、後続のコールバック失敗の前に部分的なストリームを受け取り済みの可能性があります

機能 JSON は、マップ済みタイププロファイル、追加インポートモード、埋め込みデータ、前方応答、ポップアップオブジェクトを持つ annotationData を通知します。appearanceImport は false です

注釈上限は操作容量を下げることはできても上げることはできません。MaxBytes は操作メモリの 64 分の 1 でも制限され、作業ストレージは操作メモリの半分、エクスポートバイトは出力上限でも制限されます

インポートは、CAdES・トラスト・タイムスタンプ検証設定のための既存 signaturePolicy オブジェクトを受け付け、注釈権限と認証済み DocMDP ポリシーを適用します

空の ABI インポートは、ゼロ更新を返しながらコミット済み PDF バイトを保持します

ローカルの名前付き・明示的宛先と GoTo アクションは、共有注釈コーデックを通じて実際のページ参照と、上限付きの正確な 10 進座標を保持します

ELF SONAME と HOTPDF_1.0 シンボルバージョンは変更されず、既存の C コンシューマは同じ公開操作ディスクリプタを使い続けます

マップ済みプロファイルとネイティブ API · Linux C ABI · フォームデータ操作

標準スタンプ外観トランスポートは、base64 型付き XML を通じて実際の Form ストリームと、上限付きの非巡回フォント・画像・グラフィックスリソースを保持します

FDF オブジェクトグラフ操作

{"schemaVersion":1,"type":"annotations.import","format":"fdf"}

バイナリ注釈グラフには format="fdf" を選択してください。同じ操作ディスクリプタと InputIO、OutputIO、ResultIO コールバックを使います。annotations.export は FDF バイトを OutputIO に書き込みます

FDF プロファイルは、供給された AP と RO リソース、共有間接オブジェクト、文脈依存のローカル GoTo ページ参照を保持します。同じページ上で一致する注釈 NM が置き換えを識別し、名前のない注釈や一致しない注釈は追加されます

成功した FDF インポートは annotationProfile="pdf-object-graph-v1" と整数の updated 数を報告します。更新ゼロの操作は、最後にコミットされた PDF バイトを正確に保持します

FDF の annotationLimits は maxObjects も受け付けます。すべての上限は外側の操作に制約され、失敗とキャンセルは既存のコールバックトランザクション保証を保持します

注釈のみの操作は空でない Fields と埋め込み Differences を拒否します。アクションデータは実行せずに転送されます

FDF グラフの動作と境界と ネイティブ FDF の上限を参照してください

注釈削除

{"schemaVersion":1,"type":"annotations.remove","annotations":[{"page":0,"name":"review-note"}]}

annotations.remove は現在のドキュメントか、InputIO で供給された独立した PDF を使い、コンテキストをコミットする前に PDF の OutputIO と JSON の ResultIO を公開します

結果は removed と annotationProfile="page-and-nm-removal-v1" を報告します。annotationLimits は注釈数、操作数、名前バイト、作業ストレージを制限します

失敗やキャンセルではコミット済みコンテキストが保持されます。すでに書き込まれたバイトは取り消せないため、コールバックシンクは呼び出し側が自身でステージングします