2017-04-08 51 views
0

我有用于打印使用iTextSharp.dll(PDF产生LIB)使用如何打印ajaxtoolkit饼图(pdf格式)?

命名空间正常代码扇形图:

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

代码:对AJAX

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(); 
    } 

但这代码这么想的工作饼图,它显示错误:

Error 1 'AjaxControlToolkit.PieChart' does not contain a definition for 'SaveImage' and no extension method 'SaveImage' accepting a first argument of type 'AjaxControlToolkit.PieChart' could be found (are you missing a using directive or an assembly reference?)

也我有没有其他的方式,如从JavaScript打印饼图的div? 或任何其他代码示例/参考?

回答

-1

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