我现在想让打印机(LQ-300K)根据一页纸的内容多少在靠近数据底部合适的地方切纸,
比如我打了1/3,我想在距1/3处附近切纸。这样可以节省纸张。不知哪位大侠肯出手相助

解决方案 »

  1.   

    这个要自己设置自定义纸张来实现的~~
    点开始==>打印机和传真==>文件==>服务器属性==>创建新格式==>根据自己需要的尺寸设置纸张==>起个格式名字保存~~
    以后打印的时候套用此纸张格式即可~~
      

  2.   

    //增加规格自定义纸张 
    //PaperName: 自定义纸张名称 
    //PaperWidth: 纸张的宽度,以0.1mm为单位 
    //PaperLength: 纸张的高度,以0.1mm为单位 
    procedure TDM.AddCustomPaper(const PaperName: string; PaperWidth, PaperLength:integer); 
    var 
    PrintDevice, PrintDriver, PrintPort : array[0..255] of Char; 
    hDMode   : THandle; 
    hPrinter : THandle; 
    FormInfo : TFormInfo1; 
    begin 
    Printer.GetPrinter(PrintDevice, PrintDriver, PrintPort, hDMode); 
    OpenPrinter(PrintDevice, hPrinter, nil); 
    if hPrinter = 0 then 
    raise Exception.Create(联接打印机失败!); with FormInfo do 
    begin 
    Flags := FORM_USER; 
    pName := PChar(PaperName); 
    Size.cx := PaperWidth*100; 
    Size.cy := PaperLength*100; 
    ImageableArea.Left := 0; 
    ImageableArea.Top := 0; 
    ImageableArea.Right := PaperWidth*100; 
    ImageableArea.Bottom := PaperLength*100; 
    end; //修改纸型,如果没有就新增 
    if not SetForm(hPrinter, PChar(PaperName), 1, @FormInfo) then 
    AddForm(hPrinter, 1, @FormInfo); ClosePrinter(hPrinter); 
    end; //删除自定义规格纸张 
    //PaperName: 自定义纸张名称 
    procedure TDM.DeleteCustomPaper(const PaperName: string); 
    var 
    PrintDevice, PrintDriver, PrintPort : array[0..255] of Char; 
    hDMode   : THandle; 
    hPrinter : THandle; 
    begin 
    Printer.GetPrinter(PrintDevice, PrintDriver, PrintPort, hDMode); 
    OpenPrinter(PrintDevice, hPrinter, nil); 
    if hPrinter = 0 then 
    raise Exception.Create(联接打印机失败!); 
    DeleteForm(hPrinter, PChar(PaperName)); 
    ClosePrinter(hPrinter); 
    end; 
      

  3.   

    佳能牌子很不错的~~顶一下~~~听说佳能最近又推出三款机型~炫飞CP770,佳能es3,佳能es30,便携带,而且都是染料热升华打印 .大家都去看看~~~