ネイティブ Linux の HTML・編集・OCR・アーカイブワークフロー
ネイティブ Linux コールバック ABI は、schemaVersion 1 の html.import、text.draw、ocr、pdfa.convert を、既存の出力・result・作業バイト・ピクセルの各予算とともに受け付けます
HTML インポート
{"schemaVersion":1,"type":"html.import","html":"<h1>Invoice</h1><p>Searchable Unicode</p>","createAcroForms":true}
HTML インポートは空のハンドルに対して動作し、ネイティブ描画キャンバス、Fontconfig マッチング、埋め込み Unicode TrueType フォント、HarfBuzz/FriBidi シェーピング、PNG/JPEG/BMP/GIF リソース、アルファマスク、ハイパーリンク、ページ分割、AcroForm コントロールを備えた共有 HTML5/CSS レイアウトエンジンを使います
ABI はインラインデータリソースを受け付けます。ネットワークやファイルのリソースコールバックはインストールしません。Pascal 呼び出し側は、明示的なフォント・画像・スタイルシートリソースのために既存のインポーターコールバックを供給できます
省略可能な pageWidth と pageHeight はポイントを使います。maxPages と maxLayoutOperations は正でなければならず、DOM、CSS、リソース、画像の割り当ても操作予算に従います
ページテキスト編集
{"schemaVersion":1,"type":"text.draw","page":0,"text":"Searchable Unicode","left":36,"bottom":36,"right":559,"top":108,"fontFamily":"DejaVu Sans","fontSize":12,"invisible":true}
挿入は、間接参照されたコンテンツ配列を含む元のページストリームを保持し、プライベートリソース名付きの埋め込み Unicode フォームアピアランスを追記します。不可視テキストは描画モード 3 を使い、検索可能なままです
座標は回転なしの PDF ユーザー空間ポイントです。characterSpacing と wordSpacing はポイントを使い、認証済み AES-256 の置き換えは暗号化、パスワード、権限を保持します
Pascal の AppendPageText API はさらに、90 度単位のアピアランス回転と明示的な矩形フィッティングを受け付けます
実際の OCR
{"schemaVersion":1,"type":"ocr","pages":[0],"language":"eng","dpi":216,"searchLayer":true,"maxMilliseconds":120000}
OCR は実際のページピクセルを描画し、引数ベクトルでインストール済み Tesseract 実行ファイルを直接起動します。上限付き TSV 単語を読み、UTF-8、信頼度、ページ座標を検証し、回転・クロップされたページジオメトリを PDF 座標へ写像します
結果にはページごとの単語と、text、confidence、left、bottom、right、top が含まれます。searchLayer false は認識データを返し、true ではさらに、フィッティング済みの不可視埋め込みフォントテキストを持つ PDF も出力します
省略可能な tesseractPath は明示的な実行ファイルを選択します。maxWords、minimumConfidence、maxMilliseconds が認識を制限し、キャンセルやタイムアウトは実行中プロセスを終了・回収します
ネイティブ PDF/A-4 ラスター出力
{"schemaVersion":1,"type":"pdfa.convert","profile":"PDF/A-4","dpi":144}
ネイティブラスタ変換は、焼き込まれたページ回転、PDF/A-4 XMP、ドキュメント識別子、生成された埋め込み sRGB 出力インテントを持つ、暗号化されていない新しい PDF 2.0 ページを作成します。現在の受け入れには、失敗ルール 0 の独立 veraPDF 検証も含まれます
出力は元のテキストとベクターをラスター化し、可視アピアランスをフラット化し、ソースメタデータを置き換え、インタラクティブフィールド、アクション、添付、署名を落とします。結果は rasterized、removedFormFields、removedSignatures を報告します
署名済み入力には明示的な allowSignatureInvalidation true が必要です。可視注釈はフラット化の前に使用可能な normal アピアランスを必要とします。ネイティブのテキスト/ベクター保持は、真の検証付きの検索可能な変換モードを提供します
明示的なアーカイブフォント修復は、上限付き Ghostscript 正規化を通じて利用可能な代替フォントを埋め込み、検索可能なテキストとベクターを保持し、公開前に PDF/A-4 を検証します
公開とランタイム
すべてのバイナリ出力はコールバックの前に準備されます。生成・編集されたドキュメントは、出力と JSON コールバックの成功後にのみハンドルを置き換え、失敗時は以前のコンテキストが保たれます
ネイティブ HTML には FCL 画像リーダー、Fontconfig、インストール済み Unicode TrueType フォント、HarfBuzz、FriBidi が必要です。OCR はさらに Tesseract と訓練済み言語データを、アーカイブプロファイル生成は Little CMS 2 を必要とします
コールバック ABI · ネイティブ描画キャンバス · Pascal OCR API · Pascal アーカイブ API