function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;
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 в случае успеха
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;