Печать в файл в C# с помощью Print Document
Я создаю приложение C#, в котором я использую внешний класс для печати dataGridView
, с этим классом я могу распечатать документ PDF, но я не могу сохранить файл на диск. я знаю, что это может быть достигнуто printDocument1.PrinterSettings.PrintToFile=true
а также printDocument1.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 ответ
Я не вижу никакого кода, написанного в классе DGVPrinter для печати в PDF или в файл. Он имеет свойство AllowPrintToFile, но нигде не используется в классе. Вы должны написать его самостоятельно, расширив этот класс, или вы можете попробовать другой плагин, как показано ниже: