在WPF平台下如何将C1Chart存成PDF文件和打印

在WPF平台下,如何将C1Chart存成PDF文件呢?又如何将C1Chart打印出来呢?本文就详细的介绍实现该功能的步骤。基本思路是将C1Chart存储成Image,然后画到C1PDFDocument里,并存成PDF文件,用C1ReportView打印这个PDF文件就可以了。详细步骤如下:1.C1Chart存储成图片使用C1Chart.SaveImage方法将C1Chart存储成图片,方便以后的使用。2.存成PDF文件新建一个C1PDFdocument,使用C1PDFDocument.DrawImage方法将存好的C1Chart图片画到PDF里。然后使用C1PDFDocument.Save方法将当前的文档存成PDF格式文件。3.打印拖拽一个c1ReportViewer1到Window,并使用c1ReportViewer1.LoadDocument方法导入已生成的含有C1Chart的PDF文件。C1ReportView有内置的打印功能,至此,就可以对C1Chart进行打印了。

发布于 2014/08/16 00:00

ComponentOne Enterprise

在WPF平台下,如何将C1Chart存成PDF文件呢?又如何将C1Chart打印出来呢?

本文就详细的介绍实现该功能的步骤。基本思路是将C1Chart存储成Image,然后画到C1PDFDocument里,并存成PDF文件,用C1ReportView打印这个PDF文件就可以了。

详细步骤如下:

1.C1Chart存储成图片

使用C1Chart.SaveImage方法将C1Chart存储成图片,方便以后的使用。

2.存成PDF文件

新建一个C1PDFdocument,使用C1PDFDocument.DrawImage方法将存好的C1Chart图片画到PDF里。

然后使用C1PDFDocument.Save方法将当前的文档存成PDF格式文件。

3.打印

拖拽一个c1ReportViewer1到Window,并使用c1ReportViewer1.LoadDocument方法导入已生成的含有C1Chart的PDF文件。

C1ReportView有内置的打印功能,至此,就可以对C1Chart进行打印了。

完成功能的C#代码参考:

// Generate Chart Image
            MemoryStream ms = new MemoryStream();
            _c1chart.SaveImage(ms, ImageFormat.Png);
            BitmapImage bi = new BitmapImage();
            bi.BeginInit();
            bi.StreamSource = ms;
            bi.EndInit();
            WriteableBitmap wBmp = new WriteableBitmap(bi);

            // create and save pdf document
            C1PdfDocument pdf = new C1PdfDocument();
            pdf.DrawImage(wBmp, new Rect(0, 0, _c1chart.ActualWidth, _c1chart.ActualHeight), ContentAlignment.TopCenter, Stretch.None);

            string fileName = "ChartImage.pdf";
            pdf.Save(fileName);
            this.c1ReportViewer1.LoadDocument(fileName);

 

C1ChartPrint.zip (4.37 mb)

运行这个程序,在加载后会生成一个C1Chart图表,点击PrintChart按钮,就可以将图表展示在C1ReportView里,并且打印。如下图: 

ComponentOne Enterprise | 下载试用

ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。

ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态