【问题标题】:Telerik RadPivotGrid, HtmlChart export to PDF,PNG,ExcelTelerik RadPivotGrid, HtmlChart 导出为 PDF,PNG,Excel
【发布时间】:2013-12-02 04:56:20
【问题描述】:

我在我的项目中使用 Telerik RadPivotGrid 控件和 HtmlChart 控件,我需要为网格控件和图表控件实现导出功能(PNG、PDF、Excel)。 RadPivotGrid 控件支持 excel 导出,但不直接支持 PNG、PDF,HtmlChart 控件不直接支持任何导出功能,但 Telerik 提出了一种使用 Inkscape (http://www.telerik.com/community/code-library/aspnet-ajax/html-chart/exporting-radhtmlchart-to-png-and-pdf.aspx) 导出为 PNG 和 PDF 的方法,但我们无法接受项目。所以我正在寻找一种很好的替代方法来实现这两个控件的导出功能。如果有人有建议,请发布您的解决方案。

【问题讨论】:

    标签: c# asp.net telerik export


    【解决方案1】:

    RadHtmLChart 使用 JavaScript 呈现。所以,你不能像这样导出它。 也许使用 RadChart 会有所帮助,它在服务器上呈现并通过处理程序提供图像。 This thread 提供了一些您可能会觉得有帮助的想法。 您还可以考虑使用一种报告形式来生成 pdf:http://www.telerik.com/help/reporting/graphoverview.html

    【讨论】:

    • 我必须使用 HtmlChart,因为它是我的客户端的请求,我找到了一种服务器端方法,可以使用 SVG 渲染引擎将 HtmlChart 转换为 PNG。当我转换图像时出现问题,它没有在导出的输出中显示文本区域,但我嵌入了字体并使其正常工作。我正在使用 itextsharp 从转换后的 PNG 中获取 PDF。现在我主要关心的是 RadPivotGrid 导出 PDF,而且我必须为图表控件和 PivotGrid 实现打印功能,它也不支持内置。
    • 我不确定是否可以导出枢轴网格,它是一个真正的交互式控件。尝试寻求他们的支持。打印时 - 它几乎不能内置,因为它是浏览器功能,而不是页面功能。
    【解决方案2】:

    使用 JavaScript,可以获取 HtmlChart 的 SVG 字符串。然后使用任何工具可以将这个 svg 字符串导出为 PNG、PDF 或 JPG。 通过 JavaScript 获取 svgstring:

    function getSvgContent(sender) { var chartRendering; chartRendering = $find("<%=[Chart id Here].ClientID %>").getSVGString(); $get("<%=[Hidden field id].ClientID %>").value = escape(chartRendering); __doPostBack(sender.name, ""); }

    将此 svg 保存到文件的部分代码:

    string svgText = HttpUtility.UrlDecode([Hidden_field_id].Value, System.Text.Encoding.Default);
    currentSettings.SvgFilePath = Server.MapPath("/temp.svg");
    System.IO.File.WriteAllText(currentSettings.SvgFilePath, svgText);
    

    this forum 中解释了一种使用 inkscape 工具的方法

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2017-12-12
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多