我正在尝试使用 abcpdf 将使用 googles api 创建的图表导出为 pdf。
我已经尝试了这些问题的解决方案
但两者都不起作用,我没有从 javascript 创建任何东西。
我试图呈现为 pdf 的页面是
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="boop.aspx.cs" Inherits="boop" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.0', { 'packages': ['corechart'] });
document.addEventListener("DOMContentLoaded", function drawChart() {
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]);
var options = {
'title': 'How Much Pizza I Ate Last Night',
'width': 400,
'height': 300
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
});
</script>
</head>
<body >
<form id="form1" runat="server">
<div id="chart_div"></div>
</form>
<asp:Label Text="hej" runat="server" />
</body>
</html>
当我在浏览器中访问页面时,会呈现图表,确认 COMContentLoaded 甚至触发了该功能。
我想将图表保存为 pdf 的代码
Doc theDoc = new Doc();
theDoc.HtmlOptions.Timeout = 10000;
theDoc.HtmlOptions.UseScript = true;
theDoc.AddImageUrl("http://localhost:57833/boop.aspx");
theDoc.Save(Server.MapPath("img/htmlimport.pdf"));
theDoc.Clear();
我当前的代码与我之前使用前面提到的答案所做的努力有些混淆,但没有成功。我在 pdf 中得到的只是我的静态标签文本。
我正在使用 abc.pdf8。
或者,是否有人知道另一种免费/便宜的图表工具,对于 asp.net,它可以将 abcpdf 呈现为 pdf,或者可以将谷歌图表呈现为 pdf 的工具?
固定的
这个简短的回答使它起作用。
https://stackoverflow.com/a/13482231/744610
调用我的绘图函数使图表呈现并且 pdf 不包含所需的所有内容。