WORD转XPS格式

来源:互联网 发布:天津优化公司 编辑:程序博客网 时间:2024/06/10 21:56

using oWord = Microsoft.Office.Interop.Word;

 

 private void button1_Click(object sender, EventArgs e)
        {

            if(this.openFileDialog1.ShowDialog()!=DialogResult.OK)
            {
                return;
            }
            string strWordFile = openFileDialog1.FileName;

            PrintWord(strWordFile);

 

        }
        public void PrintWord(string wordfile)
        {
            oWord.ApplicationClass word = new oWord.ApplicationClass();
            Type wordType = word.GetType();

            //打开WORD文档
            oWord.Documents docs = word.Documents;
            Type docsType = docs.GetType();
            object objDocName = wordfile;
            oWord.Document doc = (oWord.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { objDocName, true, true });

            //打印输出到指定文件
            //可以使用 doc.PrintOut();方法,次方法调用中的参数设置较繁琐,建议使用 Type.InvokeMember 来调用时可以不用将PrintOut的参数设置全,只设置4个主要参数
            Type docType = doc.GetType();

            object printFileName = wordfile + ".xps";//生成的XPS文件的位置,此处还有.doc?
            docType.InvokeMember("PrintOut", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { false, false, oWord.WdPrintOutRange.wdPrintAllDocument, printFileName });

            //退出WORD
            wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
        }

原创粉丝点击