0
private MemoryStream ConvertWebChartChartToImage(WebChartControl chart)
{
using (var pcl = new PrintableComponentLink(new PrintingSystem())
{
PageHeaderFooter = new PageHeaderFooter(new PageHeaderArea(new string[] { "A", "Header" },
SystemFonts.DialogFont, BrickAlignment.Center),
new PageFooterArea(new string[] { "B" },
SystemFonts.DialogFont, BrickAlignment.Center)),
Component = ((IChartContainer)chart).Chart,
Landscape = true
})
{
((Chart)pcl.Component).OptionsPrint.SizeMode = DevExpress.XtraCharts.Printing.PrintSizeMode.Stret ch;
TransDistributionWCh.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right;
pcl.CreateDocument();
var stream = new MemoryStream();
pcl.PrintingSystem.ExportToPdf(stream);
return stream;
}
}
private void ConvertHTMLStringToPDF()
{
using (var stream = new MemoryStream())
{
var listChartControl = new List<WebChartControl>(new List<WebChartControl>
{
SuccTransDistributionWCh,
AmountPerDayWCh,
TransPerDayWCh,
AmountPerTransPerDayWCh,
ActiveTerminalPerDayWCh,
TransNoWCh,
TransAmountWCh,
TransNoAmountWCh
});
foreach (var item in listChartControl)
{
var temp = ConvertWebChartChartToImage(item);
stream.Write(temp.ToArray(), 0, temp.ToArray().Length);
}
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Accept-Header", stream.Length.ToString(CultureInfo.InvariantCulture));
HttpContext.Current.Response.AddHeader("Content-Disposition", ("Attachment") + "; filename=chart.pdf");
HttpContext.Current.Response.AddHeader("Content-Length", stream.Length.ToString(CultureInfo.InvariantCulture));
HttpContext.Current.Response.ContentEncoding = Encoding.Default;
HttpContext.Current.Response.BinaryWrite(stream.ToArray());
}
HttpContext.Current.Response.End();}
我是使用的網絡控制圖dev的表達 ,需要網絡控制圖表轉換爲PDF 我的問題:如何將數據添加到內存流? 此代碼顯示最後一個網絡圖表 我建議零號碼錯誤 stream.Write(temp.ToArray(),0,temp.ToArray()。Length); 搜索谷歌與本網站不幸的是問題沒有解決如何添加內存流