不会有那么复杂吧,一定是你的纸张设置的问题
1.点击开始,设置,打印机,把纸张选为A3或自定义
2.在你的程序里放一个打印机设置控件,在控件里设置打印机纸宽为A3
3.如果是自定义打印机纸张,进行如上设置(纸宽30厘米,纸长20厘米)
printer.GetPrinter(ADevice,Adriver,APort,DeviceHandle);
if DeviceHandle=0 then
begin
Printer.PrinterIndex:=Printer.PrinterIndex;
Printer.GetPrinter(ADevice,Adriver,APort,DeviceHandle);
end;
if DeviceHandle=0 then
Raise Exception.Create('不能初始化打印机!')
else
DevMode:=GlobalLock(DeviceHandle);
if DeviceHandle<>0 then
begin
with DevMode^do
begin
dmFields:=dmFields or DM_PAPERWIDTH;
dmPaperWidth:=3800;
dmPaperLength:=2800;
end;
end;