Mit Stretchdraw geht es auch nicht.
Das JPEG ist auch nicht zu klein.
Wenn ich statt auf das Canvas vom Drucker auf das Bitmap schreibe und dann drucke,
habe ich das gleiche Ergebnis: PDF ok, Blatt leer.
Speichere ich das veränderte Bitmap und drucke es dann, geht es auch auf dem Drucker!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| with bmp.canvas do begin
... Draw(0,0,Image1.Picture.Graphic);
Font.Name := 'Arial'; Font.Size := 27;
Textout(800,284,EditTurniername.Text); Textout(700,352,EditAusrichter.Text + ' / ' + EditTurnierort.text);
....
end;
bmp.SaveToFile(Programmpfad+'druck.bmp');
if PrintDialog1.Execute then begin Printer.Title := 'Meldeschein'; Printer.Orientation := poPortrait; Printer.BeginDoc; DruckerInitialisierung; Image1.Picture.LoadFromFile(Programmpfad+'druck.bmp'); Printer.Canvas.Draw(0, 0, Image1.Picture.Bitmap ); Printer.EndDoc; end; |
So ganz toll finde ich die Lösung aber nicht. Und außerdem möchte ich wissen,
warum ich nicht auf der Printer.Canvas Leinwand machen kann, was ich will
