RepairQDFFile
Отладка, восстановление документов
Описание
Чинит QDF PDF после ручных правок, изменивших длины потоков или позиции байтов объектов
Проход восстановления сканирует границы объектов, не доверяя устаревшим смещениям перекрестных ссылок, пересчитывает длины потоков, обновляет косвенные объекты длин, перестраивает список свободных объектов, таблицу перекрестных ссылок, trailer, startxref и /Size
Данные потока, содержащие строки endstream и endobj, сохраняются, если у объекта есть однозначный маркер потока QDF. Некорректный ввод 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 | The edited QDF PDF |
|---|---|
| OutputFileName | Путь восстановленного PDF; может совпадать со входным |
Возвращаемые значения
| 1 | Отредактированный QDF восстановлен |
|---|---|
| 0 | Вход не был восстанавливаемым QDF либо целевой файл не удалось записать |
Ошибки
LastErrorCode 106 сообщает о некорректной структуре QDF, 107 о сбое восстановления, 305 о сбое записи вывода
Примечания
Восстановление на месте безопасно: полный источник прочитан до замены целевого файла