RepairQDFFile
Hibás Az új oldalak teljes száma a dokumentumban
Leírás
Egy QDF PDF-et javít azután, hogy emberi szerkesztés megváltoztatta az adatfolyamok hosszát vagy az objektumok bájtpozícióit
A javítási menet elavult kereszt-referenciaeltolásokban nem bízva vizsgálja az objektumhatárokat, újraszámítja az adatfolyamhosszokat, frissíti a közvetett hosszobjektumokat, és újraépíti a szabadlistát, a kereszt-referenciatáblát, a trélert, a startxref és a /Size elemet
Az endstream és endobj sorokat tartalmazó adatfolyamtartalom megőrződik, ha az objektum egyértelmű QDF adatfolyamjelölővel rendelkezik. Az érvénytelen QDF-bemenet és az ugyanazon objektumhoz tartozó ismétlődő jelölők elutasításra kerülnek a célfájl megnyitása előtt, így a létező kimeneti fájl a helyben végzett javítás során is megmarad
Szintaxis
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 LongParaméterek
| InputFileName | A szerkesztett QDF PDF |
|---|---|
| OutputFileName | A javított PDF elérési útja, amely megegyezhet a bemeneti elérési úttal |
Visszatérési értékek
| 1 | A szerkesztett QDF helyreállítva |
|---|---|
| 0 | A bemenet nem javítható QDF volt, vagy a célhelyre nem lehetett írni |
Hibák
A LastErrorCode 401 bemenetolvasási hibát jelez, a 107 érvénytelen vagy nem egyértelmű QDF-struktúrát vagy egyéb javítási hibát, a 305 pedig kimenetírási hibát
Megjegyzések
A teljes forrás javítása a memóriában történik, majd az eredmény a célkönyvtárban kizárólagos megnyitással létrehozott átmeneti fájlba íródik. A fájlt a rendszer kiüríti és lezárja, mielőtt egy azonos köteten belüli csere közzéteszi az eredményt. Ha az írás, a kiürítés vagy a csere meghiúsul, a cél meglévő bájtjai megmaradnak, és a visszatérési hibakód 305; a bemenet olvasási hibái 401-et adnak vissza
A célkönyvtárnak lehetővé kell tennie átmeneti fájlok létrehozását és cseréjét. A csak olvasható Windows-célfájlok, illetve a törlésmegosztás nélkül megnyitottak nem cserélhetők. A cél meglévő DACL-jogosultságai még a javított adatok kiírása előtt átmásolódnak az átmeneti fájlba; 305-ös hibát okoz az elérhetetlen jogosultság, az explicit DACL nélküli cél vagy az EFS-sel titkosított cél. A sikeres csere új fájlidentitást hoz létre, és nem őrzi meg az alternatív adatfolyamokat sem a normál fájlattribútumokat. Az átmeneti fájlok normál siker vagy hiba után eltávolításra kerülnek; a folyamat hirtelen megszakadása hátrahagyhat egyet. Ez az API nem garantálja az áramkimaradás vagy egy másik író egyidejű módosításainak túlélését