var
device:array[0..(cchdevicename-1)] of char;
driver:array[0..(max_path-1)] of char;
port:array[0..32] of char;
prnhd,hdmode:thandle;
pdmode:pdevmode;
pdevmodebytes,pcbNeeded : DWORD;
DevMode: PDeviceMode;
PrnHdc : HDC;
DocInfo : PDocInfo;
NEW:HGDIOBJ;
LogRec: TLOGFONT;
OldFont, NewFont: HFONT;
begin
printer.GetPrinter(device,driver,port,hdmode);
if hdmode<>0 then
begin
pdmode:=globallock(hdmode);
if pdmode<> nil then
begin
pdmode^.dmPaperSize:=256;
pdmode^.dmPaperLength:=705; //设置纸的长度
pdmode^.dmPaperWidth:=4500;
pdmode^.dmFields:=pdmode^.dmFields or dm_paperlength;
pdmode^.dmFields:=pdmode^.dmFields or dm_paperwidth;
resetdc(Printer.handle,pdmode^);
globalunlock(hdmode);
end;
end;
printer.BeginDoc;
with printer do
begin
canvas.Font.Height:=42;
canvas.Font.Name:='黑体';
canvas.MoveTo(0,0);
canvas.TextOut(450,0,'*************');
canvas.Font.Height:=28;
canvas.Font.Name:='宋体';
if x_xdh=99 then canvas.TextOut(270,20,'[*************]');
canvas.TextOut(120,20,'(005)');
canvas.Textout(850,20,'*************');
canvas.TextOut(100,55,'****:****');
canvas.TextOut(260,55,'*************');
canvas.TextOut(500,55,'*************');
canvas.Rectangle(100,90,1250,140);
canvas.MoveTo(260,90);
canvas.LineTo(260,140);
canvas.MoveTo(400,90);
canvas.LineTo(400,140);
canvas.MoveTo(660,90);
canvas.LineTo(660,140);
canvas.MoveTo(850,90);
canvas.LineTo(850,140);
canvas.MoveTo(960,90);
canvas.LineTo(960,140);
canvas.MoveTo(1100,90);
canvas.LineTo(1100,140);
canvas.TextOut(110,100,'*************');
canvas.TextOut(270,100,' *************');
canvas.TextOut(410,100,'*************');
canvas.TextOut(670,100,' *************');
canvas.TextOut(860,100,'*************');
canvas.TextOut(970,100,' *************');
canvas.TextOut(1110,100,' *************');
end;
printer.enddoc;
end;