如何打印ajaxtoolkit饼图(pdf格式)?

时间:2017-04-08 21:09:06

标签: javascript c# asp.net ajax ajaxcontroltoolkit

我有使用iTextSharp.dll打印普通饼图的代码(pdf生成lib)

使用的名称空间:

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Web.UI.DataVisualization.Charting;

代码:

Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    using (MemoryStream stream = new MemoryStream())
    {
        PieChart1.SaveImage(stream, ChartImageFormat.Png);  //error line
        iTextSharp.text.Image chartImage = iTextSharp.text.Image.GetInstance(stream.GetBuffer());
        chartImage.ScalePercent(75f);
        pdfDoc.Add(chartImage);
        pdfDoc.Close();

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;filename=Chart.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Write(pdfDoc);
        Response.End();
    }

但是这段代码不适用于ajax饼图,它显示错误:

  

错误1'AjaxControlToolkit.PieChart'不包含'SaveImage'的定义,并且没有可以找到接受类型'AjaxControlToolkit.PieChart'的第一个参数的扩展方法'SaveImage'(你是否缺少using指令或程序集参考?)

还有其他方式像从javascript打印饼图的div? 或任何其他代码样本/参考?

1 个答案:

答案 0 :(得分:-1)

如果你想从javascript执行操作。我建议你使用Highcharts它最适合所有类型的图表,它还提供内置打印和下载为图像或PDF。 http://www.highcharts.com/demo/pie-basic 检查此链接并演示它是用户友好且重量轻。