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 实例
方法在目标当前位置写入,不清除已有内容;取消、读取错误或目标故障都可能留下不完整的副本,调用方应丢弃未成功的候选文件
该方法不会序列化待决的对象变更,也不保证已加载的对象图仍与原始源一致