ich habe eine Klasse zum Drucken, was auch super funktioniert. Nun habe ich aber das Problem, das ich an einer bestimmten stelle im Text, angeben möchte, wann ein Seitenwechsel erfolgen soll und nicht erst wenn die Seite zu ende ist.
Kann ich in dem String irgend etwas für einen Seitenwechsel mit übergeben oder wie muss ich die Druckfunktion anpassen, damit es funktioniert?
Du hast deinen Text, den schreibst Du in ein Richtext und das malst Du dann auf den Drucker. Der Drucker bekommt also nur ein Bild, kann also nicht erkennen, wann ein Seitenwechsel erfolgen soll.
Dazu müsstest Du den Text vorher trennen und die einzelnen Teile einzeln drucken.
sorry ich hatte mich vertippt, das sollte (QPrinter::PdfFormat) heißen. Das mit dem Drucker wäre dann kein Problem, aber wie mache ich das mit dem PDF. Ich möchte schon alles in einem PDF haben, aber getrennt.
ich verstehe nicht so ganz wie das ganze funktionieren soll, ich habe es jetzt so versucht, wie in den Beispielen.
Allerdings brauche ich noch so etwas wie eine funktion print newPage und über gebe dann den String und den QPrinter, aber ich weiß nicht wie ich das machen soll. Wäre jemand so nett und würde es mir an einem kleinen Beispiel erklären.
vielen Dank für den Tipp. Das mit dem Trennen funktioniert aber nicht so richtig. Vielleicht kannst du mir noch sagen wie man einen vernünftigen Seitentrenner einbaut oder wo ich Informationen dazu bekomme?
Gruß
Marco812
P.S.
Wie kann ich jetzt bei dem Printer die Seitenränder festlegen?
Keine Ahnung wie Du den Seitentrenner aufbauen kannst. In HTML gibt es keine Seitentrenner, eine HTML-Seite ist immer eine Seite. Alles andere macht kaum einen Sinn. Du brauchst also etwas als Separator, was in normalen HTML nicht angezeigt wird. Probier es mit <ff />
Wo bekommst Du überhaupt den HTML-String her? Den Seitenvorschub kannst Du auch nur zwischen 2 Absätzen machen, sonst gehen eventuell Attributinformationen verloren. Angenommen Du hast etwas wie <b>ganz viel Text</b>, dann kannst Du den Trenner nicht einfach in den Text bringen. Dann wäre ein Teil fett, der andere nicht, oder gleich beide normal. Ich weiß nicht wie man das am besten löst, aber ich denke die Problematik ist sichtbar.
den HTML-String baue ich mir aus den benötigten Daten zusammen und übergebe ihn dann. Zwischen dem Text muss auch keine neue Seite beginnen. Ein Abschnitt kann mal eine halbe aber auch mal 3 Seiten lang sein nur dann muss eben ein Wechsel erfolgen. Deshalb ist es recht einfach zu sagen, wann der Wechsel erfolgen soll. Beispiel:
Alle Spieler in der Mannschaft:
Spieler 1
Spieler 2
usw.
// hier ein Seitenwechsel
Alles Ergebnisse der Mannschaft:
Ergebnis 1
Ergebnis 2
usw.
// hier ein Seitenwechsel
usw.
Soweit so gut der Wechsel funktioniert auch, aber die Seitenzahlen stimmen nicht. Es steht überall Seite1. Wie kann ich die Seitenzahl fortlaufend bekommen oder sogar "Seite 1" schreiben und nicht nur "1"?