Python 2.7 Ghostscript erreur de conversion .ps 2 .pdf

MBARON76 Messages postés 11 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 26 avril 2022 - 13 mars 2022 à 09:47
Whismeril Messages postés 18961 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 29 février 2024 - 16 mars 2022 à 12:36
Bonjour,
Bonjour à tous,

Je suis sur un projet en python 2.7. (je ne peux pas passer en 3 pour le moment).
J'essaye de transformer un fichier .PS en .PDF avec le module intégrer GhostScript v 0.6.

J'ai bien la conversion, mais mes fichiers sont illisibles avec acrobat.
Y a t'il une astuce pour changer ça svp ?

Voilà mon code :

[CODE]def ps2pdf(Dir_input_path, Fil_input_path):
args = ["ps2pdf", # actual value doesn't matter
"-sDEVICE=pdfwrite", #Type de conversion ici en txt
"-sOutputFile=" + Dir_input_path + Fil_input_path + ".pdf",
Dir_input_path + Fil_input_path][/CODE]

J'ai une question subsidiaire sur une transformation d'un .ps en .txt.
J'essaye de faire tourner les pages. J'ai essayé d'intégrer la balise suivante, -c "<</Orientation 3>> mais il refuse systématiquement de l'executer.

Voilà mon code :
[CODE]def ps2txt(Dir_input_path, Fil_input_path):
args = ["ps2txt", # actual value doesn't matter
"-dBATCH", #
"-dNOPAUSE", #
"-dNOPROMPT", #
"-dSAFER", #
"-dFIXEDMEDIA" #
"-dFirstPage=3", #Démarrage de la conversion à la page 3
"-sDEVICE=txtwrite", #Type de conversion ici en txt
"-sOutputFile=" + Dir_input_path + Fil_input_path + ".txt",
Dir_input_path + Fil_input_path]

with ghostscript.Ghostscript(*args) as g:
ghostscript.cleanup()[/CODE]

Avez vous une idée de comment faire svp ?

Merci d'avance,
C'est assez urgent et je m'arrache les cheveux pour finir dans les temps.

5 réponses

Whismeril Messages postés 18961 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 29 février 2024 649
13 mars 2022 à 11:12
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.


D'autre part, indiquer une urgence quand on poste sur un forum ne sert à rien, car la personne qui saura de te répondre (et c'est pas moi, je ne connais pas ce module) ne viendra lire ton message que quand elle le voudra et le pourra, ça peut tout aussi bien être dans 5 minutes que dans 10 ans.

Mais en plus, ça peut ta causer préjudice car cette personne peut avoir l'impression que tu t'y mis à ton travail au dernier moment au lieu de le faire en temps et en heure et donc juger que tu ne mérites pas son aide.

Conclusion, en postant sur un forum, il ne faut pas indiquer d'urgence et accepter le fait que la réponse, arrivera quand elle arrivera, si elle arrive.
0
MBARON76 Messages postés 11 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 26 avril 2022
13 mars 2022 à 21:45
Merci de ces précisions,
C'est vrai que chaque forum a ses codes.
Pour l'urgence, je bosse sur ce projet depuis un moment déjà. C'est juste que j'ai déjà passé plusieurs jours sur ce problème et que je n'avance pas.
Dès que j'ai débloqué ça, il me restera quasiment qu'à recoller les morceaux de tout mes petits .py de test.
0
MBARON76 Messages postés 11 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 26 avril 2022
Modifié le 13 mars 2022 à 22:00
Pour préciser j'ai intégrer Ghostscript 0.6 à python, et fait un import au début de mon code.

# Ici je cherche à exécuter la conversion .Ps en .pdf, mais j'ai systématiquement un fichier .pdf illisible.

.
def ps2pdf(Dir_input_path, Fil_input_path):
     args = ["ps2pdf", # actual value doesn't matter
            "-sDEVICE=pdfwrite", #Type de conversion ici en txt
            "-sOutputFile=" + Dir_input_path + Fil_input_path + ".pdf",
            Dir_input_path + Fil_input_path]

with ghostscript.Ghostscript(*args) as g:
     ghostscript.cleanup()


La ligne de commande suivante sous dos fonctionne bien :
C:\Progra~1\gs\gs9.55.0\bin\gswin64c.exe -dPDFA -dbase -dBATCH -dNOPAUSE -dNoSafer -dQUIET -sDEVICE=pdfwrite -dFirstPage=3  -sOutputFile="c:\Prod\Out\LOALE21ZZ.ICDFQ400.V00.pdf" -dEPSCrop -c "<</Orientation 3>> setpagedevice" -f "c:\Prod\LOALE21ZZ.ICDFQ400.V00" -c quit 


# Ma conversion en .txt elle fonctionne mais impossible de faire tourner les pages à 90°

La partie que je n'arrive pas à intégrer dans l'argument arg est la suivante : -c "<</Orientation 3>> setpagedevice"

.
def ps2txt(Dir_input_path, Fil_input_path):
     args = ["ps2txt", # actual value doesn't matter
           "-dBATCH", #
            "-dNOPAUSE", #
            "-dNOPROMPT", #
            "-dSAFER", #
            "-dFIXEDMEDIA" #
            "-dFirstPage=3", #Démarrage de la conversion à la page 3
            "-sDEVICE=txtwrite", #Type de conversion ici en txt
            "-sOutputFile=" + Dir_input_path + Fil_input_path + ".txt",
            Dir_input_path + Fil_input_path]

with ghostscript.Ghostscript(*args) as g:
     ghostscript.cleanup()


Je pense que c'est bien mieux comme ça en effet.
Merci encore
0
MBARON76 Messages postés 11 Date d'inscription dimanche 13 mars 2022 Statut Membre Dernière intervention 26 avril 2022
16 mars 2022 à 09:48
Bon ça n'inspire pas grand monde malheureusement. :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 18961 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 29 février 2024 649
16 mars 2022 à 12:36
Essaye sur CCM, il y a plus de passage.
Comme on est dans le même groupe, tes identifiants seront valables

https://forums.commentcamarche.net/forum/python-264

0
Rejoignez-nous