Hallo,
stehe vor dem Problem, die Seitenanzahl für den Ausdruck zu berechnen. Das braucht man ja scheinbar für die HasPage und GetPageInfo Funktionen des wx.Printout Objekt.
Ich stehe auch noch am Anfang, und frage mich wie ich beginne. Im Endeffekt soll das ganze ein Rechnung drucken können.
Ok, das mit der Adresse, Rechnungsnummer, usw. bekomme ich hin, dafür kann man eine festen Platz vorsehen. Aber der Ausdruck der Positionen ist schon nicht mehr so klar, die können mal länger mal kürzer sein, es soll ein Seitenweiser Übertrag gebildet werden usw.
Wenn jemand Beispiele zum Thema wx.Printout auf Lager hat, würde mir das sicher sehr helfen.
Frage mich gerade noch ob man das irgendwie so basteln könnte dass es möglichst Flexibel für alles mögliche hernehmen kann.
Gruß Christian
Seitenanzahl für Ausdruck berechnen
Hallo,
wie soll man Daten an die printout Klasse übergeben?
1. Die Daten schon so aufbereiten, dass die Printoutklasse den Ausdruck nur noch berechnen braucht. Welches Format wählt man da?
2. Für jede Art Ausdruck eine eigene Printoutklasse, die sozusagen die Vorlage für den Ausdruck ist.
Gibt es hierzu brauchbare Literatur?
Gruß Christian
wie soll man Daten an die printout Klasse übergeben?
1. Die Daten schon so aufbereiten, dass die Printoutklasse den Ausdruck nur noch berechnen braucht. Welches Format wählt man da?
2. Für jede Art Ausdruck eine eigene Printoutklasse, die sozusagen die Vorlage für den Ausdruck ist.
Gibt es hierzu brauchbare Literatur?
Gruß Christian
Hallo Christian, leider kann ich dir da auch keine große Hilfe sein.Byte hat geschrieben:Hallo,
wie soll man Daten an die printout Klasse übergeben?
1. Die Daten schon so aufbereiten, dass die Printoutklasse den Ausdruck nur noch berechnen braucht. Welches Format wählt man da?
2. Für jede Art Ausdruck eine eigene Printoutklasse, die sozusagen die Vorlage für den Ausdruck ist.
Gibt es hierzu brauchbare Literatur?
Gruß Christian
Hast du dir im wxPython Demo die Beispiele angesehen?
Nachdem ich ein file suchen gestart habe, verwenden folgende demos wx.Printout
\demo\Calendar.py
\demo\PrintFramework.py
Dann gibt es noch den Source Code vom Buch.
\wxPython\samples\wxPIA_book\Chapter-17\printing.py
Da wird numPages so ermittelt:
Code: Alles auswählen
def OnPreparePrinting(self):
# calculate the number of pages
dc = self.GetDC()
self.CalculateScale(dc)
self.CalculateLayout(dc)
self.numPages = len(self.lines) / self.linesPerPage
if len(self.lines) % self.linesPerPage != 0:
self.numPages += 1
Hi,
das calendar.py script muss ich mir noch genauer anschauen, die zwei anderen Beispiele habe ich gesehen.
Mein Problem ist hauptsächlich organisatorischer Natur. In onPreparePrinting, könnte ich alle Zeilen durchlaufen, und schauen wann ein Seitenwechsel nötig wird. Gegebenfalls könnten dort auch weitere Elemente, wie Übertrag usw., eingefügt werden. Bei OnPrintPage, braucht man dann aber eigentlich nur die Daten der zu druckenden Seite.
Dazu könnte man wieder die kompletten Daten durchlaufen um an die der aktuellen Seite zu kommen. Andere Möglichkeit wäre evtl. die Daten in onPreparePrinting, Seite für Seite irgendwo zu speichern. Da würden mir wieder ein File oder als Objekt im Speicher einfallen.
Wie gesagt ich habe keine Ahnung, wie man sowas macht, ich kann mich nur langsam herantasten. Es ist auch schwer über diese Thema was genaues zu lesen, weil ich nicht richtig weiß wonach ich suchen soll.
Vielleicht hat ja doch schon mal jemand sowas gemacht, und kann mir einen Tipp geben.
Gruß Christian
das calendar.py script muss ich mir noch genauer anschauen, die zwei anderen Beispiele habe ich gesehen.
Mein Problem ist hauptsächlich organisatorischer Natur. In onPreparePrinting, könnte ich alle Zeilen durchlaufen, und schauen wann ein Seitenwechsel nötig wird. Gegebenfalls könnten dort auch weitere Elemente, wie Übertrag usw., eingefügt werden. Bei OnPrintPage, braucht man dann aber eigentlich nur die Daten der zu druckenden Seite.
Dazu könnte man wieder die kompletten Daten durchlaufen um an die der aktuellen Seite zu kommen. Andere Möglichkeit wäre evtl. die Daten in onPreparePrinting, Seite für Seite irgendwo zu speichern. Da würden mir wieder ein File oder als Objekt im Speicher einfallen.
Wie gesagt ich habe keine Ahnung, wie man sowas macht, ich kann mich nur langsam herantasten. Es ist auch schwer über diese Thema was genaues zu lesen, weil ich nicht richtig weiß wonach ich suchen soll.
Vielleicht hat ja doch schon mal jemand sowas gemacht, und kann mir einen Tipp geben.
Gruß Christian