首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

有没有做过Reprot表格RDLC直接打印的兄弟,遇到点麻烦,进来看一下。

2013-09-13 
有没有做过Reprot报表RDLC直接打印的兄弟,遇到点麻烦,进来看一下。。private void Print3(){const string pr

有没有做过Reprot报表RDLC直接打印的兄弟,遇到点麻烦,进来看一下。。




        private void Print3()
        {
            const string printerName="GP-5890XIII";
            if (m_streams == null || m_streams.Count == 0)
                return;
            PrintDocument printDoc = new PrintDocument();
            printDoc.PrinterSettings.PrinterName = printerName;

            printDoc.DefaultPageSettings.Landscape = false;
           // printDoc.PrinterSettings.DefaultPageSettings.PaperSize = printDoc.PrinterSettings.PaperSizes[0];
            foreach (PaperSize ps in printDoc.PrinterSettings.PaperSizes)
            {
                string myTempID = ps.PaperName;
                if (myTempID == "Gprinter 58(48) x 299 mm")
                {
                    printDoc.PrinterSettings.DefaultPageSettings.PaperSize = ps;
                    printDoc.DefaultPageSettings.PaperSize = ps;
                }
            }
            if (!printDoc.PrinterSettings.IsValid)
            {
                string msg = string.Format("Can't find printer "{0}".", printerName);
               
                return;


            }
            printDoc.PrintPage += new PrintPageEventHandler(PrintPage3);
            printDoc.Print();
        }

        private void PrintPage3(object sender, PrintPageEventArgs ev)
        {
            //Metafile对象用来保存EMF或WMF格式的图形,
            //我们在前面将报表的内容输出为EMF图形格式的数据流。
            m_streams[m_currentPageIndex].Position = 0;
            Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
            //指定是否横向打印
            ev.PageSettings.Landscape = false;
            //这里的Graphics对象实际指向了打印机
            ev.Graphics.DrawImage(pageImage, 0, 0);
            m_streams[m_currentPageIndex].Close();
            m_currentPageIndex++;
            //设置是否需要继续打印
            ev.HasMorePages = (m_currentPageIndex < m_streams.Count);

        }






这样打印出来的字很大,与原有生成EMF文件不协调。。请哪位高手看一下,一针见血指出问题所在。。
[解决办法]
RDLC 报表呈现到页面上 就是普通的html页面,字体的大小是不是和样式有关 ? 你可以从这方面入手看看。希望对你有帮助。
[解决办法]
参考http://blog.csdn.net/zhaoqiliang527/article/details/5691908

热点排行