2017-03-27 2 views
1

Je peux extraire du texte à partir d'un fichier PostScript généré par le pilote d'impression Win7, mais pas à partir de Win8. Par exemple, en créant du texte dans le «Bloc-notes» de Windows, en demandant au Bloc-notes d'imprimer avec un pilote d'impression HP PostScript et en demandant au pilote d'imprimer un fichier, j'obtiens un fichier que je veux extraire de. J'ai essayé les ps2ascii et pstopdf | pdftotext de Ghostscript et un certain nombre d'autres choses sur une plate-forme Ubuntu, et même si certains d'entre eux fonctionnent sur la sortie Win7, je ne trouve aucune combinaison qui fonctionne sur la sortie Win8.Comment puis-je extraire du texte à partir du fichier PostScript généré par le pilote d'impression Win8?

Existe-t-il une solution Open Source à cela?

Répondre

1

Vous ne pouvez pas garantir l'obtention de texte à partir d'un programme PostScript, ce n'est pas conçu pour cela.

Toutefois, le périphérique txtwrite de Ghostscript effectuera un travail décent sur la sortie du pilote d'imprimante Windows PostScript. C'est beaucoup mieux que ps2ascii parce que (entre autres choses) il peut gérer Unicode, donc ce n'est pas limité à ASCII. Notez que les applications peuvent générer elles-mêmes PostScript. Ainsi, même si la sortie apparaît comme provenant du pilote d'imprimante Windows PostScript, le contenu réel peut être généré par l'application.

De plus, vous ne recevrez du texte du pilote d'imprimante Windows PostScript que si l'application écrit du texte dans le contexte du périphérique. Par exemple, si vous imprimez un PDF à partir du navigateur Edge, vous obtiendrez du texte dans la sortie. Si vous imprimez le même PDF à partir de Chrome sur le même système, le texte est alors rendu en tant que vecteurs (ligne, arc, remplissage de trait, etc.) et non en texte. Sachez simplement que ce que vous essayez de faire ne réussira pas à 100% dans le cas général.

+0

Je demande à propos de la ** ** spécifique ** ** cas ** ** ** en utilisant l'application ** Windows ** ** ** ** Notepad ** sur la plate-forme Windows 8 en utilisant une impression Windows 8 pilote pour générer un fichier postscript. Je peux le faire fonctionner sur Windows 7, mais pas sur Windows 8 ou 10. – Randy

+1

Eh bien, vous n'avez même pas posté un exemple de fichier, et vous n'avez pas dit explicitement que c'était votre cas d'utilisation, vous l'avez utilisé comme exemple, par conséquent, j'ai rédigé ma réponse en termes généraux. Comme je l'ai dit plus haut, le dispositif Ghostscript txtwrite devrait être en mesure de faire un travail décent avec cela. Bien que vous ayez déjà le fichier texte, je ne vois pas vraiment l'intérêt de créer un fichier PostScript à partir de celui-ci, puis de retirer le texte à nouveau. – KenS

+1

Son MS aussi possible et certains fournisseurs d'imprimantes ont changé le pilote d'impression Windows pour certains périphériques dans Windows 8+, c'est certainement le cas que le pipeline d'impression est modifié de manière significative (pour utiliser XPS). Vous feriez peut-être mieux d'imprimer sur l'éditeur Microsoft XPS, puis d'utiliser GhostsXPS et le périphérique txtwrite pour extraire le texte (vous devrez utiliser la version la plus récente de GhostXPS pour que cela fonctionne). Comme je l'ai suggéré ci-dessus, postez un fichier d'exemple PostScript si vous voulez que les gens regardent cela, tout le monde n'a pas accès à/veut utiliser Windows 8 ou plus. – KenS