В настоящее время я пишу приложение на ASP.NET/C#, где пользователь должен иметь возможность генерировать PDF сводки счетов через систему администрирования через Интернет.
Клиент не хотел использовать решение с открытым исходным кодом, такое как iTextSharp (глупо, я знаю), и вместо этого купил Adobe Acrobat / Reader (не уверен, какой), который поставляется с виртуальным принтером PDF.Поэтому мы будем взаимодействовать с этим принтером на сервере для создания PDF-файлов.
Это работает хорошо - мы можем легко создавать PDF-файлы и отображать их для пользователя.Однако то, как содержимое записывается в документ для печати (с использованием класса Graphics события PrintPageEventArgs), сейчас немного чуждо мне.Написание текста и информации заголовка - это очень просто, но как проще всего записать содержимое GridView в документ?
Вот пример кода, который я использую:
protected void Page_Load(object sender, EventArgs e)
{
PrintDocument NewDoc = new PrintDocument();
NewDoc.PrinterSettings.PrinterName = "PrinterName";
NewDoc.PrintPage += new PrintPageEventHandler(NewDoc_PrintPage);
NewDoc.Print();
}
void NewDoc_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString("Test Header", new Font("Verdana", 18), Brushes.Black, 220, 120);
}