Niby było i to nie raz i nie dwa. W oparciu o wasze rady zrobilem ale nie dziala tak jak powinno na wszystkich drukarkach. Moze robie jakiś durny błąd??

Chlastam się z programem, który ma pomagać wypełniać jakieś badziewne druczki. Druczek wielkośći A5 różnie zadrukowuje się na róznych drukarkach. Zapisałem to w ten sposób:

procedure TForm1.Button1Click(Sender: TObject);
begin
DPIx:=GetDeviceCaps(Printer.Handle,LogPixelSX);
DPIy:=GetDeviceCaps(Printer.Handle,LogPixelSY);
Printer.Orientation:=poLandscape;

with Printer do
begin
BeginDoc;

Canvas.Font.Height:=round(DPIy/5);
Canvas.TextOut(round(DPIx*1.4),round(DPIy*0.95),vwojewodztwo);
Canvas.TextOut(round(DPIx*2.17),round(DPIy*1.22),vusc);
itd.................

parametry wytłuszczone dobieram eksperymentralnie (z cyklu jak pozbyć sie ryzy papieru , bo do pdf'a nie chce mi sie zaglądać). Jak to rozwiązać, coby na każdej drukarce wyglądało identycznie. Wg mnie powinno a nie wygląda. Hmmm.