PDFium Delphi Component Docs

SaveAsPdfRToStream Метод

Компонент: TPdf  ·  Модуль: PDFium
Вариант SaveAsPdfR в памяти — записывает вывод PDF/R-1 в любой TStream без промежуточного дискового хранения

Syntax

function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;

Description

SaveAsPdfRToStream — потоковый аналог SaveAsPdfR — те же выходные байты, записанные в любой поддерживающий позиционирование TStream, предоставленный вызывающим. Полезно для конвейеров захвата / архивирования документов, которые принимают вывод сканера, добавляют маркеры PDF/R-1 и передают результат в хранилище содержимого без обращения к диску

Постобработка идентична SaveAsPdfR: каталог сокращён до белого списка §6.3, Info-словарь сокращён до белого списка §6.4.3, поток XMP несёт четыре записи из §6.4.4 Table 1, комментарий нижнего колонтитула %PDF-raster-1.0 и /ID трейлера. Только четыре разрешённые записи Info (Creator / Producer / CreationDate / ModDate) автоматически заполняются из FPDF_GetMetaText; Title / Author / Subject / Keywords намеренно НЕ переносятся, так как PDF/R запрещает их в Info-словаре

Возвращает True в случае успеха

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfRSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfRSaveOptions.Default;
    Opts.Producer := 'PDFium Delphi Component scan pipeline';
    if Pdf1.SaveAsPdfRToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      ArchiveScan(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfR, ValidatePdfR, PdfRConformance, SaveAs