【问题标题】:.net Printing with staple.net 用订书钉打印
【发布时间】:2016-02-03 15:22:27
【问题描述】:

在我的项目中,我必须打印具有不同设置的图像文件列表 (.png),我可以使用本机 .Net System.Drawing.Printing.PrintDocument 类毫无问题地做到这一点:

  • PrintDocument.DefaultPageSettings.横向允许我更改方向
  • PrintDocument.DefaultPageSettings.PaperSize 允许我更改要使用的纸张大小
  • PrintDocument.DefaultPageSettings.双面打印允许我更改双面打印模式

我唯一不能做的是定义装订属性? 在花了很多时间搜索之后,我对如何做到这一点感到非常失望:

  • 是否可以使用 PrintDocument 类及其子类来做到这一点??
  • 我必须使用MSDN article 中所述的 PrintTicket 吗?

但如果解决方案是使用打印票类,我还有两个问题:

  1. 如何附加现有图像文件的打印(使用打印作业、PrintDocument ???)
  2. 这些类是否仅可用于使用 XPS 文档?

重要限制:没有 GUI(因为程序以批处理模式打印大量文件),因此用户无法交互更改装订选项。

【问题讨论】:

  • 装订选项是一种自定义的打印机设备驱动程序选项,它不被 Windows 打包。用户通常会使用控制面板 > 设备和打印机 > 右键单击​​打印机 > 打印首选项。如果这需要为每个打印作业进行配置,那么您可以使用 PrintDialog 类,它的 Preferences 按钮公开相同的属性表。
  • @HansPassant : 抱歉,我没有提到不允许用户更改设置的 gui,抱歉

标签: c# printing printdocument


【解决方案1】:

最后,经过几个小时的搜索,我找到了获取和设置特定打印机设置的正确答案。

感谢Good Article,我明白为了获取/设置打印机的所有设置,我必须处理打印机的 DevMode 结构。

缺点:

  • DevMode 结构特定于驱动程序,也特定于操作系统
  • 您必须为要更改的每个参数维护一个 DevMode 地址列表

好处:

  • 您可以访问打印机提供的所有功能(甚至在 T 恤上打印,或保存模式......)
  • 链接中的项目显示了一个小界面,用于获取/设置/检查使用 Pinter Dialog Settings 窗口更改了哪些参数。因此,您可以通过动态更改代码轻松地进行 yan

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 2010-10-08
    • 2011-07-14
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多