C# 列印 word pdf PrintOut方法

來源:互聯網
上載者:User

 

//要列印的檔案路徑
            object wordFile = lstDoc.SelectedValue.ToString();//@"c:\test.doc";
            object oMissing = Missing.Value;

            //自訂object類型的布爾值
            object oTrue = true;
            object oFalse = false;
            object Copies = nudCopies.Value; //列印份數
            object wdPrintFrom = txtPage1.Text;//列印的起始頁碼
            object wdPrintTo = txtPage2.Text;//列印的結束頁碼

            object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;

            //定義WORD Application相關
            Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();

            //WORD程式不可見
            appWord.Visible = false;
            //不彈出警告框
            appWord.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;

            //先儲存預設的印表機
            string defaultPrinter = appWord.ActivePrinter;

            //開啟要列印的檔案
            Microsoft.Office.Interop.Word.Document doc = appWord.Documents.Open(
                ref wordFile,
                ref oMissing,
                ref oTrue,
                ref oFalse,
                ref oMissing, ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing,ref oMissing,ref oMissing, ref oMissing);

            //設定指定的印表機
            appWord.ActivePrinter = cboInstalledPrinters.SelectedText; //"\\\\10.10.96.236\\HP Deskjet 6500 Series";

            //列印
            doc.PrintOut(
                ref oTrue, //Background 此處為true,表示後台列印
                ref oFalse,
                ref oMissing, //Range 頁面範圍
                ref oMissing,
                ref wdPrintFrom, //當 Range 設定為 wdPrintFromTo 時的起始頁碼
                ref wdPrintTo,//當 Range 設定為 wdPrintFromTo 時的結束頁碼
                ref oMissing,
                ref Copies,  //要列印的份數
                ref oMissing,ref oMissing, ref oMissing , ref oMissing, ref oMissing,ref oMissing, ref oMissing,ref oMissing, ref oMissing, ref oMissing);

            lblMessage.Text = "正在列印,請稍候!";

            //列印完關閉WORD檔案
            doc.Close(ref doNotSaveChanges, ref oMissing, ref oMissing);

            //還原原來的預設印表機
            appWord.ActivePrinter = defaultPrinter;

            //退出WORD程式
            appWord.Quit(ref oMissing, ref oMissing, ref oMissing);

            doc = null;
            appWord = null;

            lblMessage.Text = "列印成功!";

 

 

參數

Background

如果為 true,則可以讓自訂項代碼在 Microsoft Office Word 列印文檔時繼續工作。

Append

如果為 true,則會將文檔追加到 OutputFileName 參數指定的檔案;如果為 false,則會改寫 OutputFileName 的內容。

Range

頁面範圍。可以是任何 WdPrintOutRange 值。

OutputFileName

如果 PrintToFile 為 true,則此參數指定輸出檔案的路徑和檔案名稱。

From

當 Range 設定為 wdPrintFromTo 時的起始頁碼。

To

當 Range 設定為 wdPrintFromTo 時的結束頁碼。

Item

要列印的項。可以是任何 WdPrintOutItem 值。

Copies

要列印的份數。

Pages

要列印的頁碼和頁碼範圍,由逗號分隔。例如,“2, 6-10”意為列印第 2 頁和第 6、7、8、9、10 頁。

PageType

要列印的頁面的類型。可以是任何 WdPrintOutPages 值。

PrintToFile

如果為 true,則將印表機指令發送到檔案。請確保使用 OutputFileName 指定一個檔案名稱。

Collate

在列印多份文檔時,如果為 true,則先列印該文檔的所有頁,然後再列印下一份。

ActivePrinterMacGX

此參數僅在 Microsoft Office Macintosh Edition 中可用。有關此參數的其他資訊,請查詢 Microsoft Office Macintosh Edition 附帶的語言參考說明。

ManualDuplexPrint

如果為 true,則在沒有雙面列印裝置的印表機上列印雙面文檔。如果此參數為 true,則忽略 PrintBackground 和 PrintReverse 屬性。使用 PrintOddPagesInAscendingOrder 和 PrintEvenPagesInAscendingOrder 屬性在手動進行雙面列印時控制輸出。您可能無法使用此參數,具體取決於您選擇或安裝的語言支援(例如,美國英語)。

PrintZoomColumn

希望 Word 在一頁上水平布置的頁數。可以為 1、2、3 或 4。與 PrintZoomRow 參數一起使用時可在單張紙上列印多頁。

PrintZoomRow

希望 Word 在一頁上垂直布置的頁數。可以為 1、2 或 4。與 PrintZoomColumn 參數一起使用時可在單張紙上列印多頁。

PrintZoomPaperWidth

希望 Word 將列印頁縮放到的寬度(以緹表示,20 緹 = 1 磅,72 磅 = 1 英寸)。

PrintZoomPaperHeight

希望 Word 將列印頁縮放到的高度(以緹表示,20 緹 = 1 磅,72 磅 = 1 英寸)。

備忘

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.