退出软件,对打印机进行纸张设置试一下。

解决方案 »

  1.   

    你需要对打印机的纸张定义为自定义即可
      

  2.   

      我这里有段程序。你看看吧。控制打印机打印特种纸张的。
    procedure SetPrinter(W:Integer);
    var
      ADevice,ADriver,APort:array[0..255] of Char;
      DeviceHandle:THandle;
      DevMode:PDeviceMode;
    begin
      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('Could not initialize TDeviceMode Structure')
      else begin
        DevMode:=GlobalLock(DeviceHandle);
        DevMode^.dmFields:=DevMode^.dmFields or DM_PAPERLENGTH;
        DevMode^.dmPaperLength:=w;
        DevMode^.dmFields:=DevMode^.dmFields or DM_PAPERWIDTH;
        DevMode^.dmPaperWidth:=279;
        Quickreport1.Page.Length:=w;
        Quickreport1.Page.Width:=279;
      end;  if not(DeviceHandle = 0) then
        GlobalUnlock(DeviceHandle);
    end;