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