Javascript 在asp.net c中从网页获取所有数据(包括图像)
我想知道我们是否可以使用asp.net从网页加载所有数据。就像我有一个包含表格和饼图的页面。我正在通过单击按钮将html内容导出为pdf。我已经使用隐藏字段获取要在服务器端转换的innerHTML数据。我得到了数据,但问题是,当我导出到pdf时,piechart是看不到的。 C代码:Javascript 在asp.net c中从网页获取所有数据(包括图像),javascript,c#,jquery,html,asp.net,Javascript,C#,Jquery,Html,Asp.net,我想知道我们是否可以使用asp.net从网页加载所有数据。就像我有一个包含表格和饼图的页面。我正在通过单击按钮将html内容导出为pdf。我已经使用隐藏字段获取要在服务器端转换的innerHTML数据。我得到了数据,但问题是,当我导出到pdf时,piechart是看不到的。 C代码: string htmlstring = hiddenTest.Value; pdfConverter.SavePdfFromHtmlStringToFile(htmlstring, downloadName);
string htmlstring = hiddenTest.Value;
pdfConverter.SavePdfFromHtmlStringToFile(htmlstring, downloadName);
HTML:
function DrawPieChart(series) {
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: 1, //null,
plotShadow: false,
backgroundColor: {
linearGradient: [50, 0, 100, 500],
stops: [
[0, 'rgb(255, 255, 255)'],
[1, 'rgb(0, 00, 0)']
]
}
},
title: {
text: 'Matched and Unmatched Regions'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
}
}
},
series: [{
type: 'pie',
name: 'Percentage',
data: series
}]
});
}
function htmlbind() {
debugger;
var d = document.getElementById('pdfdiv');
var e = document.getElementById('hiddenTest');
e.value = d.innerHTML;
}
</script>
<%--<My:WebUserControl1 runat="server" ID="WebUserControl1" UserName="a" UserAge="45" UserCountry="Australia" />--%>
<%--<asp:PlaceHolder runat="server" ID="phUserInfoBox" />--%>
</head>
<body bgcolor="#999999">
<form id="form1" runat="server">
<asp:Button ID="button" Text="click" runat="server" OnClick="b1_click" OnClientClick="htmlbind();"/>
<asp:Button ID="button1" Text="click" runat="server" OnClick="b2_click" />
<div>
</div>
<div id="pdfdiv" runat="server">
<div id="container">
</div>
<br />
<br />
<asp:HiddenField ID="hfFilePath" runat="server" OnValueChanged="hfFilePath_ValueChanged" />
<input type="hidden" runat="server" id="hiddenTest" />
希望得到建议。您可以找到一个纯HTML/Javascript示例,但它也适用于您的情况,只需进行一些修改 我不会把代码放在这里,因为这里有很多HTML和Javascript 您可以从脚本中使用此函数:
saveSvgAsPng(el, options)
el是svg元素,选项可以为空
在本例中,我获取highcharts生成的图表,并将其转换为纯HTML,将SVG图像转换为数据URI
有关将图形转换为PNG的详细逻辑,请参阅。饼图图像的src属性是什么?@ErikS-这个问题不是重复的。这里可能存在的问题是pdfConverter打开OP web应用程序的新会话,这可能需要验证和/或任何浏览器-服务器交互的会话变量。好的,我误解了这个问题。您需要使用canvas将图表客户端转换为图像,或者使用pdfCan u plz的备用服务器端图像图表脚本来指导我。谢谢,难道所有的html数据不可能一次性转换吗?对不起,我不明白你所说的html数据可以一次性转换的意思。你能澄清一下这句话吗?我的意思是,如果其他数据正在导入,那么为什么不导入piechart数据呢?正如我所看到的,图表是SVG标记,而不是图像。您还使用了highcharts,它有一个内置的函数可以导出为PDF。您可以看看这段代码。它会将图表导出为PDF格式,而不使用服务器端逻辑。但这里的问题是,我必须制作一个PDF格式来保存我的所有数据,包括图像
saveSvgAsPng(el, options)