我在做一个证书打印的程序,证书是现成的,打印的功能就是将原来手工填写的东西,全部打印出来,其他的文字不打印。
就像银行打印存折,电信局打印花费单一样。
求助各位高人!

解决方案 »

  1.   

    这就是普通的套打问题,其实就是对格子。和普通打印不同的是位置士定死的,建议在最开始先连线一起打印出来,这和一般的打印没什么不同,然后等所有的位置都和印刷好的票样对上后再删除所有不需打印的线条和文字,只剩余需要打印的就可以了。这个不难,只要心细就行了,我用quickrep已经做了数十个套打发票了,呵呵
      

  2.   

    刚刚好,我做了一个这方面的通用程序.其实很简单的,当然,这个就用不着什么控件了.直接用PRINT打印输出就好了.问题是,你需要做模板.首先,你可以写一个PRINT的过程或者函数,输入参数是打印的文本和位置,比如OWERPRINT(X,Y,'PRINTTEXT')这样的一个函数,就是将PRINTTEXT输出到(X,Y).这样就好了.然后,根据模板上的控件信息打印.比如:你的模版是.XXX被评为我校三好学生,其中"被评为我校三好学生"是不需要打印的,在程序中是LABEL控件显示的,而XXX是可以输入的,在程序中是用TEXT控件输入的,你可以用这样的语句来做for I := Form.ControlCount - 1 downto 0 do
    if Form.Controls[I] is TText
    then OwerPrint((Form.Controls[I] as TText).Left,(Form.Controls[I] as TText).Top,(Form.Controls[I] as TText).Text);这样的话就可以搞顶了。就是这种思路。一定要记得给分我啊!否则的话,以后就不交你们啦!