PDFium Delphi Component Docs

SaveAs メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
PDF 1.3 から PDF 1.7 までの明示的な正規化と準拠チェックを伴い、PDF ドキュメントのコピーを指定のストリームまたはファイルへ保存します

構文

function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;

StreamPDF データを受け取る TStream 値
OptionTSaveOption。保存オプション。通常の保存は saNone、インクリメンタル更新は saIncremental、完全書き換えの強制は saNoIncremental、保存時にセキュリティを除去するのは saRemoveSecurity
PdfVersionTPdfVersion ターゲット。pvUnknown を指定すると現在のバージョンを維持します

 

function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;

FileNamestring。出力ファイルのパス。兄弟の一時ファイルをまず完成させ、その後で宛先をアトミックに置き換えます
OptionTSaveOption。保存オプション。saNone、saIncremental、saNoIncremental、saRemoveSecurity のいずれか
PdfVersionTPdfVersion ターゲット。pvUnknown を指定すると現在のバージョンを維持します

戻り値

ドキュメントが正常に保存された場合は True、失敗した場合は False を返します

説明

現在のドキュメントをファイルパスまたは TStream へ保存します

PdfVersion パラメーターは出力 PDF バージョンを指定します。ドキュメントの既存バージョンを維持するには pvUnknown を渡します

Compressed プロパティがストリーム圧縮を制御します。クラシック xref への書き換えで完全な相互参照セマンティクスを保持できない場合、ハイブリッドリファレンス、xref ストリーム、オブジェクトストリームの入力はそのまま保存されます

フル保存(非インクリメンタル保存)では、配列範囲エントリが文字マッピングと矛盾しているサブセットフォントの ToUnicode CMap を修復します。これにより、保存済み文書を再読み込みしたときに U+00A0 や U+00AD ではなく元のスペースとハイフンが抽出されます。インクリメンタルリビジョン、スパース更新、相互参照ストリームの文書は修復されずそのまま通ります

明示的な PDF バージョン検査は、アクティブな相互参照リビジョンチェーンとアクティブなオブジェクトストリームメンバーに従います。そのため古いオブジェクトや参照されないオブジェクト本体は、要求されたバージョンゲートに影響しません

ファイルオーバーロードは、圧縮、後処理、バージョン検証が失敗した場合、既存の宛先を変更しません

v3.125.2 の Windows V8 更新では、テスト済みのパケット配列と対応する single-stream XDP サブセットについて、フィールド値の正確な永続化が修理されました。古いランタイムでは、single-stream 編集が破棄されたり余分な改行が追加されたりするおそれがあります

XFA の保存結果は、受け入れる前に必ず開き直して、必要なフィールド値を正確に比較してください。永続化の差異を隠すために空白をトリムしないでください

準拠動作

例

// Save to file
Pdf.SaveAs('output.pdf');

// Save to stream
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
  Pdf.SaveAs(MS);
  MS.SaveToFile('output.pdf');
finally
  MS.Free;
end;

関連項目

LoadDocument, Compressed, CreateDocument