Написание GridView для печати документа в PrintPageEventArgs (PrintDocument - PullRequest
0 голосов
/ 15 марта 2011

В настоящее время я пишу приложение на 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);
    }

1 Ответ

0 голосов
/ 18 апреля 2011

Закончилось тем, что я сам по сути нарисовал сетку.Довольно забавно, но это работает.

...