Ich möchte beim Drucken einen linken Rand von 20mm lassen. Bei jedem Drucker.
Ich habe es ausprobiert mit
Canvas.Textout(200, y,z);
Damit funktioniert es bei meinem Drucker.
Aber ich habe nirgends gefunden, ob dies immer die Angabe in zehntel-mm ist. Oder hängt dies eventuell auch noch von der Druckerauflösung ab ?
canvas.textout
-
- Beiträge: 321
- Registriert: Sa 11. Jun 2016, 12:16
- OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
- CPU-Target: 64Bit
- Wohnort: Konstanz
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: canvas.textout
Aber ich habe nirgends gefunden, ob dies immer die Angabe in zehntel-mm ist. Oder hängt dies eventuell auch noch von der Druckerauflösung ab ?
Die angaben sind Pixel werte.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: canvas.textout
Ich weis nicht, ob es eine Funktion für Seitenränder gibt.
Aber du kannst ermitteln, wie viele Pixel dein Ausdruck hat. Da man die Grösse eines A4 kennt, sind deine 2cm mit eine Dreisatz berechenbar.
Das sieht dann in etwa so aus:
Wen man die Printer.pas anguckt sieht man, was für Funktionen man zur Verfügung hat.
XDPI und YDPI könnte man vielleicht auch für die Seitenrand-Berechnung brauchen.
Aber du kannst ermitteln, wie viele Pixel dein Ausdruck hat. Da man die Grösse eines A4 kennt, sind deine 2cm mit eine Dreisatz berechenbar.
Das sieht dann in etwa so aus:
Code: Alles auswählen
with Printer do begin
Title := 'Messwert ' + DateiKopf.AuftragsNr + '-' + DateiKopf.LaufNr;
Orientation := poLandscape;
maxX := PageWidth;
maxY := PageHeight;
BeginDoc;
Kurfe(Canvas, True);
EndDoc;
end;
Wen man die Printer.pas anguckt sieht man, was für Funktionen man zur Verfügung hat.
XDPI und YDPI könnte man vielleicht auch für die Seitenrand-Berechnung brauchen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot