Drucken mit Turboprint / Problem mit oberem Rand
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
Drucken mit Turboprint / Problem mit oberem Rand
Hallo zusammen,
ich bin neu hier, komme von Delphi und versuche jetzt Lazarus unter openSUSE 10.2 (KDE).
Ein Problem habe ich mit dem Drucken. Für meinen Drucker Canon Pixma IP1700 verwende ich Turboprint (registriert), da der von der Installation vorgeschlagene Treiber nicht funktioniert.
Meine Programm enthält u.a. folgende Anweisungen:
uses ... Printers,
Das Package Printer4Lazarus ist integriert.
Befehlsfolge (in etwa):
with PrintDialog1 do
begin
if Execute then
begin
Printer.BeginDoc;
Printer.Canvas.TextOut(5,5,'Ausgabetext');
Printer.EndDoc;
end;
end;
Der Text wird gedruckt. Linker Abstand = OK. Oberer Abstand = etwas mehr als 1 Inch. Der Druck sollte eigentlich fast ganz oben beginnen.
Weiß jemand einen Rat? Bin für jede Hilfe dankbar.
Gruß
leonis_minoris
ich bin neu hier, komme von Delphi und versuche jetzt Lazarus unter openSUSE 10.2 (KDE).
Ein Problem habe ich mit dem Drucken. Für meinen Drucker Canon Pixma IP1700 verwende ich Turboprint (registriert), da der von der Installation vorgeschlagene Treiber nicht funktioniert.
Meine Programm enthält u.a. folgende Anweisungen:
uses ... Printers,
Das Package Printer4Lazarus ist integriert.
Befehlsfolge (in etwa):
with PrintDialog1 do
begin
if Execute then
begin
Printer.BeginDoc;
Printer.Canvas.TextOut(5,5,'Ausgabetext');
Printer.EndDoc;
end;
end;
Der Text wird gedruckt. Linker Abstand = OK. Oberer Abstand = etwas mehr als 1 Inch. Der Druck sollte eigentlich fast ganz oben beginnen.
Weiß jemand einen Rat? Bin für jede Hilfe dankbar.
Gruß
leonis_minoris
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
Hallo Christian,
danke für Deine Antwort. Die Druckauflösung wird berücksichtigt, wobei allerdings XDPI und YDPI immer 72 sind. Der linke Abstand stimmt ja korrekt, nur der obere nicht.
Aber über LazReport werde ich mich mal schlau machen. Habe bisher noch keine Ahnung wie das geht. Wie gesagt, ich komme von Delphi.
Vielen Dank nochmal
Gruß
leonis_minoris
danke für Deine Antwort. Die Druckauflösung wird berücksichtigt, wobei allerdings XDPI und YDPI immer 72 sind. Der linke Abstand stimmt ja korrekt, nur der obere nicht.
Aber über LazReport werde ich mich mal schlau machen. Habe bisher noch keine Ahnung wie das geht. Wie gesagt, ich komme von Delphi.
Vielen Dank nochmal
Gruß
leonis_minoris
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Prinzipiell sollte die TPrinter Klasse genau wie im Delphi funktionieren.
Es kann durchaus sein das es ein Bug ist.
72 DPI ? Sicher ?
Die meissten Drucker machen heutzutage > 300 DPI physisch schaffen sie das zwar nicht, das ist aber ein anderes Thema.
Lazreport ist eine portierund von Freereport (frühe Fastreport Version) von Delphi. Gabs dort genauso.
Es kann durchaus sein das es ein Bug ist.
72 DPI ? Sicher ?
Die meissten Drucker machen heutzutage > 300 DPI physisch schaffen sie das zwar nicht, das ist aber ein anderes Thema.
Lazreport ist eine portierund von Freereport (frühe Fastreport Version) von Delphi. Gabs dort genauso.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
Ja, die 72 DPI, die Printer.XDPI und Printer.YDPI immer liefern, stimmen. Der Drucker ist allerdings auf mittel (600 DPI) eingestellt. Hat mich auch verwirrt, denn in Delphi habe ich beim gleichen Drucker fast das 10-fache, ebenso in PageWidth und PageHeight, die in Lazarus bei ca. 500 und 700 liegen. Ich kann auch drucken wie gewohnt, auch Graphiken. Alles OK, auch der linke Abstand und die Positionen in der Seite sind korrekt. Nur oben beginnt er immer erst nach ca. 3 cm.
Vielen Dank für Deine Nachricht.
Vielen Dank für Deine Nachricht.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Und unten stimmt ?
Mach doch mal n kleines example wo du nen Rechteck über die ganze Seite ausgibst und die XDPI und YDPI reinschreibst und lad das hier hoch. Dann können wir das alle mal ausprobiern und das Ergebnis posten.
Mit Lazreport hatte ich mit meinen Druckern bisher keine Probleme.
Aber es kann natürlich sein das das Druckerabhängig ist.
Mach doch mal n kleines example wo du nen Rechteck über die ganze Seite ausgibst und die XDPI und YDPI reinschreibst und lad das hier hoch. Dann können wir das alle mal ausprobiern und das Ergebnis posten.
Mit Lazreport hatte ich mit meinen Druckern bisher keine Probleme.
Aber es kann natürlich sein das das Druckerabhängig ist.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
Drucken mit Turboprint / Randprobleme
Hallo Christian,
leider weiß ich jetzt nicht, wie ich die Druckausgabe hier darstellen soll. Wie geht das? Ich bin noch eine Neuling.
Code: Alles auswählen
hier der Code:
procedure TfrmDruck.SpeedButton1Click(Sender: TObject);
var
Rc:TRect;
begin
with PrintDialog1 do
begin
if Execute then
begin
Printer.BeginDoc;
Rc.Left:=20;
Rc.Top:=20;
Rc.Right:=Printer.PageWidth-40;
Rc.Bottom:=Printer.PageHeight-40;
Printer.Canvas.Rectangle(Rc);
Printer.Canvas.TextOut(15,10,'XDPI:= ' + IntToStr(Printer.XDPI));
Printer.Canvas.TextOut(15,30,'YDPI:= ' + IntToStr(Printer.YDPI));
Printer.Canvas.TextOut(15,50,'PageWidth = ' + IntToStr(Printer.PageWidth));
Printer.Canvas.TextOut(15,70,'PageHeight = ' + IntToStr(Printer.PageHeight));
Printer.EndDoc;
end;
end;
end;
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
-
- Beiträge: 12
- Registriert: Fr 22. Jun 2007, 12:12
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Nähe Nürnberg
Das oben war Mist, bitte um Entschuldigung.
Es wird ein komplettes Rechteck gezeichnet.
Oberer Abstand: 3,8 cm
Linker Abstand: 0,4 cm
Rechter Abstand: 2,5 cm
Unterer Abstand 0,9 cm
XDPI:=72
YDPI:=72
PageWidth:= 576
PageHeight:= 770
Besser habe ich es leider nicht mitteilen können. Ich bitte um Verstädnnis.
Gruß
leonis_minoris
Es wird ein komplettes Rechteck gezeichnet.
Oberer Abstand: 3,8 cm
Linker Abstand: 0,4 cm
Rechter Abstand: 2,5 cm
Unterer Abstand 0,9 cm
XDPI:=72
YDPI:=72
PageWidth:= 576
PageHeight:= 770
Besser habe ich es leider nicht mitteilen können. Ich bitte um Verstädnnis.
Gruß
leonis_minoris