2016-04-07 5 views
0

Ich schreibe einen PostScript-Parser. Ich bekomme meine PostScript aus einem PDF. Ich bin mir nicht sicher warum, aber manchmal endet mein PostScript mit Kauderwelsch.Kann ich erwarten, dass PostScript mit "end end" endet?

<0053> 
<0072> 
endbfchar 
endcmap CMapName currentdict /CMap defineresource pop end end 
1 
><0Ö 

Meine Frage ist. Kann ich annehmen, dass alle gültigen PostScript mit dem Wort "Ende" enden werden

Wenn das der Fall ist, kann ich einfach alle zusätzlichen Zeichen abgeschnitten, die ich am Ende der Datei sehe.

Danke!

+0

Sie erhalten dieses Kauderwelsch, auch wenn Sie nur so viele Daten lesen, wie das Objekt enthält? Ist es auch im PDF vorhanden? – usr2564301

+2

Können Sie ein Beispiel für eine solche Datei veröffentlichen? Sie können absolut nicht davon ausgehen, dass ein gültiges PostScript-Programm mit einer bestimmten Byte-Sequenz endet. Die andere Frage ist, wie erhalten Sie PostScript aus einer PDF-Datei? Und warum brauchst du einen PostScript-Interpreter? Dir ist klar, dass ein Parser einfach nicht gut genug ist, du brauchst einen Interpreter, um mit vollem PostScript umzugehen? – KenS

Antwort

0

Np. Sie können keinen gültigen PostScript-Stream erwarten, der mit "end" endet. Außerdem gibt es keine spezifische Byte-Sequenz, die das Ende des PostScript-Streams angibt. Es kann etwas am Ende eines PostScript-Programms geben. Zum Beispiel können Sie auf ein binäres Token stoßen, das für eexec kodiert ist.