有关套打本论坛已有。见报表类。
搞一个外部文件,类似.ini文件,记录所有要打印内容的位置,
单位是0.1mm,打印时读出来。即使偏一点,运行时也可以调整。
0.1mm到Pixel的转换是:
RateX := MulDiv(GetDeviceCaps(Printer.Handle, LOGPIXELSX), 1000, 254);
RateY := MulDiv(GetDeviceCaps(Printer.Handle, LOGPIXELSY), 1000, 254);
PixelX := Muldiv(mmX, RateX, 1000);
PixelY := Muldiv(mmY, RateY, 1000);
做成函数最好。