2016-04-07 8 views
0

J'écris un analyseur PostScript. Je reçois mon PostScript à partir d'un PDF. Je ne sais pas pourquoi, mais parfois mon PostScript se termine par un charabia.Puis-je attendre que PostScript se termine par "end end"?

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

Ma question est. Puis-je supposer que tout PostScript valide se terminera par le mot "fin"

Si c'est le cas, je peux simplement couper tous les caractères supplémentaires que je vois à la fin du fichier.

Merci!

+0

Vous obtenez ce charabia même si vous lisez seulement autant de données que l'objet contient? Est-il présent dans le PDF aussi? – usr2564301

+2

Pouvez-vous poster un exemple d'un tel fichier? Vous ne pouvez absolument pas supposer qu'un programme PostScript valide se terminera avec une séquence d'octets spécifique. L'autre question est comment obtenez-vous PostScript à partir d'un fichier PDF? Et pourquoi avez-vous besoin d'un interpréteur PostScript? Vous réalisez qu'un analyseur ne va tout simplement pas être assez bon, vous avez besoin d'un interpréteur pour gérer le PostScript complet? – KenS

Répondre

0

Np. Vous ne pouvez pas attendre un flux PostScript valide se terminant par "end". De plus, il n'y a pas de séquence d'octets spécifique indiquant la fin du flux PostScript. Il peut y avoir n'importe quoi à la fin d'un programme PostScript. Par exemple, vous pouvez rencontrer un jeton binaire codé pour eexec.