IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ghostscript Conversion PS 2 PDF


Sujet :

Python

  1. #1
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2022
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 5
    Par d�faut Ghostscript Conversion PS 2 PDF
    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    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]
    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    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()
    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.

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 774
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 774
    Par d�faut
    Salut,

    Votre code se r�duit � lancer la conversion d'un postscript � un PDF via le programme externe ps2pdf.
    Les param�tres � passer � ce programme pour obtenir ce que vous voulez sont � rechercher dans la documentation de ce programme l� et n'a rien � voir avec la programmation Python (et � mettre au point en lan�ant le programme depuis un terminal - sans python).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2022
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 5
    Par d�faut
    Bonjour,

    Merci de cette r�ponse.

    Je code sur python, mais j'ai pas mal de choses � apprendre.
    J'ai install� via Pip le module Ghostscript suivant :

    https://pypi.org/project/ghostscript/0.6/

    Et je fais un import ghostscript en d�but de programme.

    En transf�rant les variables de ghostscript dans une variable python (arg) techniquement, je lance un ex�cutable hors python depuis python.
    Du coup, quelle est l'utilit� du ghostscript 0.6 ?

    Mais du coup, je comprends encore moins pourquoi, lorsque je lance la ligne de commande dans une fen�tre DOS �a fonctionne,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    C:\Progra~1\gs\gs9.55.0\bin\gswin64c.exe -dPDFA -dbase -dBATCH -dNOPAUSE -dNoSafer -dQUIET -sDEVICE=pdfwrite -dFirstPage=3  -sOutputFile="c:\ProdGil\Out\LOALE21ZZ.ICDFQ400.V00.pdf" -dEPSCrop -c "<</Orientation 3>> setpagedevice" -f "c:\ProdGil\LOALE21ZZ.ICDFQ400.V00" -c quit

    et pourquoi pas directement dans le script. J'ai test� de mettre les " entre ', comme �a '"', et directement des ' autour de -c "<</Orientation 3>> setpagedevice".

    Idem, pourquoi mon fichier PDF est corrompu ?

    Sinon, quelles autres solutions de type Python pur, pour faire ce genre d'op�ration svp ?

    Merci d'avance.

  4. #4
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 774
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 774
    Par d�faut
    Citation Envoy� par MBARON76 Voir le message
    Du coup, quelle est l'utilit� du ghostscript 0.6 ?
    Vous avez r�cup�r� cette biblioth�que... Ce qui suppose que vous avez pris le temps de l'�valuer par rapport � d'autres possibilit�s.

    Citation Envoy� par MBARON76 Voir le message
    Mais du coup, je comprends encore moins pourquoi, lorsque je lance la ligne de commande dans une fen�tre DOS �a fonctionne
    Lancer cette commande l� via subprocess est une interface basique qui permet de l'utiliser depuis un programme Python.... Et elle fonctionne pour nombre de programmes externes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2022
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 5
    Par d�faut
    L'id�e c'�tait surtout d'int�grer le code directement en lui passant les variables des diff�rents fichiers � transformer dans le script plut�t que de recr�er un .cmd et de d�finir des variables d'environnement.

    J'ai test� aussi avec un subprocess qui permet de lancer des commandes de mani�re asynchrone.
    Cela ne fonctionne pas beaucoup mieux.

    Tout cela semble assez �vident pour vous, mais du haut de ma petite exp�rience, �a l'est beaucoup moins.

    Merci d'avoir pris du temps pour me r�pondre.

  6. #6
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 774
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 774
    Par d�faut
    Citation Envoy� par MBARON76 Voir le message
    J'ai test� aussi avec un subprocess qui permet de lancer des commandes de mani�re asynchrone.
    La commande pass�e au terminal est une cha�ne de caract�res qu'on doit pouvoir passer � subprocess.call et avoir le m�me r�sultat.

    Apr�s si on veut avoir quelques param�tres dynamiques comme le nom du fichier d'entr�e ou de sortie, c'est juste une cha�nes de caract�re � construire � partir/avec des variables.

    Citation Envoy� par MBARON76 Voir le message
    Tout cela semble assez �vident pour vous, mais du haut de ma petite exp�rience, �a l'est beaucoup moins.
    fabriquer des cha�nes de caract�res avec des bouts issus de variables est assez basique. Si vous ne ma�trisez pas, je comprends que �a paraisse "compliqu�" mais vous ne pouvez pas partir � programmer (faire autre chose que des exercices propos�s dans un tuto) sans ma�triser cela (et les fac�ties concernant les chemins d'acc�s aux fichiers).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2022
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 5
    Par d�faut
    Citation Envoy� par wiztricks Voir le message
    La commande pass�e au terminal est une cha�ne de caract�res qu'on doit pouvoir passer � subprocess.call et avoir le m�me r�sultat.

    Apr�s si on veut avoir quelques param�tres dynamiques comme le nom du fichier d'entr�e ou de sortie, c'est juste une cha�nes de caract�re � construire � partir/avec des variables.
    Je n'ai aucun soucis sur ce point �a fonctionne plut�t bien, c'est juste que j'ai le m�me probl�me pour faire tourner mon texte, et g�n�rer des fichiers PDF lisibles.


    Citation Envoy� par wiztricks Voir le message
    fabriquer des cha�nes de caract�res avec des bouts issus de variables est assez basique. Si vous ne ma�trisez pas, je comprends que �a paraisse "compliqu�" mais vous ne pouvez pas partir � programmer (faire autre chose que des exercices propos�s dans un tuto) sans ma�triser cela (et les fac�ties concernant les chemins d'acc�s aux fichiers).
    Pour ce qui est de l'utilisation des '"' et des """ voir des \" c'est en effet assez basic et j'ai d�j� lu pas mal de choses � ce sujet. C'est plut�t de c�t� de la fac�tie que je m'interroge ?

    Pourquoi, lorsque je stock ceci dans une variable "-c '"'<</Orientation 1>> setpagedevice'"' ",,
    Il transforme mes " en ' ce qui donne "-c '<</Orientation 1>> setpagedevice' ", qui �videment n'est pas interpr�t� par GhostScript.

    J'imagine qu'expliquer cette fac�tie ne vous posera aucun probl�me ?

  8. #8
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 774
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 774
    Par d�faut
    Citation Envoy� par MBARON76 Voir le message
    Pourquoi, lorsque je stock ceci dans une variable "-c '"'<</Orientation 1>> setpagedevice'"' ",,
    Il transforme mes " en ' ce qui donne "-c '<</Orientation 1>> setpagedevice' ", qui �videment n'est pas interpr�t� par GhostScript.
    Dans les langages de programmation, on sait ou on fait n'importe quoi en esp�rant que �� va marcher... Et si vous �crivez n'importe quoi, il n'y a pas grand chose � expliquer!

    Pour savoir, c'est pas compliqu�, il suffit de passer du temps dans les tutos... et si on patauge, c'est qu'il faut y retourner pour chercher � comprendre pourquoi �� ne le fait pas.

    Ou commence (et se termine) une cha�ne de caract�res sous forme litt�rale? Jouer avec l'interpr�teur pour essayez de comprendre ce qu'il se passe ici:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    >>> "c""c""c""c"
    'cccc'


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2022
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2022
    Messages : 5
    Par d�faut
    [QUOTE=wiztricks;11824041]
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    >>> "c""c""c""c"
    'cccc'
    C'est gentil de me rappeler les bases, d�s fois que j'aurai pas compris...

    Ici, il s'agit de lancer un ghostscript via python ce qui n�cessite une syntaxe particuli�re. Celle que je retrouve en exemple sur tous les forums que j'ai consult�, et qui fonctionne pour ex�cuter la transformation d'un .ps en .txt, .jpr ou ce que vous voulez.

    le contenu de la variable sous cette forme :

    ['ps2txt', '-dBATCH', '-dNOPAUSE', '-dNOPROMPT', '-dSAFER', '-dFIXEDMEDIA-dFirstPage=3', '-sDEVICE=txtwrite', '-sOutputFile=c:\\Prod\\Road\\2022\\20220316\\fichier.txt', '-dEPSCrop', 'c:\\Prod\\Road\\2022\\20220316\\fichier.ps']

    Ma question n'est donc pas de savoir comment constituer des variables de type string, mais d'int�grer un " dans une syntaxe cadr�e par ghostscript pour avoir ceci '-c "<</Orientation 1>> setpagedevice"', d'inscrit literalement dans ma variable sous cette forme :

    ['ps2txt', '-dBATCH', '-dNOPAUSE', '-dNOPROMPT', '-dSAFER', '-dFIXEDMEDIA-dFirstPage=3', '-sDEVICE=txtwrite', '-sOutputFile=c:\\Prod\\Road\\2022\\20220316\\fichier.txt', '-dEPSCrop', '-c "<</Orientation 1>> setpagedevice"', 'c:\\Prod\\Road\\2022\\20220316\\fichier.ps']

    Libre � vous de me prendre de haut, mais j'ai bien l'impression que vous n'en savez pas plus que moi...

  10. #10
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan � 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    925
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyr�n�es Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : Paysan � 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 925
    Billets dans le blog
    8
    Par d�faut
    Citation Envoy� par MBARON76 Voir le message
    Ma question n'est donc pas de savoir comment constituer des variables de type string, mais d'int�grer un " dans une syntaxe cadr�e par ghostscript pour avoir ceci '-c "<</Orientation 1>> setpagedevice"', d'inscrit literalement dans ma variable sous cette forme :
    Bonjour,
    S'il s'agit de la construction de la string, le slash permet au caract�re de ne pas �tre interpr�t�:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    >>> var = "\'-c \"<</Orientation 1>> setpagedevice\"\'"
    >>> print(var)
    '-c "<</Orientation 1>> setpagedevice"'
    >>>
    Mais, peut �tre que ta demande se situe ailleurs...
    ?

  11. #11
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 774
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 774
    Par d�faut
    Citation Envoy� par MBARON76 Voir le message
    Libre � vous de me prendre de haut, mais j'ai bien l'impression que vous n'en savez pas plus que moi...
    Toujours � l'interpr�teur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    >>> "a'a'a"
    "a'a'a"
    >>> 'a"a"a'
    'a"a"a'
    >>>
    si on peut d�limiter la cha�ne de caract�res par " ou par ' c'est justement pour pouvoir y ins�rer ' ou " dedans.
    Autre fac�tie:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    >>> "a" 'a' "a"
    'aaa'
    >>>
    3 cha�nes de caract�res sous forme litt�rale s�par�es par des espaces sont interpr�t�s comme une seule cha�ne de caract�res.

    Citation Envoy� par MBARON76 Voir le message
    C'est gentil de me rappeler les bases, d�s fois que j'aurai pas compris...
    Par d�finition "comprendre", c'est arriver � faire quelque chose de ce que vous avez appris (comme ma�triser ce genre de situation en ayant fait ce genre de petits exercices).
    Et ce n'est pas le cas: potassez les bases...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Python 2.X] ghostscript, conversion PDF vers Jpg, lib�rer le 1er fichier image et faire le suivant
    Par little_kevin dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 07/07/2020, 10h46
  2. R�ponses: 1
    Dernier message: 15/01/2017, 09h24
  3. Probl�me conversion .rep en .pdf
    Par ruru9 dans le forum Deski
    R�ponses: 9
    Dernier message: 07/12/2006, 16h48
  4. [FOP] conversion XML en PDF sous JBuilder10
    Par belassel_z dans le forum APIs
    R�ponses: 1
    Dernier message: 09/06/2006, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo