Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# 如何使用Microsoft.Office.Tools.Word中的Document.PrintOut方法打印文档的第一页_C# - Fatal编程技术网

C# 如何使用Microsoft.Office.Tools.Word中的Document.PrintOut方法打印文档的第一页

C# 如何使用Microsoft.Office.Tools.Word中的Document.PrintOut方法打印文档的第一页,c#,C#,文件如下: 这将打印整个文档: Word.Application ap = new Word.Application(); Word.Document document = ap.Documents.Open(@"C:\temp\file.doc"); document.PrintOut(); 我以为在编译时我已经掌握了一些东西,但它不起作用: Word.Application ap = new Word.Application(); Word.Document docum

文件如下:

这将打印整个文档:

Word.Application ap = new Word.Application();
Word.Document document = ap.Documents.Open(@"C:\temp\file.doc");
document.PrintOut();
我以为在编译时我已经掌握了一些东西,但它不起作用:

Word.Application ap = new Word.Application();
Word.Document document = ap.Documents.Open(@"C:\temp\file.doc");
Word.WdPrintOutRange printRange = new Word.WdPrintOutRange();
document.PrintOut(false, false, printRange,false, 1, 2);
System.Runtime.InteropServices.COMException:'类型不匹配。(HRESULT的例外:0x80020005(显示类型不匹配))“

如何使用此方法仅打印文档的第一页


编辑:此URL()在VBA中显示了如何执行类似操作的示例,例如打印前3页,但它是在VB中,我不确定是否使用c#等效工具。

Word。WdPrintOutRange
是一个枚举值。而
wdPrintFromTo
用于范围选择

Word.WdPrintOutRange printRange = Word.WdPrintOutRange.wdPrintFromTo;
document.PrintOut(false, false, printRange, null, 1, 2);

我无法让range工作

我成功地实现了仅打印第一页(添加了一些边距并设置了页面大小):


这也产生了相同的错误:System.Runtime.InteropServices.COMException:'类型不匹配。(来自HRESULT:0x80020005(DISP_E_TYPEMISMATCH)的异常)“@user2924019尝试
文档打印输出(false、false、printRange、null、“1”、“2”)这也给出了相同的错误。不管怎样,谢谢你的帮助,这有点奇怪。
Word.Application ap = new Word.Application();
Word.Document document = ap.Documents.Open(randFile);

document.PageSetup.TopMargin = 50;
document.PageSetup.RightMargin = 50;
document.PageSetup.BottomMargin = 50;
document.PageSetup.LeftMargin = 50;
document.PageSetup.PaperSize = Word.WdPaperSize.wdPaperA4;

Word.WdPrintOutRange printRange = Word.WdPrintOutRange.wdPrintCurrentPage;

document.PrintOut(false,null,printRange);
document.Close(false, false, false);