RepairQDFFile

Débogage, réparation de documents

Description

Répare un PDF QDF après que des modifications humaines ont changé les longueurs de flux ou les positions d'octets des objets

La passe de réparation analyse les limites d’objets sans se fier aux décalages de références croisées obsolètes, recalcule les longueurs de flux, actualise les objets de longueur indirects et reconstruit la liste libre, la table de références croisées, la bande-annonce, startxref et /Size

Les données de flux contenant des lignes endstream et endobj sont conservées quand l’objet dispose d’un marqueur de flux QDF non ambigu. Une entrée QDF invalide et les marqueurs répétés pour un même objet sont rejetés avant l’ouverture de la destination, ce qui préserve un fichier de sortie existant même lors d’une réparation sur place

Syntaxe

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

Paramètres

InputFileNamePDF QDF modifié
OutputFileNameChemin du PDF réparé, qui peut être identique au chemin d’entrée

Valeurs de retour

1Le QDF modifié a été réparé
0L’entrée n’était pas un QDF réparable ou la destination n’a pas pu être écrite

Erreurs

LastErrorCode 106 indique une structure QDF non valide, 107 un échec de réparation et 305 un échec d'écriture de la sortie

Remarques

La réparation sur place est sûre, car la source complète est lue avant le remplacement de la destination