在我程序中,我需要控制程序的走纸,就是说,我打印的是小票,纸张在打印完一张小票后,打印停止,但是纸张不会继续走,而是纸张也停下,请问谁有这方面的经验,给点帮助~!
解决方案 »
- 一个很简单的问题,希望能帮我解决。
- PageControl中Form输入操作会频繁出现失去焦点,edit等输入框无法输入
- 还是读取varbinary的问题,有人帮一下吗?
- 100分求解 用madCodeHook Hook Send和Recv的问题
- 文件没办法传输...是什么原因
- 积思广益,金雀软件邀你出谋划策
- 想用Delphi编一个ADSL计费软件,如何着手
- 能不能设计一个通用模块,能用它检测到程序中某指定变量的值?
- DELPHI中有类似于C中的STL的类吗?
- 给新手的,Delphi的Multi-Tier结构程序开发基础教程(一)
- “Project mis.exe raised exception class Eaccessviolation with message 'access violation at address 004d44dd in modul'mis.exe'.
- 不信没人会!再问:Delphi中的汉字怎样用数字确定表示的?就像字母a对应ASC码97一样
如果你用的是报表生成器, 如Qreport, 你必须定义好纸张的尺寸
第一种:直接输出到打印机的画布,见程序示例(头文件中加入Printers)。
printer.BeginDoc;
LeftBlank:=0.4;
TopBlank:=0;
Top:=TopBlank;
InWidth:=7.4;
OutHeight:=7;
Rowheight1:=0.63;
Rowheight2:=2.93;
s:='塞外飞鹄';
pointX:=Trunc(getdevicecaps(printer.handle,logpixelsx)/2.54);
pointY:=Trunc(getdevicecaps(printer.handle,logpixelsy)/2.54);
printer.Canvas.Font.name:='宋体';
printer.PageHeight;
printer.PageWidth;
TopBlank:=Top+Count*OutHeight;
with Printer.Canvas do begin
Font.Size:=10;
TextOut(trunc((LeftBlank+2.5)*PointX),trunc(TopBlank*PointY+(RowHeight1*PointY-TextHeight(s))/2),s);
end;
end;
Printer.EndDoc;
第二种:
1、将打印机纸张设为自定义大小,报表设为自定义大小,以像素为单位。
2、在打印时动态确定报表长度。
FrmReport.Quickrep1.Page.Length=80;
FrmReport.Print;