RepairQDFFile
调试、文档修复
描述
在人工编辑更改流长度或对象字节位置后修复 QDF PDF
修复过程扫描对象边界而不信任过期的交叉引用偏移量,重新计算流长度、更新间接长度对象,并重建空闲列表、交叉引用表、尾部、startxref 和 /Size
当对象带有明确无歧义的 QDF 流标记时,包含 endstream 和 endobj 行的流数据会被保留。无效的 QDF 输入以及同一对象的重复标记会在打开目标文件之前被拒绝,即使在就地修复期间也能保留已有的输出文件
语法
Delphi
Function TPDFlib.RepairQDFFile(Const InputFileName, OutputFileName: WideString): Integer;DLL
int DLRepairQDFFile(int InstanceID, const wchar_t* InputFileName, const wchar_t* OutputFileName);ActiveX
Function PDFlib::RepairQDFFile(InputFileName As String, OutputFileName As String) As Long参数
| InputFileName | 已编辑的 QDF PDF |
|---|---|
| OutputFileName | 已修复 PDF 的路径,可能与输入路径相同 |
返回值
| 1 | 已修复编辑后的 QDF |
|---|---|
| 0 | 输入不是可修复的 QDF,或无法写入目标位置 |
错误
LastErrorCode 106 表示无效 QDF 结构,107 表示修复失败,305 表示输出写入失败
备注
就地修复是安全的,因为在替换目标之前会读取完整源文件