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 :

win32com.client et fonction


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Infographiste
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Infographiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Par défaut win32com.client et fonction
    Bonsoir à tous

    J'ai récupérer un script python permettant d'ouvrir Photoshop et d'effectuer des actions depuis Python
    (lien :http://techarttiki.blogspot.fr/2008/...th-python.html)

    Je l'ai adapté pour mes besoins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    import win32com.client
    import os
    import sys
     
     
     
    psApp = win32com.client.Dispatch('Photoshop.Application')
     
    psdFile= "S:\\test\\CLEAN\\bg_000_02.psd"
    jpgFile="S:\\test\\jpg_convert\\CLEAN\\bg_000_02.jpg"
     
    options = win32com.client.Dispatch('Photoshop.ExportOptionsSaveForWeb')
    options.Format = 1   # JPG
    doc = psApp.Open(psdFile)
    layerSets = doc.LayerSets
     
    exportTypes = {'perso','cadre'}
    if (len(layerSets) > 0):           
     
    	for layerSet in layerSets:
    		lsName = layerSet.name.lower()
     
    		if (lsName in exportTypes):
    			layerSet.Visible = False
     
     
    	doc = psApp.Open(psdFile)
    	doc.Export(ExportIn=jpgFile, ExportAs=2, Options=options)
    	print 'exporting:'+ jpgFile
     
     
     
    	doc.Close(2)
    Cependant lorsque j'essaie de le transformer en fonction :
    j'ai l'erreur suivante

    [B]line 7 <module> psd_to_jpg
    NameError:'name in 'psd_to_jpg' is not defined'[B]

    je vois bien que le problème dépasse mes connaissances en programmation
    Merci à vous


    #code avec appel de fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import win32com.client
    import os
    import sys
     
     
    psd_to_jpg()
     
    def psd_to_jpg():
     
    	psApp = win32com.client.Dispatch('Photoshop.Application')
     
    	psdFile= "S:\\test\\CLEAN\\bg_000_02.psd"
    	jpgFile="S:\\test\\jpg_convert\\CLEAN\\bg_000_02.jpg"
     
    	options = win32com.client.Dispatch('Photoshop.ExportOptionsSaveForWeb')
    	options.Format = 1   # JPG
    	doc = psApp.Open(psdFile)
    	layerSets = doc.LayerSets
     
    	exportTypes = {'perso','cadre'}
     
    	if (len(layerSets) > 0):
     
    		# Loop through each LayerSet (aka Group)
    		for layerSet in layerSets:
    			lsName = layerSet.Name.lower()
     
    			if (lsName in exportTypes):
    				layerSet.Visible = False 
     
     
    		doc = psApp.Open(psdFile)
    		doc.Export(ExportIn=jpgFile, ExportAs=2, Options=options)
     
     
     
    		doc.Close(2)
    	return

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Par défaut
    Bonsoir,

    concernant le deuxième code, vous appelez la fonction avant qu'elle soit déclarée.

    d'où votre erreur:

    NameError: name 'psd_to_jpg' is not defined

    En plaçant psd_to_jpg() après le code def psd_to_jpg() ça marchera mieux.

  3. #3
    Candidat au Club
    Homme Profil pro
    Infographiste
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Infographiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Par défaut haa les debutants !
    merci a vous

Discussions similaires

  1. Afficher une liste de clients en fonction de leur ville
    Par anneh dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/01/2013, 11h59
  2. Réponses: 1
    Dernier message: 13/02/2011, 12h08
  3. Réponses: 3
    Dernier message: 20/12/2010, 23h07
  4. probleme: "import win32com.client"
    Par Terminator dans le forum Bibliothèques tierces
    Réponses: 2
    Dernier message: 21/02/2007, 19h00
  5. [Client/Serveur] Fonctionement des jeux en ligne ?
    Par VincentVega dans le forum Général Conception Web
    Réponses: 11
    Dernier message: 18/10/2006, 13h14

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