打印其实和在画布写东西是一样的。printer.canvas.textout();写好位置,写好text就可以了。至于换页更简单了,先得到当前打印机支持的宽度,高度。然后如果大于打印机支持的高度的话就打印下一页。

解决方案 »

  1.   

    你是说 if 最大坐标>=纸的最大坐 then
               Printer.NewPage ?
    一个打印任务肯定要有BeginDoc/EndDoc,一旦有了EndDoc,它就自动出纸了。
      

  2.   

    不换页,就是在下一行写吗!
    你只要
    y:=n*10;
    printer.canvas.textout(x,y,str);每一次把上一次的高度记下就可以了。然后把(x,y,str)中y的值换上新的高度不就行了?