终于部分解决了.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;
}
}
{
if(ps.PaperName=="949W300H")
{
printDoc.PrinterSettings.DefaultPageSettings.PaperSize=ps;
printDoc.DefaultPageSettings.PaperSize=ps;
}
}
就可以了 似乎纸张只能从printDoc.PrinterSettings.PaperSizes中选择
....
问题虽然解决了
但是还是要用户添加各种帐单的纸张,毕竟账单种类很多
用户都要通过打印机和传真文件夹-->右键-->服务器属性 来添加
有没有办法程序直接控制,而不用添加自定义纸张呢
我看Word是有这个功能的,可以打印的时候随便指定纸张大小,而不用添加自定义纸张类型
那位高手指点一下 谢谢了
另外一篇手工设置发票打印的《发票打印不全不完整的解决方案(Win10)》,开发的同学不用看了...跟代码没有一点关系。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)