function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | Значение TStream, принимающее данные PDF |
| 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 не может удержать их полную семантику перекрёстных ссылок
Каждое полное (неинкрементальное) сохранение чинит подмножества шрифтов, чьи CMap ToUnicode содержат записи диапазонов массива, противоречащие отображениям символов, поэтому перезагруженный документ извлекает исходные пробелы и дефисы вместо U+00A0 и U+00AD; инкрементальные ревизии, разреженные обновления и документы с потоками перекрёстных ссылок проходят без изменений
Явные проверки версии PDF следуют активной цепочке редакций перекрёстных ссылок и активным членам объектных потоков, поэтому устаревшие или неупомянутые тела объектов не влияют на запрошенный порог версии
Файловая перегрузка оставляет существующее назначение без изменений, если сжатие, постобработка или проверка версии завершаются неудачей
Обновление V8 для Windows из v3.125.2 чинит точное сохранение значений полей для протестированных массивов пакетов и поддерживаемого подмножества XDP с одиночным потоком; более старые runtime могут отбрасывать правки одиночного потока или добавлять лишние переводы строк
Заново откройте XFA-вывод и, прежде чем принимать результат, сверьте требуемые значения полей в точности; не обрезайте пробельные символы, чтобы скрыть расхождение в сохранении
pv13 нормализует унаследованные ресурсы страниц, канонизирует /ProcSet и удаляет только исходные значения состояния прозрачности, включая /BM /Normal, /SMask /None, /CA 1, /ca 1, /AIS false и /TK truepv13 отклоняет активные потоки метаданных, поскольку /Type /Metadata и метаданные компонентов XMP требуют PDF 1.4 или новееpv13 отклоняет деревья имён /EmbeddedFiles документа, сохраняя более старые ссылки на потоки встроенных файлов, не использующие элемент дерева имён PDF 1.4pv13 отклоняет запись /Lang в каталоге документа, поскольку определение естественного языка на уровне документа требует PDF 1.4 или новееpv14 и старше отклоняют значения /PageLayout /TwoPageLeft и /TwoPageRight в каталоге документа, поскольку двухстраничные макеты требуют PDF 1.5 или новееpv14 и старше отклоняют XObject-изображения с /BitsPerComponent 16, поскольку 16-битные компоненты изображений требуют PDF 1.5 или новееpv14 и старше отклоняют записи /SMaskInData XObject-изображений, поскольку встроенные каналы мягких масок JPEG 2000 требуют PDF 1.5 или новееpv13 вместе с saIncremental вызывает EPdfError, поскольку нормализация не может сохранить подписанные предыдущие редакцииEPdfError; вызывающие должны снять защиту перед запросом целевой основной версии/ADBE с /BaseVersion /1.7 и /ExtensionLevel 1 или новее; одного объявления PDF 1.7 недостаточноRichMediaExecute требуют расширения разработчика /ADBE с /BaseVersion /1.7 и /ExtensionLevel 3 или новее/Type /Measure /Subtype /GEO и аннотации Projection требуют расширения разработчика /ADBE с /BaseVersion /1.7 и /ExtensionLevel 3 или новее/Annots страницы, должен содержать обязательные записи /Subtype и /Rect/OCProperties каталога требует массив /OCGs, словарь /D, корректные значения /BaseState /ON и /Intent /View по умолчанию при их наличии и записи /Configs, /ON, /OFF, /AS и /Order со значениями-массивами/DecodeParms потока или в массиве параметров из одного элемента, включая cross-reference streams, сжатые предиктором, в многостраничных формах; посторонние вложенные ключи не переопределяют параметры декодирования потока
// 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;