关于票据打印,各位大大请看!!(50分)

D

dpzhou

Unregistered / Unconfirmed
GUEST, unregistred user!
类似于我们去移动缴费后的那种票据,格式定好了,我们在指定格式内填写内容!
我用的是ESPOSN LQ-1900K系列的打印机,在win2000+delphi下编程实现。
我用了大约如下的控制打印机走纸:
Printer.GetPrinter(Device,Driver,Port,hDMode);
if hDMode<>0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode<> nil then
begin
pDMode^.dmPaperSize := 256;
pDMode^.dmPaperLength:=1100;
//发票的长度和宽度
pDMode^.dmPaperWidth:=1920;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERLENGTH;
pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERWIDTH;
ResetDC(Printer.Handle,pDMode^);
GlobalUnlock(hDMode);
end;
end;
With Printerdo
begin
begin
Doc;
canvas.textout();
EndDoc;
但是第一页打印没有问题,但是到了第二页,我是连打的,第二页就偏移了许多,导致
一些项打印不到,不知道以上设置的控制还要怎么样进行更改,还望请教!!急呀。。!
 
你看一下这个,不知是否对你有用。
http://forum.vclxx.org/topic.asp?TOPIC_ID=21107&amp;FORUM_ID=9&amp;CAT_ID=2&amp;Topic_Title=WINDOWS2000%A4U%A6p%A6%F3%A6%DB%A9w%26%2320041%3B%A5%B4%A6L%26%2332440%3B%26%2324352%3B%A4j%A4p%A1H&amp;Forum_Title=WinAPI
 
TO ZRWeng
感谢你提供的方法,但是和我原来的做法是一样的就是说,还是会偏移,其实我的那个做法
和你所提供的方法是类似的。
现在我不知道是不是由于canvas.textout控制出现的问题
 
顶部