PDFium Delphi Component Docs

SaveAs Метод

Компонент: TPdf  ·  Модуль: PDFium
Сохраняет копию PDF-документа в указанный поток или файл с явной нормализацией и проверками соответствия для версий с PDF 1.3 по PDF 1.7

Syntax

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

StreamЗначение TStream, принимающее данные PDF
OptionTSaveOption. Параметр сохранения: saNone для обычного сохранения, saIncremental для инкрементального обновления, saNoIncremental для принудительной полной перезаписи или saRemoveSecurity для удаления защиты при сохранении
PdfVersionЦелевое значение TPdfVersion; используйте pvUnknown, чтобы сохранить текущую версию

 

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

FileNamestring. Путь выходного файла. Сначала завершается соседний временный файл, затем он атомарно заменяет назначение
OptionTSaveOption. Параметр сохранения: saNone, saIncremental, saNoIncremental или saRemoveSecurity
PdfVersionЦелевое значение TPdfVersion; используйте pvUnknown, чтобы сохранить текущую версию

Return Value

Возвращает True, если документ успешно сохранён, или False в случае ошибки

Description

Сохраняет текущий документ в путь к файлу или в TStream

Параметр PdfVersion задаёт выходную версию PDF; передайте pvUnknown, чтобы сохранить существующую версию документа

Свойство Compressed управляет сжатием потоков. Входные данные с гибридными ссылками, потоками xref и объектными потоками сохраняются, когда перезапись с классическим xref не может удержать их полную семантику перекрёстных ссылок

Каждое полное (неинкрементальное) сохранение чинит подмножества шрифтов, чьи CMap ToUnicode содержат записи диапазонов массива, противоречащие отображениям символов, поэтому перезагруженный документ извлекает исходные пробелы и дефисы вместо U+00A0 и U+00AD; инкрементальные ревизии, разреженные обновления и документы с потоками перекрёстных ссылок проходят без изменений

Явные проверки версии PDF следуют активной цепочке редакций перекрёстных ссылок и активным членам объектных потоков, поэтому устаревшие или неупомянутые тела объектов не влияют на запрошенный порог версии

Файловая перегрузка оставляет существующее назначение без изменений, если сжатие, постобработка или проверка версии завершаются неудачей

Обновление V8 для Windows из v3.125.2 чинит точное сохранение значений полей для протестированных массивов пакетов и поддерживаемого подмножества XDP с одиночным потоком; более старые runtime могут отбрасывать правки одиночного потока или добавлять лишние переводы строк

Заново откройте XFA-вывод и, прежде чем принимать результат, сверьте требуемые значения полей в точности; не обрезайте пробельные символы, чтобы скрыть расхождение в сохранении

Conformance behavior

Example

// 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;

See Also

LoadDocument, Compressed, CreateDocument