向各位老师求教一个问题,请问delphi6怎么实现自定义打印,打印机分机光和针式两种,谢谢!
各位老师最好能说得清楚些,最好有个例子。谢谢您了!!
各位老师最好能说得清楚些,最好有个例子。谢谢您了!!
解决方案 »
- fastreport
- 动态设置组件的属性和调用其方法,请高手指教
- 请问:[Fatal Error] WinSa.dpr(67): Unit StdActns was compiled with a different version of StrUtils.TStringSearchOptions错误
- Delphi中Webbrowser如何提交Frame内的表单?
- TEmbeddedWB的QueryService事件是做什么用的?
- 怎么写这句SQL语句?
- 为什么报表上不能显示数据
- codegear.com.cn寻求合理的使用者
- 数据的一致性问题
- 请问有没有人用过FFT变换求频率和幅值的???急急急!!!
- 问一个很菜的问题~~
- txt文件导入Access的问题
如果你用的是QUICKREPORT,OS是2000以上的话,强烈建议你不要把QUICKREPORT的纸张类型设成CUSTOM,因为你设了也没用!应该设为DEFAULT然后再到OS中新建或是选择一种纸张
BirthMonth1,BirthDay1,Country1,identity1,Name2,Sex2,BirthYear2,
BirthMonth2,BirthDay2,Country2,identity2,CreateYear,CreateMonth,CreateDay:String);
var
PrintX,PrintY,PrintStep,X,Y:Integer;
Begin
Printer.Orientation := poLandscape;
PrintX:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/2.54);//360
PrintY:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSY)/2.54);//360
Printer.Canvas.Font.Name:='楷体_GB2312';
Printer.Canvas.Font.Size:=13;
Printer.Canvas.Font.Style:=[];
PrintStep:=Trunc(0.65*PrintY);
Printer.BeginDoc; X:=Trunc(2.5*PrintX);
Y:=Trunc(10.65*PrintY);
Printer.Canvas.TextOut(x,y,CertName); X:=Trunc(5.8*PrintX);
Printer.Canvas.TextOut(x,y,CertId);
//X:=Trunc(4.2*PrintX);
X:=Trunc(5*PrintX);
Y:=Trunc((3.45+8.2)*PrintY);
Printer.Canvas.TextOut(x,y,Name1);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,Sex1);
Y:=Y+PrintStep+Trunc(0.1*PrintY);
//X:=X-Trunc(0.1*PrintX);
X:=X-Trunc(1.1*PrintX);
Printer.Canvas.TextOut(x,y,BirthYear1);
//X:=X+Trunc(1.35*PrintX);
X:=X+Trunc(1.55*PrintX);
Printer.Canvas.TextOut(x,y,BirthMonth1);
X:=X+Trunc(1.2*PrintX);
Printer.Canvas.TextOut(x,y,BirthDay1);
//X:=Trunc(4.2*PrintX);
X:=Trunc(3.9*PrintX);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,Country1);
Y:=Y+PrintStep+Trunc(0.09*PrintY);
Printer.Canvas.TextOut(x,y,identity1); X:=Trunc(5*PrintX);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,Name2);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,Sex2);
Y:=Y+PrintStep+Trunc(0.1*PrintY);
//X:=X-Trunc(0.1*PrintX);
X:=X-Trunc(1.1*PrintX);
Printer.Canvas.TextOut(x,y,BirthYear2);
//X:=X+Trunc(1.35*PrintX);
X:=X+Trunc(1.55*PrintX);
Printer.Canvas.TextOut(x,y,BirthMonth2);
X:=X+Trunc(1.2*PrintX);
Printer.Canvas.TextOut(x,y,BirthDay2);
//X:=Trunc(4.2*PrintX);
X:=Trunc(3.9*PrintX);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,Country2);
Y:=Y+PrintStep;
Printer.Canvas.TextOut(x,y,identity2); Y:=Trunc((17.45)*PrintY);
X:=Trunc(13.6*PrintX);
Printer.Canvas.TextOut(x,y,CreateYear);
X:=Trunc(15.15*PrintX);
Printer.Canvas.TextOut(x,y,CreateMonth);
X:=Trunc(16.15*PrintX);
Printer.Canvas.TextOut(x,y,CreateDay); Printer.EndDoc;End;
这是我作结婚打印时的代码。你看看吧,有问题加QQ:270726628
用Delphi的TPrinter对象就足够了。