ネイティブ Linux C ABI リッチフォーム交換
既存の forms.import 操作は、呼び出し側のバージョン付き InputIO コールバックを通じて FDF の RV と XFDF の value-richtext を受け付け、OutputIO を通じて正規の更新済み PDF を公開します
V1 の ABI バージョン、エクスポートシンボル、コールバックテーブルレイアウトは変更されません。このバインディングはネイティブ Linux x64 が対象です
{"schemaVersion":1,"type":"forms.import","format":"xfdf","fontFamily":"DejaVu Sans","fontSize":12}
出力先 PDF は既にロード済みでなければなりません。InputIO が供給するのは別の PDF ではなく、実際のフォームデータバイトです
inline-xhtml-v1 プロファイルは、混在 Unicode テキスト順序、段落と明示的な改行、継承されたインラインフォントサイズ、RGB 色、ウェイト、イタリック、下線、打ち消し線、段落配置を上限付きネイティブ XHTML デコーダーで保持します
省略可能な名前付きリッチフォントファミリーは、継承された CSS ファミリーリストで設定済みプログラムを選択します。任意の CSS レイアウト、外部スタイルシート、表、画像、垂直配置は別機能のままです
fontFamily はネイティブフォントプロバイダーの実際の regular、bold、italic、bold-italic プログラムを選択します。実際のリッチ値が必要とするスタイルだけがロードされ、スカラーフィールドが使う regular プログラムとともに提供されます
デプロイの Fontconfig 設定が、望むファミリーとフェイスを供給しなければなりません。要求されたフェイスが利用不可のときは通常のプロバイダーフォールバックが適用され、fontStyles はインストール済みフォントフェイスの保証ではなくロードされたスタイルスロットを記述します
フォントプログラムは、準備された PDF の埋め込みフォントストリームと実際のアピアランスの中で呼び出し側に返ります。JSON 応答にフォントファイルパスは公開されません
fontSize が 0 のとき、スタイルなし XHTML はデコーダーの 12 ポイント既定を使います。明示的に指定されたサポート対象 XHTML フォントサイズは独自の値を保ちます
| result フィールド | 意味 |
|---|---|
updated | 変更されたターミナルフィールド数。サポート対象のスタイルのみの変更も含みます |
richFieldCount | デコード済み入力内のリッチフィールド数。等価な未変更値も含みます |
fontStyles | 実際にロードされたフォントスロット。regular、bold、italic、boldItalic の順 |
richXMLProfile | デコード済み入力がリッチフィールドを含むとき、inline-xhtml-v1 か inline-xhtml-font-families-v1 |
fontFamilies | 省略可能な名前付きファミリー配列が指定されたときの設定ファミリーラベル |
等価な正規・非正規リッチマークアップは、テキストとサポート対象スタイルが一致すれば冪等です。未変更の読み取り専用フィールドはソース RV を保持し、異なるサポート対象スタイルは読み取り専用保護を強制します
変更ゼロのインポートは、既存の署名済み・暗号化リビジョンを含む、コミット済みプライベート PDF スナップショットを正確に公開します。空の相互参照リビジョンは蓄積されません。変更された呼び出し側入力バイトやバッキングファイルが、ロード済みスナップショットを置き換えることはありません
インポートはネイティブリッチインポートトランザクションを通じて、認証済み AES セキュリティ、実際の署名済みリビジョン、DocMDP P1/P2/P3 の判定、FieldMDP ロックを保持します
結合されたフォントプログラムは、フォントごとのネイティブ上限に加えて limits.memoryBytes の 4 分の 1 に制限されます。既存のフォームデータ、グリフ、オブジェクト、出力、result の各上限も引き続き有効です
コールバックは呼び出しスレッド上で同期的に実行されます。部分的な入出力コールバックは受け付けられ、解析、フォントロード、アピアランス準備、公開の間はキャンセルが有効なままです
ハンドルがコミットするのは、PDF と JSON の両コールバックが成功した後だけです。コールバックエラーやキャンセルは以前の状態を保ち、呼び出し側はシンクが既に受け取った部分的なバイトを破棄します
ケイパビリティは formData.richXML=true、互換既定の richXMLProfile=inline-xhtml-v1、両方の richXMLProfiles、16 ラベルまでの省略可能な名前付きファミリー選択、4 つのサポート対象 fontStyles を告知します。注釈交換は false のままです
フォームデータコールバックと上限 · ネイティブ Linux C ABI · 署名トラストオプション
内部スタイルシートは、有界なセレクター、important、詳細度、ソース順序を、実際にインポートされたリッチ値と保存された外観に適用します。等価なインポートの繰り返しや公開失敗でも、既存のトランザクション保証は保持されます
richTextResources は、変更されていない execute-json-v1 操作を通じて、リンクおよびインポートされた CSS テキストを供給します
一致するランタイムユニットを備えた FPC 3.3.1 以降を使い、受け入れに使用した実際のコンパイラービルドを記録してください
JSON 操作の解析では、エスケープされた NUL と Unicode オブジェクトキーが保持されます。richTextResources 内の NUL は、JSON デコード中に黙って消えるのではなく、ドキュメントが変更される前に拒否されます
再利用可能な Tests/Linux/JSONOperationUnicode/Run.py ゲートが選択された製品パーサーを検査し、実際のコールバックスイートもコンパイル済み共有ライブラリーと PDF トランザクションを検査します