如何将RadHtmlChart导出为PDF

时间:2015-05-20 13:24:37

标签: asp.net vb.net pdf telerik radhtmlchart

我正在尝试在打印时更改RadHtmlChart的方向。这是我正在使用的代码,基本上,它采用图表的图像并将其放在另一个窗口中进行打印。它工作正常,但我需要将方向更改为横向,而无需用户更改其设置。我读到这是不可能再使用JavaScript和CSS,另一种方法是导出为PDF。

<script type="text/javascript">
    function PrintPage() {
        var printContent = document.getElementById("divChart");
        var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0);
        WinPrint.document.write(printContent.innerHTML);
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
        WinPrint.close();
    };
</script>

我已经按照演示了解了如何在Telerik中执行此操作,但是我收到了一个JavaScript错误:

$Telerik' not defined

我在Telerik上查找了这个错误,并找到了有关常规故障排除的文档。我按照指示(将我的Telerik的DLL版本输入Telerik.Web.UI.axd处理程序),这导致我的程序的组件(RadGrid等)无法找到。

是否有另一种方法将RadHtmlChart导出为PDF?实际上,图表甚至没有导出为PDF,我只需要一种横向打印表单的方法,而无需用户选择方向。

任何人都可以帮助我吗?

修改

我能够纠正$ telerik错误并导出PDF文件,但它已损坏且没有显示任何数据。我无法找到解决这个特定问题的方法,但我找到了另一种方法来导出符合我需要的RadHtmlChart。对于遇到这些问题的人,我会在下面发布我的代码。 注意:此解决方案使用Telerik组件,必须包含在RadCodeBlock中。我想导出“divChart”中的所有内容,并且必须使用“#divChart”而不是“.divChart”。

<telerik:RadCodeBlock runat="server">
    <script type="text/javascript">
        var $ = $telerik.$;

        function exportChartImage() {
            $find('<%=RadClientExportManager1.ClientID %>').exportImage($("#divChart"));
        };
    </script>
</telerik:RadCodeBlock>

下一部分介绍了您的主要内容。我把它放在包含我的内容的div标签的正下方。 注意:如果您没有设置高度/宽度,图像会变形和变小!

<telerik:RadClientExportManager runat="server" ID="RadClientExportManager1">
    <ImageSettings Height="900px" Width="950px" FileName="Chart.png" />
</telerik:RadClientExportManager>

这将在页面加载事件中的代码后面。

Dim relativePath = "~/api/export/file"
RadClientExportManager1.ImageSettings.ProxyUrl = ResolveUrl(relativePath)

现在,图表或我认为的任何其他Telerik组件将作为图像导出,并在打印时以横向方式导出!

编辑2

此解决方案仅适用于现代浏览器!我在IE10上测试了它,它也输出了正确的格式化图像。

0 个答案:

没有答案