Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Drucken mittels Code statt printer.canvas (https://www.delphipraxis.net/65676-drucken-mittels-code-statt-printer-canvas.html)

MStoll 19. Mär 2006 21:38


Drucken mittels Code statt printer.canvas
 
Hallo

besteht die Möglichkeit in Delphi auf ne andere Art + Weise zu drucken als printer.canvas mit Zeichenoperationen zu benutzen? Am liebsten wäre mir, wenn es einen standardisierten Code gibt, den man vll mittels einer API-Funktion zu den Druckertreibern schickt. Dieses Zeichnen auf dem Canvas wirft so manches Problem auf, besonders was die Skalierung von Schriften angeht. Ich habe früher bereits mit PCL-Code gearbeitet, aber ist ja bekanntlich geräteabhängig.

Vielen Dank im vorraus.

Gruß
Michael

s.h.a.r.k 19. Mär 2006 22:32

Re: Drucken mittels Code statt printer.canvas
 
Hey.

Was willst du denn drucken? Schon mal an den QuickReport gedacht?! Musst mal im Forum danach suchen - gibt es massig Themen: Hier im Forum suchenQuickReport

mfg shark

Niko 19. Mär 2006 22:35

Re: Drucken mittels Code statt printer.canvas
 
Hi,

eine Möglichkeit ist, das Windows-GDI direkt zu verwenden, wodurch einige Funktionen zur Verfügung stehen, die in Canvas nicht vorhanden sind.

Man kann vor allem das Koordinatensystem auf Millimeter umstellen, wodurch die Probleme mit unterschiedlichen Druckerauflösungen verschwinden:
Delphi-Quellcode:
Printer.BeginDoc;
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
Anschließend sind alle Größen in Millimeter anzugeben. Der Ursprung liegt oben links und positive y-Werte werden nach oben angetragen.

MStoll 19. Mär 2006 23:35

Re: Drucken mittels Code statt printer.canvas
 
@s.h.a.r.k: Hab ich schon davon gehört, aber ich möchte die Druckausgabe selbst aufbauen. Drucken möchte ich Ergebnislisten, d.h. Text, Tabellen mit Text in einzeiligen Zellen und absolut positionierte Grafiken.

@Niko: Das mit der Windows-GDI hab ich alles schon soweit ausprobiert und so. Aber das ist ja trotzdem Drucken per Zeichnen. Ich will allerdings Drucken per Code (ähnlich wie beim PCL), wo ich den Text direkt reinschreiben kann mit Codes für Schriften etc, nur die Grafiken müssten dann noch positioniert werden. Dann bräuchte ich mir keine Gedanken zu machen, wo genau der Text hinpositioniert werden muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz