PDFium Delphi Component Docs

SaveAsPdfE Метод

Компонент: TPdf  ·  Модуль: PDFium
Сохраняет текущий документ как файл, соответствующий PDF/E-1, путем постобработки базового PDF инкрементальным обновлением, которое добавляет маркеры формата PDF/E-1 (ISO 24517-1:2008)

Syntax

function SaveAsPdfE(const FileName: string): Boolean; overload;
function SaveAsPdfE(const FileName: string; const Options: TPdfESaveOptions): Boolean; overload;

Description

SaveAsPdfE сначала выполняет обычный SaveAs, а затем поверх сохранённых байтов накладывает инкрементальное обновление, повышающее файл до архива PDF/E-1 (ISO 24517-1:2008, инженерный формат документов на базе PDF 1.6). Постобработка вписывает в сохранённый поток четыре класса маркеров:

Вывод остаётся побайтово идентичным результату базового SaveAs вплоть до конца исходного PDF; дописывается только инкрементальное обновление Существующие ридеры, не знающие про PDF/E, по-прежнему отрисуют файл ровно так же, как обычный SaveAs. Разница перегрузок только в том, как передаётся конфигурация: форма только с именем файла берёт TPdfESaveOptions.Default с автозаполнением из FPDF_GetMetaText и FPDF_GetFileIdentifier, а форма с TPdfESaveOptions позволяет вызывающему переопределить Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate, DocumentId, InstanceId и строку Version (по умолчанию "PDF/E-1")

При успехе возвращается True. False возвращается, если базовый SaveAs провалился или инкрементальное обновление не удалось приложить (обычно из-за невалидного trailer в сохранённых байтах)

Remarks

Example

// Simple PDF/E-1 output, options auto-populated from the document
if Pdf1.SaveAsPdfE('C:\Drawing.pdfe.pdf') then
  ShowMessage('Saved PDF/E-1');

// With explicit options (Title overridden, custom Producer)
var
  Opts: TPdfESaveOptions;
begin
  Opts := TPdfESaveOptions.Default;
  Opts.Title := 'Bridge Assembly Drawing - Sheet 12';
  Opts.Producer := 'PDFium Delphi Component';
  Pdf1.SaveAsPdfE('C:\Bridge.pdfe.pdf', Opts);
end;

See Also

SaveAsPdfEToStream, ValidatePdfE, PdfEConformance, SaveAsPdfA, SaveAsPdfUa