简体   繁体   English

使用c#打印word文档

[英]Print word document using c#

I have this code to open a word file 我有这个代码来打开一个word文件

int num = 0;
object fileName = FD.FileName;
object readOnly = false;
object isVisible = false;
object missing = System.Reflection.Missing.Value;

Word.Application WordApp = new Word.Application();
Word.Document aDoc = null;
WordApp.Visible = false;

aDoc = WordApp.Documents.Open(ref fileName,
                              ref missing, 
                              ref readOnly,
                              ref missing,
                              ref missing, 
                              ref missing, 
                              ref missing,
                              ref missing, 
                              ref missing,
                              ref missing,
                              ref missing, 
                              ref isVisible,
                              ref missing,
                              ref missing, 
                              ref missing, 
                              ref missing);

Word.WdStatistic stat = Word.WdStatistic.wdStatisticPages;
num = aDoc.ComputeStatistics(stat, ref missing);

label3.Text = "Page Count :"+aDoc.ComputeStatistics(stat, ref missing).ToString();
GC.Collect();

Now, I want to print the opened word file on the click event of a button, Any idea? 现在,我想在按钮的点击事件上打印打开的word文件,不知道吗?

Quick tip (not relevant to your topic but actually C#): there's no need to write out optional parameters as you did above, you can use ParameterName: parameter to specify a parameter to a optional parameter. 快速提示(与您的主题无关,但实际上与C#相关):不需要像上面那样写出可选参数 ,您可以使用ParameterName: parameter为可选参数指定参数。

Quick answer: use Document.PrintOut() method to print the current document. 快速回答:使用Document.PrintOut()方法打印当前文档。 For more details about the parameters, you can take a look at MSDN site and this site for a hand-on tutorial. 有关参数的更多详细信息,您可以查看MSDN站点此站点以获取实用教程。

Here is a simple demo: 这是一个简单的演示:

public class YourClass : Form
{
    private Word.Application word = new Word.Application {Visible = false};
    private Word.Document doc;
    // where did you get this file name?
    private string fileName;

    private void Count()
    {
        // as you mentioned, you open your word document here
        doc = word.Documents.Open(fileName, ReadOnly : readOnly, Visible: isVisible);
    }

    // in your button click handler, just call PrintOut() function
    private void ButtonClickHandler(object sender, EventArgs e)
    {
        // if doc == null, open the document
        if (doc == null)
        {
            // here i assume fileName has been assigned
            doc = word.Documents.Open(fileName, ReadOnly : readOnly, Visible: isVisible);
        }

        doc.PrintOut();
    }
}

Use the RawPrintHelper. 使用RawPrintHelper。 Follow the link below: 请点击以下链接:

http://support.microsoft.com/kb/322091 http://support.microsoft.com/kb/322091

below is the code to send file to the printer for printing: 以下是将文件发送到打印机进行打印的代码:

//Send file for Printing
RawPrinterHelper.SendFileToPrinter(PrinterName, FileName);

//Send string to print
RawPrinterHelper.SendStringToPrinter(PrinterName, sData);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM