//得到最大的纸张尺寸
procedure TfrmPrint.getMaxPageSize;
var
MaxPage:integer;
szDriver,szDeviceName,szPort:String;//Array[0..255] of char;
DM:THandle;
begin
SetLength(szDeviceName,256);
SetLength(szDriver,256);
SetLength(szPort,256);
Printer.GetPrinter(PChar(szDeviceName),PChar(szDriver),PChar(szPort),DM);
if DM = 0 then
Raise Exception.Create('不能初始化打印机!');
MaxPage:=DeviceCapabilities(PChar(szDeviceName), PChar(szPort), DC_MAXEXTENT,nil,nil);
//DC_MAXEXTENT改为DC_MINEXTENT就可以获得最小尺寸
PageMaxWidth:=LOWORD(MaxPage);
PageMaxHeight:=HIWORD(MaxPage);
end;