编写GridView以在PrintPageEventArgs中打印doc(PrintDocument

时间:2011-03-15 20:31:48

标签: c# asp.net pdf printdocument

我目前正在ASP.NET / C#中编写一个应用程序,用户需要能够通过基于Web的管理系统生成PDF的发票摘要。

客户不想使用开源解决方案,例如iTextSharp(愚蠢,我知道),而是购买了随附虚拟PDF打印机的Adobe Acrobat / Reader(不确定哪个)。因此,我们将在服务器上与此打印机连接以生成PDF文件。

运行良好 - 我们可以轻松生成PDF并将其显示给用户。但是,内容写入要打印的文档的方式(使用PrintPageEventArgs事件的Graphics类)对我来说有点陌生。编写文本和标题信息是件小事,但将GridView的内容写入doucment的最简单方法是什么?

以下是我正在使用的一些示例代码:

   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 :(得分:0)

结束了必须自己绘制网格。非常hacky,但它的工作原理。