OVH Cloud OVH Cloud

probleme de fonction python

6 réponses
Avatar
Dom
Bonjour,

J'utilise un petit programme python, qui me permet d'ouvrir un fichier pdf
dans internet explorer, puis d'imprimer le document, ceci grace a des
bouton.
Je cherche comment faire pour qu'en cliquant sur le bouton QUITTER, cela
ferme la barre d'outil ainsi que Internet explorer.

J'ai essayé de faire une fonction FERMER

-------------
def fermer():
fen.quit
ie.quit
-----------------

Cela ne fonctionne pas

Merci



C- le programme ----------
import win32com.client, time
ie = win32com.client.Dispatch('InternetExplorer.Application')
ie.Visible=1
ie.Navigate('http://monserveur/document01.pdf"')


def imprimer_RECTO():
while ie.busy:
time.sleep(1)
ie.Document.printPages(1,1)


def imprimer_VERSO():
while ie.busy:
time.sleep(1)
ie.Document.printPages(2,2)


from Tkinter import *
fen = Tk()
canvas = Canvas (fen, height=5, width=5)
canvas.pack(side=LEFT)
bouton_recto = Button(fen, text="imprimer RECTO", font="Arial 10", width=16,
command=imprimer_RECTO)
bouton_recto.pack(side='left')
bouton_verso =Button(fen, text="imprimer VERSO", font="Arial 10", width=16,
command=imprimer_VERSO)
bouton_verso.pack(side='left')
bouton_quitter=Button(fen, text="QUITTER", font="Arial 10", width=16,
command=fen.quit)
bouton_quitter.pack(side='right')

fen.mainloop()
------------------------------------------------------------

6 réponses

Avatar
Andre
Dom wrote:
Bonjour,

J'utilise un petit programme python, qui me permet d'ouvrir un fichier pdf
dans internet explorer, puis d'imprimer le document, ceci grace a des
bouton.
Je cherche comment faire pour qu'en cliquant sur le bouton QUITTER, cela
ferme la barre d'outil ainsi que Internet explorer.



Pour un programme totalement différent, j'utilise une technique qui
consiste à ouvrir une différente page dans le fureteur, page qui
contient un code javascript qui ferme le fureteur. Cela dit, Internet
explorer demande une confirmation avant de fermer. J'inclus le code
que j'utilise au cas où ça serait utile.

André

Note: l'appli en question "retourne" la page au fureteur pour qu'il
l'affiche. Dans ton cas, tu pourrais créer une page avec le code
ci-dessous et l'afficher comme tu le fais pour le fichier pdf
=============
"""
Firefox does not allow a Window to be closed using javascript
unless it
had been opened by a javascript script. So, we fool it by
"reopening" a
window within it via a script, and close this "new" window.
Internet Explorer will ask for a confirmation to close the window.
"""
server.still_serving = False
return """
<html><head><script language="javascript" type="text/javascript">
function closeWindow() {
window.open('','_parent','');
window.close();
}
closeWindow();
</script></head></html>"""

Avatar
Méta-MCI
Bonjour !


Ce bouton devrait marcher :

def fermer_IE():
ie.Quit()
time.sleep(1)


bouton_verso =Button(fen, text="fermer IE", font="Arial 10",
width,commandþrmer_IE)
bouton_verso.pack(side='left')



Attention au "Q" majuscules de "Quit()"

Et, aussi, il faut un "B" majuscules pour les "Busy".


@-salutations
--
Michel Claveau
Avatar
jean-michel bain-cornu
Ce bouton devrait marcher :

def fermer_IE():
ie.Quit()
time.sleep(1)

bouton_verso =Button(fen, text="fermer IE", font="Arial 10",
width,commandþrmer_IE)
bouton_verso.pack(side='left')


Tiens, pourquoi un time.sleep ?

Avatar
Michel Claveau
Tiens, pourquoi un time.sleep ?




C'est le syndrome du "copier/coller"...

--
@-salutations

Michel Claveau



Avatar
Dom
Bonjour,

Merci pour votre aide.
La fonction fermer_IE() seule fonctionne 5/5, mais comment faire pour fermer
IE et fermer Python.



Ceci me renvoie un message d'erreur :

def quitter():
ie.Quit()
fen.Quit()



Merci encore





Le code du petit prog

import win32com.client, time
ie = win32com.client.Dispatch('InternetExplorer.Application')
ie.Visible=1
ie.Navigate('http://monserveur/formulaire.pdf')


def imprimer_RECTO():
while ie.busy:
time.sleep(1)
ie.Document.printPages(1,1)


def imprimer_VERSO():
while ie.busy:
time.sleep(1)
ie.Document.printPages(2,2)

def quitter():
ie.Quit()
fen.Quit()



from Tkinter import *

fen = Tk()

canvas = Canvas (fen, height=5, width=5)
canvas.pack(side=LEFT)

bouton_recto = Button(fen, text="imprimer RECTO", font="Arial
10", width,
command=imprimer_RECTO)
bouton_recto.pack(side='left')

bouton_verso =Button(fen, text="imprimer VERSO", font="Arial
10", width,
command=imprimer_VERSO)
bouton_verso.pack(side='left')

bouton_quitter=Button(fen, text="QUITTER", font="Arial 10",
width,
command=quitter)
bouton_quitter.pack(side='right')


fen.mainloop()







"jean-michel bain-cornu" a écrit dans le message
de news:44e3573a$0$21145$
Ce bouton devrait marcher :

def fermer_IE():
ie.Quit()
time.sleep(1)

bouton_verso =Button(fen, text="fermer IE", font="Arial 10",
width,commandþrmer_IE)
bouton_verso.pack(side='left')


Tiens, pourquoi un time.sleep ?



Avatar
Michel Claveau
import sys
sys.exit()

--
@-salutations

Michel Claveau