現在、ASP.NET/C# でアプリケーションを作成しています。ユーザーは、Web ベースの管理システムを介して請求書の概要の PDF を生成できる必要があります。
顧客は、iTextSharp などのオープン ソース ソリューションを使用することを望まず (ばかげていることはわかっています)、代わりに、仮想 PDF プリンターが付属する Adobe Acrobat/Reader (どれかはわかりません) を購入しました。そのため、サーバー上のこのプリンターとインターフェースして PDF を生成します。
これはうまく機能しています。簡単に PDF を生成してユーザーに表示できます。ただし、(PrintPageEventArgs イベントの Graphics クラスを使用して) 印刷するドキュメントにコンテンツを書き込む方法は、今の私には少しなじみがありません。テキストとヘッダー情報を書き込むのは簡単ですが、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);
}