Drucken mit Turboprint / Problem mit oberem Rand

Rund um die LCL und andere Komponenten
Antworten
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

Drucken mit Turboprint / Problem mit oberem Rand

Beitrag von leonis_minoris »

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

Christian
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:

Beitrag von Christian »

Ich denke, die Leute die Drucksachen mit Lazarus machen nutzen meisst Lazreport.

Aber soweit ich mich erinnere musst du doch rücksicht auf die Druckauflösung nehmen oder ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von leonis_minoris »

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

Christian
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:

Beitrag von Christian »

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.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von leonis_minoris »

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.

Christian
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:

Beitrag von Christian »

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.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Drucken mit Turboprint / Randprobleme

Beitrag von leonis_minoris »

Hallo Christian,

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;


leider weiß ich jetzt nicht, wie ich die Druckausgabe hier darstellen soll. Wie geht das? Ich bin noch eine Neuling.

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

Beitrag von leonis_minoris »

[img]/home/christoph/Bilder/Ausdruck[/img]

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

Beitrag von leonis_minoris »

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

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

leonis_minoris hat geschrieben:[img]/home/christoph/Bilder/Ausdruck[/img]

so gehts nicht, unten beim Antrwortdialog hast du nen Feld Attachments hinzufügen, dort auf den Button Durchsuchen klicken...Datei auswählen und Attachment hinzufügen.
Dann wird es in deinem Beitrag angezeigt ;)
Johannes

Christian
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:

Beitrag von Christian »

Wäre besser gewesen wenn dus in ein Prjekt gepackt hättest und angehängt. Sobald ich wieder nen Drucker in der nähe habe versuch ichs.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten