THotPDF.CopyLoadedSourceToStream

Копирует исходные байты загруженного PDF с помощью ограниченного чтения, сохраняющего позиции источника

Объявление

procedure CopyLoadedSourceToStream(Destination: TStream;
  MaxBytes: Int64; Checkpoint: TNotifyEvent = nil);

Поведение

Этот метод HPDFDoc копирует удерживаемые исходные байты, не сохраняя и не нормализуя текущий граф объектов, и восстанавливает позицию заимствованного исходного потока и при успехе, и при сбое

Загрузка зашифрованного файла удерживает отдельный исходный дескриптор чтения даже после того, как расшифровка по паролю отключает обычный быстрый путь сохранения; этот метод копирует исходный шифротекст, а GetLoadedSourceFileSize сообщает его размер

Удерживаемый исходный дескриптор освобождается при перезагрузке, уничтожении и поддерживаемой инкрементальной публикации на месте, а также участвует в проверках физического алиасинга файла-источника

MaxBytes должен быть положительным и включает полную длину источника; источник большего размера вызывает EHPDFIncrementalOutputBudget до первой записи

Destination не должен быть nil и не должен совпадать с загруженным потоком или тем же файлом на диске, включая жёсткую ссылку; недоступный исходный источник вызывает EInvalidOpException

OperationCancellationToken и Checkpoint проверяются до чтения и во время чтения блоками не более 64 KiB; в checkpoint передаётся экземпляр THotPDF

Метод пишет в текущую позицию назначения, не очищая уже имеющееся содержимое; отмена, ошибки чтения или сбои назначения могут оставить частичную копию, поэтому неудачный результат следует отбрасывать

Метод не сериализует незавершённые изменения объектов и не гарантирует, что загруженный граф по-прежнему соответствует исходным данным

Связанные темы

Инкрементальное подписание PFX, THotPDF.SaveIncrementalUpdate