【问题标题】:Office.Interop.Word - How to print the document on both sides?Office.Interop.Word - 如何双面打印文档?
【发布时间】:2015-03-25 00:30:36
【问题描述】:

我使用Word.Document.PrintOut 方法打印文档(批量打印)。如何双面打印文档?

在MS Word界面可以通过文件->打印->双面打印完成strong> 选项。

Word 2010、C#、.NET 3.5


非常感谢约翰的回答 (+1)!有我的研究结果:

  1. 我去了约翰推荐的第一条路,发现了一些额外的 文章,例如 CodeProject (Changing printer settings using C#) 上的“经典”文章和从中派生的 several others。最后,我 得到了用于设置 Duplex 属性的编译代码,但像许多 本文的其他“受害者” - 此代码不起作用:)
  2. 在 DocumentProperties API 失败后,我尝试将 打印命令,得到如下结果:

    • 我的办公打印机(Kyocera FS-C5100)成功打印了一份文件 两边,BUT都发疯了,开始把每一段都打印在一个 单独的表格...
    • 客户端打印机 (Xerox 3600) 显然是“不完全兼容 HP”,并且根本无法进行双面打印!

所以我的调查仍在继续,如果有人有其他想法 - 欢迎!

【问题讨论】:

    标签: c# printing office-interop


    【解决方案1】:

    HOWTO: Set Duplex Printing for Word Automation 上有一篇 Microsoft 知识库文章,遗憾的是它不是您设置的简单属性。它是 VB 代码,但它应该很容易转换为 C#。

    如果您知道自己使用的是 PCL 兼容打印机,则可以在文档中使用打印命令强制它为双面打印。当您需要在单面和双面中间文档之间切换时,这非常有用。您可以在文档的标题中添加一个字段,然后将 27"&l1S" 或 27"&l2S" 分别用于双工长和双工短。可从Microsoft KB article.获得完整的 PCL 打印命令列表

    【讨论】:

    • 谢谢@John!它看起来像真正的解决方案! :) 我明天上班试试,把我得到的写下来!
    【解决方案2】:

    问题无法直接解决,但可以实施变通方法。

    一个“物理”打印机应在客户端系统上安装多次,以便在打印机列表中以不同的名称列出两次。

    此外,这些“打印机”之一必须配置为双面打印,第二个配置为正常 - 单面打印。根据应用程序的需要,它会选择两个“打印机”之一来打印文档。

    【讨论】:

      【解决方案3】:

      在 ManualDuplexPrint 参数设置为 true 的情况下调用 Microsoft.Office.Interop.Word.Document 对象的 PrintOut() 方法。

      【讨论】:

      • 这太容易了 :) 我知道这个选项,并尝试使用它 - 没有效果。您必须在自动双面打印模式下使用它进行双面打印吗?
      猜你喜欢
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多