C# winform 打印预览
1.第一種方法
使用PrintPreviewDialog控件進行顯示
? ? ? ? ? ? ? ? PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
? ? ? ? ? ? ? ? printPreviewDialog.ClientSize = new System.Drawing.Size(400, 300);
? ? ? ? ? ? ? ? printPreviewDialog.Location = new System.Drawing.Point(29, 29);
? ? ? ? ? ? ? ? printPreviewDialog.Name = "打印預覽";
? ? ? ? ? ? ? ? printPreviewDialog.MinimumSize = new System.Drawing.Size(375, 250);
? ? ? ? ? ? ? ? printPreviewDialog.UseAntiAlias = true;
? ? ? ? ? ? ? ? System.Drawing.Printing.PrintDocument document = new System.Drawing.Printing.PrintDocument();
? ? ? ? ? ? ? ? document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(document_PrintPage);
? ? ? ? ? ? ? ? printPreviewDialog.Document = document;
? ? ? ? ? ? ? ? printPreviewDialog.ShowDialog();
?? ? ? ? private void document_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
? ? ? ? {
? ? ? ? ? ? //顯示內容
? ? ? ? ? ? string text = "In document_PrintPage method.";
? ? ? ? ? ? //設置字體
? ? ? ? ? ? System.Drawing.Font printFont = new System.Drawing.Font("Arial", 35, System.Drawing.FontStyle.Regular);
? ? ? ? ? ? e.Graphics.DrawString(text, printFont, System.Drawing.Brushes.Black, 0, 0);
? ? ? ? }
其他操作可以參考文檔
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.printpreviewcontrol?view=netframework-4.0
2.如果預覽的是Excel文檔,則可以如下預覽
? ? ? ? public void PrintPriviewExcelFile(string filePath)
? ? ? ? {
? ? ? ? ? ? Microsoft.Office.Interop.Excel.ApplicationClass applicationClass = new Microsoft.Office.Interop.Excel.ApplicationClass();
? ? ? ? ? ? applicationClass.Visible = true;
? ? ? ? ? ? object missing = System.Reflection.Missing.Value;
? ? ? ? ? ? Microsoft.Office.Interop.Excel.Workbook xlWorkbook = applicationClass.Workbooks.Open(filePath, 0, true, 5, missing, missing, true, 1, missing, false, false, missing, false, missing, missing);
? ? ? ? ? ? Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Worksheets[1];
? ? ? ? ? ? worksheet.PrintPreview(null);
? ? ? ? ? ? applicationClass.Visible = false;
? ? ? ? ? ? worksheet = null;
? ? ? ? }
若調用這段代碼的時候顯示“無法嵌入互操作類型ApplicationClass,請改用試用的接口”,將Microsoft.Office.Interop.Excel的嵌入互操作性值改為false
總結
以上是生活随笔為你收集整理的C# winform 打印预览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# PrintDocument 打印
- 下一篇: C# Tif格式转Jpg