OVH Cloud OVH Cloud

réalisation d'édition avec python

8 réponses
Avatar
DAIREAUX Jean-Baptiste
Boujour à tous.
Je cherchais un langage de dévellopemment compatible unix/windows.
Python me semble étre un bon candidat.

Il me semble assez complet, mais je ne trouve pas comment gérer des
impression avec.
Si vous pouviez me conseiller sur les differentes méthode pour imprimer des
etats avec python (ou par l'intermédiaire d'un outils pilotable par python)
sous windows ou sous unix.

Merci d'avance pour vos réponse.
J.B.D.

8 réponses

Avatar
Eric Masson
"JB" == DAIREAUX Jean-Baptiste writes:






'Lut,

JB> Si vous pouviez me conseiller sur les differentes méthode pour
JB> imprimer des etats avec python (ou par l'intermédiaire d'un outils
JB> pilotable par python) sous windows ou sous unix.

Regarde du coté de ReportLab :
http://www.reportlab.org/

C'est une librairie de génération de PDF codée en Python. Je l'ai
utilisée pour des filtres d'états issus d'un midrange ibm.

Éric Masson

--
Follow-up fmb.linux, parce que la charte de fca.emacs, redigee par mes
soins, interdit les trolls GNU Emacs/XEmacs, sur lesquels je suis le
premier a me lancer :-)
-+- JK in guide du linuxien pervers - bien configurer sa charte -+-






Avatar
DAIREAUX Jean-Baptiste
Merci je vais étudier cela.

J.B.D.
Avatar
Laurent Pointal
DAIREAUX Jean-Baptiste wrote:
Boujour à tous.
Je cherchais un langage de dévellopemment compatible unix/windows.
Python me semble étre un bon candidat.

Il me semble assez complet, mais je ne trouve pas comment gérer des
impression avec.
Si vous pouviez me conseiller sur les differentes méthode pour imprimer des
etats avec python (ou par l'intermédiaire d'un outils pilotable par python)
sous windows ou sous unix.


Tu peux aussi jeter un coup d'oeil vers PyUNO qui te permets de piloter
Open Office via Python.

A+

Laurent.

Avatar
Norbs
Si vous pouviez me conseiller sur les differentes méthode pour imprimer
des

etats avec python (ou par l'intermédiaire d'un outils pilotable par
python)

sous windows ou sous unix.


wxPython possède une classe PrintGrid permettant d'imprimer des rapports.

Avatar
jean-michel
wxPython possède une classe PrintGrid permettant d'imprimer des rapports.


C'est peut-être un peu tard, mais voici un petit exemple bricolé à partir de
la démo de wx, dont le source n'est pas toujours évident à comprendre.
La classe intéressante est PrintTable. On y voit que ce n'est pas sorcier de
faire un joli état, très bien pour la gestion en tout cas.
Il faut noter que c'est un truc qui manque dans beaucoup d'autres outils, y
compris commerciaux.
Fonctionne sous w2k sp4, avec python 2.3.4 et wx 2.4.2.4.
Je ne sais pas si ça marche sur les autres OS (en principe, oui).
++
jean-michel

#---------------------------------------------------------------------------
from wxPython.wx import *
from wxPython.lib.printout import PrintTable
#---------------------------------------------------------------------------
class TablePanel(wxPanel):
def __init__(self, parent, frame):
wxPanel.__init__(self, parent, -1)
new_data = []
for i in range(100):
new_data.append(['a', 'b', 'c', 'd', 'e'])
prt = PrintTable(parent)
prt.data = new_data
prt.set_column = [ 1, 1, 1, 1, 2]
prt.label = ['col a', 'col b', 'col c', 'col d', 'col e']
prt.SetColAlignment(1, wxALIGN_CENTRE)
prt.SetColBackgroundColour(0, wxNamedColour('RED'))
prt.SetColTextColour(0, wxNamedColour('WHITE'))
prt.SetCellColour(4, 0, wxNamedColour('LIGHT BLUE'))
prt.SetCellColour(4, 1, wxNamedColour('LIGHT BLUE'))
prt.SetCellColour(17, 1, wxNamedColour('LIGHT BLUE'))
prt.SetColBackgroundColour(2, wxNamedColour('LIGHT BLUE'))
prt.SetCellText(4, 2, wxNamedColour('RED'))
prt.SetColTextColour(3, wxNamedColour('RED'))
prt.label_font_colour = wxNamedColour('WHITE')
prt.SetHeader("wxWindows Applications", colour wxNamedColour('RED'))
prt.SetHeader("Printed: ", type = "Date & Time",
align=wxALIGN_RIGHT, indent = -2, colour = wxNamedColour('BLUE'))
prt.SetFooter("Page No", colour = wxNamedColour('RED'), type ="Num")
prt.Preview()
#---------------------------------------------------------------------------
class jmFrame(wxFrame):
def __init__(self, parent, ID, title):
wxFrame.__init__(self, parent, ID, title, wxDefaultPosition,
wxSize(-1, -1))
panel= TablePanel(self,-1)
#---------------------------------------------------------------------------
----
class jmApp(wxApp):
def OnInit(self):
frame = jmFrame(NULL, -1, "wxPython vous dit bonjour !")
frame.Show(true)
self.SetTopWindow(frame)
return true
#---------------------------------------------------------------------------
----
app = jmApp(0)
app.MainLoop()
#---------------------------------------------------------------------------
----

Avatar
jbdaireaux
Merci pour cette exemple.
Mais j'ai cherché dans la doc livrée avec wxPython et seul la classe
printout est documenté.

y aurai-t-il une documentation consernant la classe que tu utilise ?
(PrintTable)

Merci d'avance.
J.B.D.

"jean-michel" wrote in message news:<ctrov7$j4i$...
wxPython possède une classe PrintGrid permettant d'imprimer des rapports.


C'est peut-être un peu tard, mais voici un petit exemple bricolé à partir de
la démo de wx, dont le source n'est pas toujours évident à comprendre.
La classe intéressante est PrintTable. On y voit que ce n'est pas sorcier de
faire un joli état, très bien pour la gestion en tout cas.
Il faut noter que c'est un truc qui manque dans beaucoup d'autres outils, y
compris commerciaux.
Fonctionne sous w2k sp4, avec python 2.3.4 et wx 2.4.2.4.
Je ne sais pas si ça marche sur les autres OS (en principe, oui).
++
jean-michel

#---------------------------------------------------------------------------
from wxPython.wx import *
from wxPython.lib.printout import PrintTable
#---------------------------------------------------------------------------
class TablePanel(wxPanel):
def __init__(self, parent, frame):
wxPanel.__init__(self, parent, -1)
new_data = []
for i in range(100):
new_data.append(['a', 'b', 'c', 'd', 'e'])
prt = PrintTable(parent)
prt.data = new_data
prt.set_column = [ 1, 1, 1, 1, 2]
prt.label = ['col a', 'col b', 'col c', 'col d', 'col e']
prt.SetColAlignment(1, wxALIGN_CENTRE)
prt.SetColBackgroundColour(0, wxNamedColour('RED'))
prt.SetColTextColour(0, wxNamedColour('WHITE'))
prt.SetCellColour(4, 0, wxNamedColour('LIGHT BLUE'))
prt.SetCellColour(4, 1, wxNamedColour('LIGHT BLUE'))
prt.SetCellColour(17, 1, wxNamedColour('LIGHT BLUE'))
prt.SetColBackgroundColour(2, wxNamedColour('LIGHT BLUE'))
prt.SetCellText(4, 2, wxNamedColour('RED'))
prt.SetColTextColour(3, wxNamedColour('RED'))
prt.label_font_colour = wxNamedColour('WHITE')
prt.SetHeader("wxWindows Applications", colour > wxNamedColour('RED'))
prt.SetHeader("Printed: ", type = "Date & Time",
align=wxALIGN_RIGHT, indent = -2, colour = wxNamedColour('BLUE'))
prt.SetFooter("Page No", colour = wxNamedColour('RED'), type ="Num")
prt.Preview()
#---------------------------------------------------------------------------
class jmFrame(wxFrame):
def __init__(self, parent, ID, title):
wxFrame.__init__(self, parent, ID, title, wxDefaultPosition,
wxSize(-1, -1))
panel= TablePanel(self,-1)
#---------------------------------------------------------------------------
----
class jmApp(wxApp):
def OnInit(self):
frame = jmFrame(NULL, -1, "wxPython vous dit bonjour !")
frame.Show(true)
self.SetTopWindow(frame)
return true
#---------------------------------------------------------------------------
----
app = jmApp(0)
app.MainLoop()
#---------------------------------------------------------------------------
----



Avatar
jean-michel
a écrit dans le message de
news:
Merci pour cette exemple.
Mais j'ai cherché dans la doc livrée avec wxPython et seul la classe
printout est documenté.

y aurai-t-il une documentation consernant la classe que tu utilise ?
(PrintTable)


Oui: http://www.wxpython.org/docs/api/wx.lib.printout-module.html
Tu as aussi un exemple dans:
http://wiki.wxpython.org/index.cgi/FullyFunctionalDemo
Et plein de trucs qui sortent avec google{wx printtable}
En fait, c'est très souvent un pb avec wx. L'interface avec python est juste
un wrapper, et on doit se contenter de la doc de base qui est faite pour le
C, et qui est elle-même parfois un peu légère. Je me souviens d'avoir galéré
notamment pour les tree view. La bonne méthode est de se pencher
sérieusement sur la demo de wxpython afin de pouvoir en extraire des
morceaux qui fonctionnent.

Avatar
DAIREAUX Jean-Baptiste
Merci.
J.B.D.