Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中对word文档进行彩色打印?_C#_Printing_Ms Word_Office Interop - Fatal编程技术网

如何在C#中对word文档进行彩色打印?

如何在C#中对word文档进行彩色打印?,c#,printing,ms-word,office-interop,C#,Printing,Ms Word,Office Interop,我想从特定文件路径打开现有Word文档,并以颜色自动打印它。然后可以再次关闭该文档。用户应该尽可能少地注意到,或者自己做 使用以下代码,我可以打印Word文档,但只能打印黑白。printOut()方法中显然没有“color”参数 有没有办法直接用彩色打印Word文档? 第一个想法再次被放弃: 使用程序打开打印预览并手动打印=>用户不必要的工作 强制转换PrintDocument(System.Drawing.Printing)=>仅适用于纯文本文件(.txt),不适用于COM对象 我认为它

我想从特定文件路径打开现有Word文档,并以颜色自动打印它。然后可以再次关闭该文档。用户应该尽可能少地注意到,或者自己做


使用以下代码,我可以打印Word文档,但只能打印黑白。printOut()方法中显然没有“color”参数

有没有办法直接用彩色打印Word文档?


第一个想法再次被放弃:

  • 使用程序打开打印预览并手动打印=>用户不必要的工作
  • 强制转换PrintDocument(System.Drawing.Printing)=>仅适用于纯文本文件(.txt),不适用于COM对象

我认为它属于打印机设置-以黑白或彩色打印-而不是word app或word文档。因此,请检查打印机设置。@VDN:对,打印机设置包含颜色属性。我可以创建PrinterSettings对象,但问题是我没有可以分配这些打印机设置的PrintDocument。Word使用默认打印机。默认打印机的设置(黑白与颜色)是Word将使用的设置。如果是默认打印颜色的彩色打印机,Word将打印颜色。我相信它属于打印机设置-以黑白或彩色打印-而不是Word app或Word文档。因此,请检查打印机设置。@VDN:对,打印机设置包含颜色属性。我可以创建PrinterSettings对象,但问题是我没有可以分配这些打印机设置的PrintDocument。Word使用默认打印机。默认打印机的设置(黑白与颜色)是Word将使用的设置。如果是默认打印颜色的彩色打印机,Word将打印颜色。
Word.Application myWordApp = new Word.Application() { Visible = true };
Word.Document testDoc = myWordApp.Documents.Open(FileName: filePath, ReadOnly: true, Visible: true);
testDoc.Activate();
object range = Word.WdPrintOutRange.wdPrintAllDocument;
testDoc.PrintOut(Background: true, Range: range, Copies: "1", Collate: true);