2016-12-16 28 views
-2

私は外部クラスを使用してdataGridViewを使用しているC#アプリケーションを作成しています。このクラスでは、私は文書pdfを印刷することができますが、私はディスクにファイルを保存することができません。私はこれがprintDocument1.PrinterSettings.PrintToFile=trueprintDocument1.PrinterSettings.PrintFileName = pathによって達成できることを知っているが、私はそれを行うことができないために私は外部クラスを使用していると述べた。私はグリッドを印刷するために使用しているコードを掲示しており、外部クラスへのリンクも掲載されています。印刷ドキュメントを使用してC#でファイルに印刷

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

+1

あなたはPDFプリンタをインストールすることができます。 – lordkain

+0

reply @ lordkainに感謝しますが、私は自動化されたアプリケーションを作成しています。このように、ユーザーのクリックなしでディスク上にファイルを自動的に保存します – Axad

+0

私はちょうどそれらの2行のコードを貼り付けるのに役立つ必要があります、私は私の問題を解決するために投稿する必要がありますかわからない – Axad

答えて

0

私は、任意のコードが書き込まれている参照していけない:私の必要性

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 のリンクであるに応じてこれを調整する方法を私を助けてくださいPDFまたはFileに出力するDGVPrinterクラス。 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

OK、私はさらにMSDNドキュメントを読んで、これをプログラムで行う可能性はないことを発見しました。以下のリンクを参照してください。 https://msdn.microsoft.com/en-us/library/system.drawing.printing.printersettings.printtofile(v=vs.110).aspx _ PrintToFileプロパティは、 PrintDialogをプログラムで設定することはできません。 [ファイルに印刷]オプションは、PrintDialog.AllowPrintToFileプロパティがtrueに設定されている場合にのみPrintDialogに表示されます。 – sankar