Reparieren Sie borken Postscript-Datei, die nur Ubuntu öffnet

444
Danis Fischer

Ich versuche, die Postscript-Datei aus dem Link in eine PDF- Datei zu konvertieren, die ich auf jedem Computer anzeigen kann. Wenn ich versuche, es zu konvertieren, erhalte ich einen Fehler bezüglich des Stapels:

Error: /rangecheck in --getinterval-- Operand stack: (\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000...) 9 0 714 9 (\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000...) -714 9 Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1862 1 3 %oparray_pop 1861 1 3 %oparray_pop 1845 1 3 %oparray_pop 1739 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- %loop_continue --nostringval-- --nostringval-- %loop_continue --nostringval-- Dictionary stack: --dict:1145/1684(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)-- --dict:138/300(L)-- --dict:96/200(L)-- Current allocation mode is local Last OS error: 2 Current file position is 373434 GPL Ghostscript 8.64: Unrecoverable error, exit code 1  

Wenn ich versuche, es zu drucken, kann ich nur die Hälfte davon drucken. Glücklicherweise kann ich es im integrierten Dokumentbetrachter von Ubuntu anzeigen (ich kann auf alle Seiten zugreifen, kann sie jedoch nicht in eine Datei drucken).

Wie kann ich diese bestimmte Postscript-Datei korrigieren und in PDF konvertieren?

0
Dein Ghostscript ist wirklich alt. Wie 6 Jahre alt. ilkhd vor 9 Jahren 0
Was schlagen Sie vor? Selbst nach dem Upgrade habe ich den gleichen Fehler erhalten. Danis Fischer vor 9 Jahren 0
Haben Sie hunderte verschiedener Online-Dienste ausprobiert? Sie können andere Software verwenden. ilkhd vor 9 Jahren 0
Ja, habe ich. Sie alle geben diesen spezifischen Fehler. Danis Fischer vor 9 Jahren 0
Okay, ich habe ein bisschen gebastelt und festgestellt, dass die Seiten 36 und 49 (?) Defekt sind. Wenn Sie sie ausschneiden, generiert das Ghostscript die Ausgabe, offensichtlich ohne gebrochene Seiten. ilkhd vor 9 Jahren 0
@ilkhd wie hast du es gefunden? Danis Fischer vor 9 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/22114/discussion-between-ilkhd-and-danis-fischer). ilkhd vor 9 Jahren 0

1 Antwort auf die Frage

1
ilkhd

The problem is because a PS file is an executable program and can execute improper actions, which upsets the ghostscript's virtual machine. I had located, judging by the position returned by the ghostscript what are the offending pages; those are pages 234(36) and 250(52). Then I opened the .ps file in a text editor and searched for "%%Page: 234" and "%%Page: 250" and literally cut them out (all the way to the next %%Page statement) and fed the .ps file to ghostscript (no errors) . Now I have a PDF without 2 pages.These pages can be fixed by someone who is good at PostScript.

Vielen Dank. Wie kann ich sie reparieren? Danis Fischer vor 9 Jahren 0
Sie benötigen nur einen Texteditor (gedit? Mcedit?). Öffnen Sie die ps-Datei, suchen Sie nach %% Page: 234, wählen Sie den gesamten Text bis zu %% Page: 235 (ohne "%% Page: 235") aus und löschen Sie ihn. Sparen. Wiederholen Sie dies für Seite 250. ilkhd vor 9 Jahren 0
Aber wie korrigiere ich die beschädigten Seiten? (Sie haben im Chat nicht geantwortet). Danis Fischer vor 9 Jahren 0
Entschuldigung, Sie müssen die Registrierung abschließen, um das beantworten zu können. Seiten können nur von einem Experten in Postscript festgelegt werden und ich nicht; Ich könnte nur die zerbrochenen Seiten wegwerfen. ilkhd vor 9 Jahren 0
Danke trotzdem. Übrigens: Wie haben Sie die Nummern der beschädigten Seiten gefunden? Danis Fischer vor 9 Jahren 0
Sehr einfach: "Aktuelle Dateiposition ist 373434" zeigt in die Position, an der der Fehler aufgetreten ist. Mit einem Hex-Editor schaute ich auf die Datei um die Stelle und stellte fest, dass ich mich in der Mitte einer Seite befinde. wegschneiden, überprüfen - funktioniert. ilkhd vor 9 Jahren 0