Документация PDFiumPas

SaveAsPdfRToStream Метод

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
In-memory variant of SaveAsPdfR — writes PDF/R-1 output into any TStream without staging through disk.

Синтаксис

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

Описание

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

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

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

Примечания

Пример

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

См. также

SaveAsPdfR, ValidatePdfR, PdfRConformance, SaveAs