Others

Waarom crasht een PDF de viewer op één specifieke pagina?

Veertig pagina's lang soepel door een PDF scrollen, dan pagina 41 bereiken en zien hoe de viewer vastloopt, crasht of een onleesbare puinhoop van grafische artefacten weergeeft. De rest van het document is prima. Pagina 41 is het probleem. Iets op die specifieke pagina verbreekt de weergave-engine van de PDF-viewer, en het identificeren van wat dat iets is, bepaalt of het bestand kan worden gerepareerd of opnieuw moet worden gemaakt.

Een crash van één pagina is bijna altijd een specifiek, identificeerbaar probleem met de inhoud op die pagina.

Voor het diagnosticeren van een paginaspecifieke crash moet worden vastgesteld wat er anders is aan de probleempagina vergeleken met de pagina's die correct worden weergegeven. De mogelijkheden PDF herstellen en Fix PDF van WukongPDF kunnen bepaalde corruptie op paginaniveau oplossen. De onderstaande diagnostische stappen helpen u het overtredende element te vinden en te beslissen hoe u dit kunt oplossen.

Why Does a PDF Crash the Viewer on One Specific Page

Veelvoorkomende oorzaken van crashes van PDF-bestanden op één pagina

Beschadigde afbeeldingen zijn de meest voorkomende oorzaak. Een foto of afbeelding die op de pagina is ingesloten, bevat beschadigde afbeeldingsgegevens die de decoder van de kijker niet kan verwerken. De kijker probeert de afbeelding weer te geven, de decoder komt de corruptie tegen en de weergave-engine genereert een fout waardoor de kijker crasht of komt in een oneindige lus terecht waardoor deze vastloopt. De corruptie kan zich in het originele afbeeldingsbestand bevinden of tijdens het maken van de PDF zijn geïntroduceerd.

Overmatig complexe vectorafbeeldingen zijn de tweede meest voorkomende oorzaak. Een CAD-tekening die naar PDF wordt geëxporteerd, waarbij elke laag, elke lijn en elke dimensie-annotatie intact is, kan een pagina opleveren met honderdduizenden individuele vectorobjecten. De weergave-engine van de kijker heeft limieten voor het aantal objecten dat hij voor één pagina kan verwerken, en het overschrijden van deze limieten veroorzaakt een crash. Hetzelfde CAD-bestand geëxporteerd met vereenvoudigde lagen en verwijderde onnodige details wordt zonder problemen weergegeven.

Ingesloten lettertypen met beschadigde glyph-gegevens veroorzaken crashes op pagina's waarop die specifieke glyphs verschijnen. Een lettertype dat voor 90% van de tekens correct wordt weergegeven, maar een beschadigde byte in de gegevens voor de letter Q heeft, zal de kijker alleen laten crashen op pagina's die de letter Q bevatten. De crash lijkt paginaspecifiek, ook al is de hoofdoorzaak lettertypecorruptie. Beschadigde JavaScript- of formulierveldscripts op een enkele pagina kunnen de kijker ook bevriezen wanneer de pagina wordt geladen en het script wordt uitgevoerd.

WukongPDF

Probeer PDF repareren

Geen installatie nodig. Werkt rechtstreeks in uw browser.

Nu beginnen →

Het overtredende element op de pagina isoleren

Open de PDF in een andere viewer. Als Adobe Acrobat op pagina 41 crasht, maar wel goed wordt weergegeven in een browsergebaseerde viewer, ligt het probleem in de manier waarop Acrobat met een specifiek element omgaat, en niet in de pagina-inhoud zelf. Als pagina 41 elke kijker crasht, ligt het probleem in de pagina-inhoud. Cross-viewer-tests onderscheiden kijkerbugs van bestandsbeschadiging en besparen tijd bij het zoeken naar de verkeerde oplossing.

Gebruik in Adobe Acrobat het deelvenster Inhoud of de tool PDF bewerken om de afzonderlijke elementen op de pagina te bekijken. Verwijder objecten één voor één en geef de pagina na elke verwijdering weer. Toen de crash stopte, was het laatst verwijderde object het probleem. Deze binaire zoekaanpak, waarbij de helft van de objecten wordt verwijderd en getest, beperkt een pagina met honderden objecten in een paar minuten tot het overtredende element. Voor browsergebaseerde tools gebruikt u het inspect-element of de console om foutmeldingen weer te geven die aangeven welke bron niet kan worden geladen.

De pagina repareren zonder inhoud te verliezen

Pak de probleempagina uit als een afbeelding met hoge resolutie en plaats deze opnieuw in de PDF. Hierdoor wordt alle pagina-inhoud, vectorafbeeldingen, tekst, afbeeldingen en lettertypen geconverteerd naar één enkele rasterafbeelding die niet langer het beschadigde element bevat dat de crash veroorzaakte. De pagina ziet er bij normale zoom identiek uit, maar verliest doorzoekbare tekst en bewerkbaarheid. De rest van het document is onaangeroerd.

Wanneer de pagina-inhoud van cruciaal belang is en bewerkbaar moet blijven, extraheert u de pagina naar een afzonderlijke PDF en voert u deze door een PDF-optimalisatieprogramma dat problematische elementen analyseert en verwijdert. De Preflight-tool van Acrobat met een fixupprofiel voor het verwijderen van beschadigde inhoud of een soortgelijk profiel kan specifieke soorten problematische elementen verwijderen terwijl de rest behouden blijft. De optimalisatiebenadering is langzamer dan afbeeldingsconversie, maar behoudt meer functionaliteit van de originele pagina.

Oorzaak van het ongevalDiagnostische aanwijzingVast
Beschadigde ingesloten afbeeldingEr treedt een crash op terwijl de afbeelding op het scherm wordt geladenVervang de afbeelding door een schone versie of raster de pagina
Overmatige vectorcomplexiteitDe kijker vertraagt geleidelijk voordat hij crashtVereenvoudig vectorgegevens, maak lagen plat en verminder het aantal objecten
Beschadigde lettertype-glyphCrasht alleen op pagina's die specifieke tekens bevattenVervang het beschadigde lettertype of sluit het opnieuw in
Beschadigde kruisverwijzingstabelViewer rapporteert structurele fouten vóór crashOpslaan als geoptimaliseerde PDF om de bestandsstructuur opnieuw op te bouwen
Misvormd JavaScript of formulierscriptCrash treedt onmiddellijk op bij het laden van de paginaVerwijder scripts van de pagina en voeg ze indien nodig opnieuw toe

Documenten in batches controleren op corruptie op paginaniveau

Bij het beheren van een documentbibliotheek kan een enkele beschadigde pagina, verborgen in één bestand uit duizenden, onopgemerkt blijven totdat iemand dat specifieke bestand op een deadline nodig heeft. Geautomatiseerde batchcontroletools kunnen elke PDF in een map openen, elke pagina weergeven en bestanden markeren waar de weergave mislukt. De batchcontrole wordt 's nachts of tijdens perioden met weinig gebruik uitgevoerd en produceert een rapport van probleembestanden en de specifieke pagina's die zijn mislukt.

Door een driemaandelijkse batchcontrole van kritieke documentopslagplaatsen te implementeren, wordt corruptie ontdekt voordat het document dringend nodig is. Een pagina die zes maanden geleden beschadigd is geraakt als gevolg van een opslagfout, kan mogelijk nog steeds worden gerepareerd via extractie en rasterisatie. Dezelfde corruptie die twee jaar later werd ontdekt, kan mogelijk niet meer worden hersteld, omdat de brongegevens die zijn gebruikt om de PDF te maken niet langer beschikbaar zijn. Vroege detectie behoudt reparatieopties die late ontdekking elimineert.

Voorkomen dat de crash zich opnieuw voordoet in toekomstige versies

Onderzoek na het repareren van de crash waardoor de probleempagina überhaupt is ontstaan. Als de PDF is geëxporteerd vanuit een specifieke applicatie die de corruptie heeft veroorzaakt, update dan de applicatie of wijzig de exportinstellingen ervan. Als de PDF is gemaakt door meerdere bronbestanden samen te voegen, kan de beschadiging in een van de bronbestanden hebben plaatsgevonden. Controleer de afzonderlijke pagina's van elk bronbestand op hetzelfde crashpatroon voordat u ervan uitgaat dat het samenvoegproces het probleem heeft veroorzaakt.

Voor PDF's die regelmatig worden bijgewerkt, maakt u een pre-flightcontrole die valideert dat elke pagina correct wordt weergegeven voordat deze wordt gedistribueerd. Open elke pagina na elke update in miniatuurweergave. Als er een crash optreedt, weet u dat de crash is geïntroduceerd in de laatste wijzigingen en niet is opgehoopt over meerdere revisies. Hoe eerder een renderingbug wordt opgemerkt, hoe minder wijzigingen er moeten worden teruggedraaid om de hoofdoorzaak te vinden.

Wanneer moet ik de PDF opnieuw opbouwen

Een PDF met meerdere crashende pagina's, of een crash die alle bovenstaande reparatiemethoden weerstaat, is doorgaans sneller opnieuw op te bouwen dan door te gaan met de foutopsporing. Exporteer een nieuwe PDF vanuit de brontoepassing. Als de brontoepassing niet beschikbaar is, drukt u het document af naar een nieuwe PDF met een ander PDF-printerstuurprogramma dan het stuurprogramma waarmee het origineel is gemaakt. Verschillende printerstuurprogramma's verwerken complexe inhoud anders, en het is onwaarschijnlijk dat het stuurprogramma dat de corruptie heeft veroorzaakt dit opnieuw zal doen met dezelfde inhoud, maar door van stuurprogramma te wisselen wordt die variabele geëlimineerd.

Accepteer dat sommige PDF's een staat van opeenhoping van corruptie bereiken, waarbij reparatie niet langer kosteneffectief is. De tijd die wordt besteed aan een vierde poging tot reparatie van een document dat binnen 30 minuten opnieuw kan worden gemaakt op basis van bronmateriaal, is tijdverspilling. Herken het punt van afnemende opbrengsten en schakel over van de reparatiemodus naar de wederopbouwmodus. De opnieuw opgebouwde PDF zal schoner, kleiner en betrouwbaarder zijn dan welke gerepareerde versie van het beschadigde origineel dan ook.

WukongPDF

Probeer PDF repareren

Geen installatie nodig. Werkt rechtstreeks in uw browser.

Nu beginnen →