PDFium Delphi Component Docs

SaveAsPdfUaToStream メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
SaveAsPdfUa のインメモリバリアント — PDF/UA-1 出力をディスクを経由せずに任意の TStream へ書き込みます

Syntax

function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;

Description

SaveAsPdfUaToStream は SaveAsPdfUa のストリーミング版です — 同じ PDF/UA-1 出力を生成しますが、呼び出し側が提供するシーク可能な TStream へ結果を書き込みます。HTTP アップロードパイプライン、BLOB 列、インメモリキャッシュレイヤー、アーカイブコンテナー(ZIP / TAR)、または PDF/UA バイトがディスクに触れる必要のないワークフローに有用です

後処理ロジックは SaveAsPdfUa(FileName, Options) と同じです。基本の SaveAs が最初に実行され、インクリメンタルアップデートが XMP メタデータストリーム(ISO 14289-1 §7.1 に従う必須の dc:title と pdfuaid 拡張スキーマ記述)、ソースにないときのカタログ /MarkInfo と /ViewerPreferences、呼び出し側が BCP 47 タグを供給したときのカタログ /Lang、トレーラー /ID 配列を注入します。空のままの Options フィールドは PDFium リーダー(FPDF_GetMetaText、FPDF_GetFileIdentifier、FPDFCatalog_GetLanguage)から自動的に穴埋めされるため、典型的な呼び出し側は必要に応じて DocumentTitle または Language のみを設定します

成功すると True を返します。出力ストリームは最後に書き込んだバイトの後の位置に残ります。基本の SaveAs が失敗した場合、または後処理を付加できなかった場合(通常は暗号化されたソース)は False を返します

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfUaSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfUaSaveOptions.Default;
    Opts.DocumentTitle := 'Quarterly Report';
    Opts.Language := 'en';
    if Pdf1.SaveAsPdfUaToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs