Seite 1 von 1

Doc drucken

Verfasst: Donnerstag 10. Mai 2007, 18:42
von gurke
hi.. ich möchte eine *.doc datei mit python verändern und dann drucken.. ich weiss das man mit wxPython drucken kann, aber ob dann die formatierung auch in ordnung ist fragt sich nur.. hilfe wäre sehr willkommen für andere umsetzungs möglichkeiten.

p.s.: hab kein drucker zum testen =P

Verfasst: Donnerstag 10. Mai 2007, 18:58
von schlangenbeschwörer
Hi!
Zum Drucken braucht man kein GUI-Toolkit. Die Suche hift bestimmt.
Außerdem, was willst du denn ändern? Notfalls kannst du die Datei ja editiren, speichern, drucken und evtl. wieder löschen.
Gruß, jj

Verfasst: Donnerstag 10. Mai 2007, 19:00
von gurke
will den briefkopf ändern.. drucken ohne gui-toolkit?! und ich hab immer noch das problem das die datei doc ist und ich das nicht drucken kann ohne die formation zu verlieren. danke denn noch :)

Re: Doc drucken

Verfasst: Donnerstag 10. Mai 2007, 19:35
von gerold
gurke hat geschrieben:ich möchte eine *.doc datei mit python verändern und dann drucken.
[...]
p.s.: hab kein drucker zum testen =P
Hallo gurke!

Willkommen im Python-Forum!

Öffne die Doc-Datei im Winword, editiere sie damit und drucke sie damit aus. Genau das kannst du mit Hilfe von "pywin32" http://sourceforge.net/project/showfile ... p_id=78018 machen. Du brauchst Winword dafür und du solltest wissen, wie du so etwas mit "Visual Basic for Applications" in Winword schaffst. Wenn du das weißt, dann ist es kein Problem mehr das nach Python umzusetzen. Im Winword hilft dir die Makroaufzeichnung dabei.

Für mehr Hilfe, suche hier im Forum nach "Word.Application".

Der PDFCreator installiert sich als Drucker. Wenn du auf diesen Drucker ausdruckst, dann erzeugst du damit eine PDF-Datei, die du dir dann ansehen kannst. So brauchst du keinen Drucker zum Probieren.

http://de.wikipedia.org/wiki/PDFCreator

mfg
Gerold
:-)

Verfasst: Donnerstag 10. Mai 2007, 19:37
von gurke
danke!

Verfasst: Donnerstag 10. Mai 2007, 19:38
von gerold
Für mehr Hilfe, suche hier im Forum nach "Word.Application".

Verfasst: Freitag 11. Mai 2007, 19:50
von gurke
ähm ich hab jetzt alles soweit hinbekommen.. aber irgendwie will der nicht drucken krieg nen traceback und zwar:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Dokumente und Einstellungen\gurky\Desktop\Python Programme\DVAG Customer Service\DVAG Customer Service.py", line 193, in OnPress
    doc.ActiveDocument.PrintOut()
  File "C:\Python24\Lib\site-packages\win32com\client\dynamic.py", line 496, in __getattr__
    raise AttributeError, "%s.%s" % (self._username_, attr)
AttributeError: Open.ActiveDocument
folgender code:

Code: Alles auswählen

            x = 1
            
            filename = os.path.abspath('letter.doc')
            app = win32com.client.Dispatch('Word.Application')
            app.Visible = False
            
            while (x <= int(self.letteredit.GetValue())):
                doc = app.Documents.Open(filename)
                doc.Bookmarks('name').Range.InsertAfter(self.partner.name)
                doc.Bookmarks('street').Range.InsertAfter(self.partner.street)
                doc.Bookmarks('housenr').Range.InsertAfter(self.partner.housenr)
                doc.Bookmarks('postal').Range.InsertAfter(self.partner.postal)
                doc.Bookmarks('city').Range.InsertAfter(self.partner.city)

                doc.ActiveDocument.PrintOut()
                
                doc.Close()
                del doc
                
                self.partner = Partner()
                time.sleep(2)
                x += 1
                
            app.Quit()
            del app
die bookmarks werden verändert etc.. aber beim drucken hat er dann irgendwie probleme mit ActiveDocument

danke im vorraus

Verfasst: Freitag 11. Mai 2007, 19:53
von gurke
oh lol... sehr komisch.. hab jetzt einfach ActiveDocument weggenommen und es geht.. sorry für die belästigung :P