zoukankan      html  css  js  c++  java
  • 终于部分解决了.NET Drawing.Printing中自定义PaperSize的问题

    折磨我一周的问题总算解决了
    现在项目需要打印各种帐单 打印机都是LQ-1600KIII针式打印机
    因为每种账单大小不同,主要是纸高度不同
    所以要控制打印一张的打印机卷纸长度

    最开始这样设置

    printDoc.DefaultPageSettings.PaperSize=new PaperSize("custom",949,300);


    不成功

    后来想想 是不是打印机必须添加custom这种纸才行呢,
    所以到打印机和传真文件夹-->右键-->服务器属性
    添加了自己定义的纸类型 名称949W300H 宽9.49in,高3.00in
    然后程序修改为
    printDoc.DefaultPageSettings.PaperSize=new PaperSize("949W300H",949,300);
    但是还是不行

    这样耽误了n天,到处试验,今天忽然想起来是不是new PaperSize不行呢
    所以改了程序为

    foreach(PaperSize ps in printDoc.PrinterSettings.PaperSizes)
    {
     
    if(ps.PaperName=="949W300H")
     {
      printDoc.PrinterSettings.DefaultPageSettings.PaperSize
    =ps;
      printDoc.DefaultPageSettings.PaperSize
    =ps;
     }
    }


    就可以了 似乎纸张只能从printDoc.PrinterSettings.PaperSizes中选择
    ....
    问题虽然解决了
    但是还是要用户添加各种帐单的纸张,毕竟账单种类很多
    用户都要通过打印机和传真文件夹-->右键-->服务器属性 来添加
    有没有办法程序直接控制,而不用添加自定义纸张呢

    我看Word是有这个功能的,可以打印的时候随便指定纸张大小,而不用添加自定义纸张类型

    那位高手指点一下 谢谢了

    另外一篇手工设置发票打印的《发票打印不全不完整的解决方案(Win10)》,开发的同学不用看了...跟代码没有一点关系。。

  • 相关阅读:
    根据出生日期来计算年龄
    tomcat 7 7.0.73 url 参数 大括号 {} 不支持 , 7.0.67支持
    hdu 1272(并查集)
    hdu 1558(计算几何+并查集)
    hdu 1856(hash+启发式并查集)
    hdu 1598(最小生成树)
    poj 3164(最小树形图模板)
    hdu 2489(状态压缩+最小生成树)
    hdu 3371(启发式合并的最小生成树)
    hdu 1301(最小生成树)
  • 原文地址:https://www.cnblogs.com/wormday/p/302635.html
Copyright © 2011-2022 走看看