function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | PDF データを受け取る TStream 値 |
| Option | TSaveOption。保存オプション。通常の保存は saNone、インクリメンタル更新は saIncremental、完全書き換えの強制は saNoIncremental、保存時にセキュリティを除去するのは saRemoveSecurity |
| PdfVersion | TPdfVersion ターゲット。pvUnknown を指定すると現在のバージョンを維持します |
function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| FileName | string。出力ファイルのパス。兄弟の一時ファイルをまず完成させ、その後で宛先をアトミックに置き換えます |
| Option | TSaveOption。保存オプション。saNone、saIncremental、saNoIncremental、saRemoveSecurity のいずれか |
| PdfVersion | TPdfVersion ターゲット。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 の保存結果は、受け入れる前に必ず開き直して、必要なフィールド値を正確に比較してください。永続化の差異を隠すために空白をトリムしないでください
pv13 は継承されたページリソースを正規化し、/ProcSet を正準化し、/BM /Normal、/SMask /None、/CA 1、/ca 1、/AIS false、/TK true を含む初期の透過状態値のみを除去しますpv13 はアクティブなメタデータストリームを拒否します。/Type /Metadata と XMP コンポーネントメタデータは PDF 1.4 以降を必要とするためですpv13 はドキュメントの /EmbeddedFiles 名前ツリーを拒否します。PDF 1.4 の名前ツリーエントリを使用しない、より古い埋め込みファイルストリーム参照は保持されますpv13 はドキュメントカタログの /Lang エントリを拒否します。ドキュメントレベルの自然言語識別は PDF 1.4 以降を必要とするためですpv14 以前のターゲットは、ドキュメントカタログの /PageLayout /TwoPageLeft と /TwoPageRight の値を拒否します。2 ページレイアウトは PDF 1.5 以降を必要とするためですpv14 以前のターゲットは、/BitsPerComponent 16 の画像 XObject を拒否します。16 ビット画像コンポーネントは PDF 1.5 以降を必要とするためですpv14 以前のターゲットは、画像 XObject の /SMaskInData エントリを拒否します。埋め込み JPEG 2000 ソフトマスクチャンネルは PDF 1.5 以降を必要とするためですpv13 と saIncremental の組み合わせは EPdfError を発生させます。正規化では署名済みの以前のリビジョンを保持できないためですEPdfError を発生させます。コアバージョンターゲットを要求する前に、呼び出し側がセキュリティを除去しなければなりません/BaseVersion /1.7 と /ExtensionLevel 1 以上を持つ /ADBE 開発者拡張を必要とします。素の PDF 1.7 宣言では不十分ですRichMediaExecute アクションは、/BaseVersion /1.7 と /ExtensionLevel 3 以上を持つ /ADBE 開発者拡張を必要とします/Type /Measure /Subtype /GEO 辞書と Projection 注釈は、/BaseVersion /1.7 と /ExtensionLevel 3 以上を持つ /ADBE 開発者拡張を必要とします/Annots エントリを通じて到達するすべての直接・間接の注釈辞書は、必須の /Subtype と /Rect エントリを含まなければなりません/OCProperties の検証は、配列の /OCGs、辞書の /D、存在する場合の有効な既定値 /BaseState /ON と /Intent /View、配列値の /Configs、/ON、/OFF、/AS、/Order エントリを必要とします/DecodeParms 辞書または単一エントリのパラメーター配列で宣言された PNG predictor をデコードします。複数ページフォームの predictor 圧縮された相互参照ストリームも含まれます。関係のない入れ子のキーがストリームのデコード パラメーターを上書きすることはありません
// 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;