Druck grösser als A4 quer
Moderator: Moderatoren
-
- UDF-Programmierer
- Beiträge: 54
- Registriert: Sa, 07. Jan 2006 17:30
- Wohnort: Braunschweig
- Kontaktdaten:
Druck grösser als A4 quer
Hallo zusammen,
heute mal ein (vermutlich) triviales Problem.
Ich drucke aus einer Listbox, die einen horizontalen Rollbalken hat. Das funktioniert auch soweit ganz gut. Leider ist der Ausdruck, bei automatichem Landscape breiter als das Papier (wären also 2 Seiten nebeneinander).
Leider ist nach einer Seite schluss mit druck. Es sollte so wie bei Excel laufen. Wenn Seite breiter als Papier, dann neue Seite.
In der Papier höhe klappt das auch. Da passt das Programm selbst auf. Bei der Breite der Tabelle habe ich nix gefunden.
Gibts da irgend einen Tipp?
Gruß
Manfred
heute mal ein (vermutlich) triviales Problem.
Ich drucke aus einer Listbox, die einen horizontalen Rollbalken hat. Das funktioniert auch soweit ganz gut. Leider ist der Ausdruck, bei automatichem Landscape breiter als das Papier (wären also 2 Seiten nebeneinander).
Leider ist nach einer Seite schluss mit druck. Es sollte so wie bei Excel laufen. Wenn Seite breiter als Papier, dann neue Seite.
In der Papier höhe klappt das auch. Da passt das Programm selbst auf. Bei der Breite der Tabelle habe ich nix gefunden.
Gibts da irgend einen Tipp?
Gruß
Manfred
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hi,
Excel schneidet einfach alles ab (das geht überrigens automatisch, nur weiß man nicht genau wo was abgeschnitten wurde) was zu lange ist und druckt das auf der 2. Seite. Ob dies für dich OK ist weiß ich nicht.
GraQueryTextBox( [<oPS>], <cString> ) --> aPoints
gibt prinzipiell die nötige Drucklänge bei aktueller Schrift zurück.
In meiner Druckerklasse kannst du bei der Methode :PrintMemo() nachsehen, wie man einen zu langen Text bei einem Blank aufspaltet (zuerst ermitteln bei welchem ...) und dann einzeln z. B. für Blocksatz druckt.
Natürlich kann man auch eine deutlich kleinere Schriftart (10 oder 8 Punkt) statt der üblichen 12 Punkt Schrift wählen (wir reden doch von XbpPrinter oder ? ) .. ob das reicht muss man dann ermitteln.
Excel schneidet einfach alles ab (das geht überrigens automatisch, nur weiß man nicht genau wo was abgeschnitten wurde) was zu lange ist und druckt das auf der 2. Seite. Ob dies für dich OK ist weiß ich nicht.
GraQueryTextBox( [<oPS>], <cString> ) --> aPoints
gibt prinzipiell die nötige Drucklänge bei aktueller Schrift zurück.
In meiner Druckerklasse kannst du bei der Methode :PrintMemo() nachsehen, wie man einen zu langen Text bei einem Blank aufspaltet (zuerst ermitteln bei welchem ...) und dann einzeln z. B. für Blocksatz druckt.
Natürlich kann man auch eine deutlich kleinere Schriftart (10 oder 8 Punkt) statt der üblichen 12 Punkt Schrift wählen (wir reden doch von XbpPrinter oder ? ) .. ob das reicht muss man dann ermitteln.
Gruß
Hubert
Hubert
-
- UDF-Programmierer
- Beiträge: 54
- Registriert: Sa, 07. Jan 2006 17:30
- Wohnort: Braunschweig
- Kontaktdaten:
Hallo Hubert,
ja, wir reden von XbpPrinter.
Ich werde es aber doch wohl mit ner kleineren Schriftart versuchen.
Gruß
Manfred
ja, wir reden von XbpPrinter.
Diese Option wäre durchaus OK.Excel schneidet einfach alles ab (das geht überrigens automatisch, nur weiß man nicht genau wo was abgeschnitten wurde) was zu lange ist und druckt das auf der 2. Seite. Ob dies für dich OK ist weiß ich nicht.
Ich werde es aber doch wohl mit ner kleineren Schriftart versuchen.
Gruß
Manfred
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Rolf,
macht er doch schon. Steht in seinem Eingangsposting drin.
Die Problematik ist ja, daß Excel automatisach "sieht", daß der Ausdruck zu breit ist. Man kann das gut erkennen, wenn man die Seite eingerichtet hat oder schon mal gedruckt hat, daß da überall die gestrichelten Linien durchlaufen. "Normal" ist das natürlich nicht, sondern Excel-Spezifisch. Alle anderen MS-Programme machen das ja auch nicht. Ich denke, der Unterschied ist, daß man normalerweise Seitenorientiert arbeitet, Excel aber Spaltenorientiert. Zum Berechnen irgendwelcher Daten ist es erstmal egal oder eher sogar hinderlich, eine feste Seitenbreite einzurichten.
Jan
macht er doch schon. Steht in seinem Eingangsposting drin.
Die Problematik ist ja, daß Excel automatisach "sieht", daß der Ausdruck zu breit ist. Man kann das gut erkennen, wenn man die Seite eingerichtet hat oder schon mal gedruckt hat, daß da überall die gestrichelten Linien durchlaufen. "Normal" ist das natürlich nicht, sondern Excel-Spezifisch. Alle anderen MS-Programme machen das ja auch nicht. Ich denke, der Unterschied ist, daß man normalerweise Seitenorientiert arbeitet, Excel aber Spaltenorientiert. Zum Berechnen irgendwelcher Daten ist es erstmal egal oder eher sogar hinderlich, eine feste Seitenbreite einzurichten.
Jan
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Druck grösser als A4 quer
hi,
rientation bedeutet IMHO "drehe um 90"
wenn das also "so" nicht funktioniert würde ich entweder:
a.) versuchen den Presspace "selbst um 90 zu drehen"
b.) aus dem Presspace ein Bitmap machen und dann das um 90 drehen
gruss by OHR
Jimmy
Du "druckst" doch in einen Presspace.kuhno hat geschrieben: heute mal ein (vermutlich) triviales Problem.
rientation bedeutet IMHO "drehe um 90"
wenn das also "so" nicht funktioniert würde ich entweder:
a.) versuchen den Presspace "selbst um 90 zu drehen"
b.) aus dem Presspace ein Bitmap machen und dann das um 90 drehen
gruss by OHR
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hi,
eigentlich funktioniert die :Orientation schon seit 1.82 oder war es 1.80 ... ?
Ich persönlich verwende in meiner Druckerklasse aber keine Orientation sondern drehe die Fonts selbst, das geht über einen Parameter ... in GraSetAttrString() aus folgenden Gründen:
1. Ältere Versionen von Xbase++ können es nicht
2. Vor 1.90 musste der ganze Druckjob eine Ausrichtung haben.
3. Ich habe nie eine Seite auf der alles gedreht ist (zu unflexibel)
4. Schriften drehen funktioniert mit meiner Druckerklasse sehr einfach.
Was auch immer du machst, dein Programm muss immer eine Druckseite berechnen und dann mit NextPage() ausdrucken. Dein Programm muss errechnen was auf eine und auf welche Seite gedruckt werden kann und dann musst du das so aufteilen. Genauso macht es auch Word oder Excel oder jedes andere Windowsprogramm.
eigentlich funktioniert die :Orientation schon seit 1.82 oder war es 1.80 ... ?
Ich persönlich verwende in meiner Druckerklasse aber keine Orientation sondern drehe die Fonts selbst, das geht über einen Parameter ... in GraSetAttrString() aus folgenden Gründen:
1. Ältere Versionen von Xbase++ können es nicht
2. Vor 1.90 musste der ganze Druckjob eine Ausrichtung haben.
3. Ich habe nie eine Seite auf der alles gedreht ist (zu unflexibel)
4. Schriften drehen funktioniert mit meiner Druckerklasse sehr einfach.
Was auch immer du machst, dein Programm muss immer eine Druckseite berechnen und dann mit NextPage() ausdrucken. Dein Programm muss errechnen was auf eine und auf welche Seite gedruckt werden kann und dann musst du das so aufteilen. Genauso macht es auch Word oder Excel oder jedes andere Windowsprogramm.
Gruß
Hubert
Hubert
-
- UDF-Programmierer
- Beiträge: 54
- Registriert: Sa, 07. Jan 2006 17:30
- Wohnort: Braunschweig
- Kontaktdaten:
Hallo Hubeert,
Danke für den Hinweis. Ich habe es jetzt mit einem etwas schlanker skalierten Font hinbekommen. Es passt alles auf eine Seite A4 quer drauf. Die Orientierung des Blattes beim Drucker geht auch auf A4 quer. Wenn ich mal wieder Zeit habe, werde ich alle diesen Dinge ausprobieren (und im Programm verbessern). Im Moment fehlt mir wegen Termindruck die Zeit dazu.
Gruß
Manfred
Danke für den Hinweis. Ich habe es jetzt mit einem etwas schlanker skalierten Font hinbekommen. Es passt alles auf eine Seite A4 quer drauf. Die Orientierung des Blattes beim Drucker geht auch auf A4 quer. Wenn ich mal wieder Zeit habe, werde ich alle diesen Dinge ausprobieren (und im Programm verbessern). Im Moment fehlt mir wegen Termindruck die Zeit dazu.
Gruß
Manfred
-
- UDF-Programmierer
- Beiträge: 54
- Registriert: Sa, 07. Jan 2006 17:30
- Wohnort: Braunschweig
- Kontaktdaten:
Hallo Hubert,
das doppete E in deinem Namen waren zu schnelle Finger. Entschuldigung.
Manfred
Ach ja, hab ich noch nicht gesehen. Danke.
das doppete E in deinem Namen waren zu schnelle Finger. Entschuldigung.
Manfred
Ach ja, hab ich noch nicht gesehen. Danke.
Zuletzt geändert von kuhno am Mi, 19. Dez 2007 15:58, insgesamt 1-mal geändert.