function SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): Boolean;
function SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): Boolean;
Jalur penyimpanan PDFium normal tetap menjadi sumber semantik untuk pengeditan dalam memori saat ini
Setiap array /Contents halaman didekode berurutan dan digabung dengan pemisah antar-stream yang sama yang dipakai PDFium
Tokenizer mempertahankan string literal, string hex, nama, array, kamus, payload inline-image, dan operator tak dikenal sambil mengkanonikalisasi pemisahan token
Komentar dihapus secara bawaan dan cakupan q/Q, BT/ET, marked-content, kompatibilitas, array, dan kamus yang seimbang divalidasi
Halaman yang berhasil menerima satu stream konten baru dan objek konten sumber yang tidak dirujuk dihapus dari grafik objek aktif yang ditulis ulang
Laporan mencakup halaman yang dinormalisasi dan dilewati, jumlah stream input dan output, array yang digabung, token, komentar, gambar inline, operator tak dikenal, dan jumlah byte
TPdfContentNormalizeOptions.Default enables comment removal, balanced-state validation, Flate compression when beneficial, unsafe-page skipping, and per-page byte and token budgetsSkipUnsafePages to False when any malformed token, unresolved inline-image boundary, unsupported filter, or limit violation shall abort the full saveAllowSignedDocument is explicitly enabled because a full rewrite invalidates existing byte rangessaIncremental is rejected because normalization writes a complete active revision
Options := TPdfContentNormalizeOptions.Default;
Options.SkipUnsafePages := False;
Pdf.SaveAsNormalizedContent('normalized.pdf', Report, Options);