|
分類:[.NET 全般]
2009/03/18(Wed) 00:45:35 編集(投稿者) 2009/03/18(Wed) 00:44:51 編集(投稿者)
分類:[C# (Windows)]
はじめまして。なにとぞ宜しくお願い致します。
C#(VS2005)で帳票出力をReportViewerで行おうとしています。
しかし、実際に出力を行うと、文字が荒く、見にくく出力されてしまいます。 ReportViewerでは「MSゴシック」を指定しているのですが、 他のアプリケーション(エクセルやAcsess)から出力したものと比べると 文字が荒く出てしまいます。
出力するロジックに問題があるのかと思うのですが、どこに問題があるか 分からなく、困ってます。
下記が印刷部分のロジックです。なにかご指摘がありましたら なにとぞ、宜しくお願い致します。
// PrintDocumentの生成 PrintDocument document = new PrintDocument(); // コントローラ設定 document.PrintController = new System.Drawing.Printing.StandardPrintController(); // イベント生成 document.PrintPage += new PrintPageEventHandler(document_PrintPage); // ドキュメント名の指定 document.DocumentName = PrintReportDocumentName; PageSetupDialog pagedialog = new PageSetupDialog(); pagedialog.Document = document;
// 印刷 document.Print();
===========================================================
void document_PrintPage(object sender, PrintPageEventArgs e) { Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension;
LocalReport report = new LocalReport(); // RDLCファイルの設定 report.ReportPath = Print_Report_RDLC_File; ReportParameter[] parameters = new ReportParameter[Print_Report_Parameter.Keys.Count]; int index = 0; foreach (string key in Print_Report_Parameter.Keys) { parameters[index] = new ReportParameter(key, (string)Print_Report_Parameter[key]); index++; } report.SetParameters(parameters); report.Refresh(); byte[] reportBytes = report.Render("Image", null, out mimeType, out encoding, out extension, out streamids, out warnings);
ImageConverter imgconv = new ImageConverter(); Image img = (Image)imgconv.ConvertFrom(reportBytes); Point point = new Point(PrintPointX, PrintPointY); // 出力 e.Graphics.DrawImage(img, point); // 1ページ印刷専用 e.HasMorePages = false; img.Dispose(); } ===========================================================
|