Debugging-PDF für Fehler
Ich bin erstellen von PDF-Dateien mit PDFClown java-Bibliothek.
Manchmal, wenn openning diese Dateien mit dem Adobe Acrobat Reader bekomme ich die berühmte Fehlermeldung:
"Ein Fehler existiert auf dieser Seite. Acrobat möglicherweise nicht die Seite korrekt darzustellen. Bitte Kontaktieren Sie die person, die das erstellte PDF-Dokument, um das problem zu beheben."
Den Fehler zeigt, während das Lesen (mit Adobe) die angehängte Datei nur, wenn Sie nach unten scrollen, um die 8 ' te Seite, dann Blättern Sie zurück bis zu 3'td Seite. Alternativ heraus Zoomen zu 33,3% produzieren auch die Nachricht.
Nur für das Protokoll, Foxit-reader liest die Datei einwandfrei, wie auch andere PDF-Reader wie z.B. Browser.
Meine Fragen sind:
- Was ist falsch mit meiner Datei?? (Datei ist angehängt)
- Wie kann ich herausfinden, was ist Los mit ihm? gibt es ein tool, das Ihnen sagt, wo tritt der Fehler liegen?
Dank!
Ich habe versucht, die Kontrolle mit preflight, und für jede Prüfung gab es mir "Fehler während der Analyse einer Inhalts-stream. Nicht in der Lage zu analysieren, die PDF-Datei.". Bitte um Hilfe...
Adobe Acrobat 9.5 Preflight, schlägt fehl, dieses Dokument... 😉
Gleiche problem hier und Preflight fehlschlägt, in meinem Fall auch... 🙁 Also, ich denke, es gibt kein tool, das wirklich Ihnen sagt, wo der Fehler ist... Gut gemacht Adobe. Nutzlos wie immer...
InformationsquelleAutor user1028741 | 2013-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, das war nicht einfach -
Durch einen Fehler in der PDFClown die meinen main-stream-Informationen in die PDF-Seite beschädigt wurde.
Nachdem es Ende hatte es eine Kopie der letzten Instanz.
Dies führte zu einer partiellen text-Abschnitt ohne den Start-Befehl "BT" - die linken eine single "ET" ohne "BT" am Ende des Streams.
einmal, korrigierte ich dies, es lief Super.
Danke Euch allen für Eure Hilfe.
Ich hätte viel schwieriger zu Debuggen, ohne das tool RUPS, die @Bruno vorgeschlagen.
edit:
War der Fehler in den Puffer.java:clone() (Zeile 217)
statt der Zeile:
Klon.append(data);
werden muss:
Klon.append(data, 0, this.Länge);
Ohne diese Korrektur-es-Klone das gesamte Daten-Puffer, und legen Sie die geklonte Puffer die Länge der Daten[].Länge. Dies ist sehr problematisch, wenn der Puffer.Länge kleiner ist als die Daten, die[].Länge.
Das Ergebnis in meinem Fall war, dass das Ende des Streams gab es Müll.
Ich gesandt Sie E-mail mit der Lösung an der Zeit. Wie auch immer, ich bearbeitet die Antwort, so wird es auch das Update.
Sie haben völlig Recht, es war meine Schuld! Ich habe gerade abgerufen Ihre E-mail-datiert Fri, September 20, 2013 10:14 Uhr: während dieser Zeit nahm ich eine Auszeit von dem Projekt, so dass ich es übersehen, ich bin wirklich Leid. Dennoch, es ist immer eine gute Sache, um zu posten Sie Ihre Lösung in Erster Linie, wie Sie profitieren können von anderen Nutzern. Ich werde es in der nächsten Version von PDF-Clown (0.2.0). ich danke Ihnen sehr!
InformationsquelleAutor user1028741
Gut, bekomme ich es einfacher, ich habe einfach das PDF-Dokument öffnen und nach unten scrollen mit den cursor-Tasten. Sobald die oberen 2 cm von Seite 3 angezeigt wird, erscheint die Meldung.
Den Inhalt der Seiten 1 und 2 sehen ok aus, also schauen wir uns den Inhalt der Seite 3.
Meine anfängliche Zuteilung der Frage der Verwendung von text bestimmte Operationen (vor allem Tf und Tw), die außerhalb des ein text-Objekt falsch war, wie Stefano Chizzolini darauf hingewiesen: Einige text-related operations in der Tat sind erlaubt text außerhalb von Objekten, nämlich den text, den staatlichen betrieben, cf. Abbildung 9 von der PDF-Spezifikation:
So, während Sie weniger Häufig, Textstatus-Operationen bei Seite Beschreibung Ebene sind völlig ok.
Nach meinem falschen versuchen zu erklären, das Problem, die OP ' s eigene Antwort darauf hingewiesen, dass die
Einer ET ohne Vorherige BT in der Tat wäre ein Fehler, und sehr wahrscheinlich wäre es, begleitet von Operationen an der falschen Ebene... Prüfung der stream-Inhalte der Dritten Seite (dem Fokus-Seite in dieser Ausgabe), aber ich konnte nicht finden alle nicht ET. Im Zuge der Inspektion, ich aber entdeckt, dass der content stream enthält mehr als 2000 trailing 0 bytes! Adobe Reader ist anscheinend nicht in der Lage zu bewältigen mit diese 0 bytes.
Den bug der OP gefunden, der erklären kann, die Frage:
Nachgestellte 0-bytes werden kann, ein Effekt, der wie ein Puffer kopieren Fehler.
Außerdem Symptome wie der OP (, Nachdem es Ende hatte es eine Kopie der letzten Instanz) können auch die Wirkung von so einem bug. Also ich nehme an, der OP herausgefunden dass die Symptome auf eine andere Seite, nicht auf Seite 3, aber die Festsetzung der Fehler geheilt, alle Symptome.
Gibt es die PDF-syntax-checker, z.B. das Preflight-Werkzeug von Adobe Acrobat. aber auch nicht, dass Sie Ihre Datei.
Also im wesentlichen müssen Sie extrahieren Sie den Inhalt der Seite (in einem PDF-browser, z.B. RUPS) und prüfen Sie manuell, mit der PDF-Spezifikation auf den anderen Bildschirm.
Es war mkl, die Ihnen geholfen hat. Ich von Ihnen positiv bewertet werden seiner Antwort und fügte einen link zu einem kurzen blog-post über RUPS. Ich nicht (wollen) wissen, PdfClown, aber was die mkl sagt Sie, ist, dass Sie bei der Erstellung einer PDF-syntax, die illegal nach ISO-32000-1. Sie (oder PdfClown) mischen von text-Betreiber und Grafiken Operatoren, brechen die Regeln der Spezifikation, was in einer PDF-Datei, die ist so kaputt, dass auch Acrobat kann es nicht reparieren.
Oh, sorry, danke Euch beiden! @mkl ich danke dir auch!
Ich habe das problem gelöst (bei Interesse - siehe Antwort). Das problem war nicht die Tf ' s, die außerhalb eines text-Blocks. Diese Tf ist eigentlich die Standard-Schriftarten " details (ich sage nicht, dass es erlaubt, die PDF-Spezifikation - aber das ist, was es tatsächlich tut...). Ich danke Euch allen wieder einmal.
ich sage nicht, dass es erlaubt, die PDF-Spezifikation - aber das ist, was es tatsächlich tut... - es kann nicht, dass in den aktuellen Versionen von einigen pdf-Viewern, sondern zählt auf, dass das Verhalten zu sein, noch gibt es in der nächsten version ist das doch etwas riskant.
InformationsquelleAutor mkl
den Allgemeinen Beitrag über das debugging pdf könnte auch hilfreich rups /pdfstreamdump etc erwähnt wird es Wie prüfst du die PDF Dateien?
InformationsquelleAutor ebricca