2016-12-16 180 views
-2

我創建在其中,我使用外部類打印dataGridView C#應用程序在C#文件。與這個類我能夠打印文檔PDF,但我無法將文件保存到磁盤。我知道這可以通過printDocument1.PrinterSettings.PrintToFile=trueprintDocument1.PrinterSettings.PrintFileName = path來實現,但正如我所提到的那樣,我正在使用外部類,因爲我無法做到這一點。我張貼代碼,我正在使用打印網格和外部類的鏈接也張貼。請幫我如何根據我的需要調整這個打印使用打印文檔

DGVPrinter printer = new DGVPrinter(); 
     //if (tbReportSchoolName.Text == string.Empty) 
     //{ 
      printer.Title = "The Punjab School"; 
     //} 
     //else { printer.Title = tbReportSchoolName.Text.Trim(); } //school name 
     //if (tbReportHeader.Text == string.Empty) 
     //{ 
      printer.SubTitle = "Absent Student Report | " + dtpTo.Value.ToShortDateString(); 
     //} 
     //else { printer.SubTitle = tbReportHeader.Text.Trim() + "|" + dtpTo.Value.ToShortDateString(); } 


     printer.SubTitleFormatFlags = StringFormatFlags.LineLimit | StringFormatFlags.NoClip; 

     printer.PageNumbers = true; 
     printer.PageNumberInHeader = false; 
     printer.PorportionalColumns = true; 
     printer.HeaderCellAlignment = StringAlignment.Near; 
     //if (tbReportFooter.Text == string.Empty) 
     //{ 
      printer.Footer = "Allied School, A Project of Punjab Group of Colleges."; 
     //} 
     //else { printer.Footer = tbReportFooter.Text.Trim(); } 
     printer.FooterSpacing = 15; 
     printer.PrintDataGridView(reportGrid); 

類名是DGVPrinter和網格的名字是DGV 鏈接類:

https://drive.google.com/file/d/0BwBxpfm3kmmgci1aSnZ6T0RudGc/view

+1

你可以安裝一個PDF打印機。 – lordkain

+0

感謝回覆@lordkain,但我正在創建一個自動化應用程序。像這樣會自動保存在磁盤上的文件,而無需用戶點擊 – Axad

+0

我只需要粘貼這兩行代碼的幫助,我不知道在課堂上我必須發佈解決我的問題 – Axad

回答

0

我沒有看到任何代碼已經被寫入將DGVPrinter類打印爲PDF或文件。它具有屬性AllowPrintToFile屬性,但無處不在類中使用。你應該擴展此類寫上自己或者你可以嘗試像下面其他插件:

How to export PDF from data of datagrid?

http://www.aspsnippets.com/Articles/Export-Windows-Forms-DataGridView-to-PDF-using-iTextSharp-C-and-VBNet.aspx

+0

是沒有PDF文件的代碼,但有使用printDocument類進行打印的代碼,並且您知道printDocument具有名爲printDocument.PrintToFile的屬性,該屬性將文件保存在磁盤中。請幫我使用該屬性 – Axad

+0

好的,我進一步閱讀MSDN文檔,發現沒有可能以編程方式執行此操作。請參閱以下鏈接: https://msdn.microsoft.com/en-us/library/system.drawing.printing.printersettings.printtofile(v=vs.110).aspx _ PrintToFile屬性僅用於PrintDialog並不能以編程方式設置。當PrintDialog.AllowPrintToFile屬性設置爲true時,Print to file選項僅出現在PrintDialog上。 – sankar