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