function SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): Boolean;
| Stream | TStream. Цільовий потік, що приймає зашифровані байти |
| Options | TPdfEncryptOptions. Запис конфігурації, що визначає паролі, дозволи, прапорці шифрування метаданих та редакцію шифрування |
True, якщо зашифрований PDF успішно записано в потік, або False у разі невдачіSaveAsEncryptedToStream є потоковим аналогом SaveAsEncrypted — він застосовує шифрування AES-256-CBC відповідно до ISO 32000-2 §7.6, але записує результати безпосередньо в будь-який TStream із підтримкою позиціонування (як-от TMemoryStream або TFileStream) замість запису через файловий шлях
Write, так і SeeksaRemoveSecurity, щоб об’єкти відкритого тексту чисто серіалізувалися перед шифруванням під час проходу після збереження
var
Stream: TMemoryStream;
Opts: TPdfEncryptOptions;
begin
Stream := TMemoryStream.Create;
try
Opts := TPdfEncryptOptions.Default;
Opts.UserPassword := 'user123';
Opts.OwnerPassword := 'owner123';
Opts.Permissions := $FFFFFFF0;
Opts.EncryptMetadata := True;
Opts.Revision := erR6;
if Pdf1.SaveAsEncryptedToStream(Stream, Opts) then
begin
Stream.Position := 0;
SendToNetwork(Stream);
end;
finally
Stream.Free;
end;
end;