我有一个面板,面板内部有一个gridview和图表(融合图表)。我想要做的是将面板中的所有内容作为图像导出为PDF。到目前为止,我只能导出gridview,图表根本没有出现。如何将面板内容中的所有内容导出为图像为pdf格式?请。救命。这是我的代码: 我正在使用ITEXT Sharp
protected void btnExport_Click(object sender, EventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pnlPerson.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
答案 0 :(得分:0)
尝试使用<Control>.DrawToBitmap
将控件绘制到位图,然后将该位图绘制到PDF中
绘制到位图会将控件绘制到位图中 - 将其视为点击打印屏幕。
所以,在这种情况下,
Bitmap bm = new Bitmap(mygraph.Bounds.Width, mygraph.Bounds.Height);
mygraph.DrawToBitmap(new System.Drawing.Bitmap(),new System.Drawing.Rectangle(0,0,mygraph.Bounds.Width,mygraph.Bounds.Height)
pdfwriterthingy.writebitmap(bm);
我的pdf导出器有能力编写位图吗?
答案 1 :(得分:0)
Fusion图表是我在浏览器上呈现的Javascript。在这种情况下,将其HTML呈现为PDF并不会特别成功。
Fusion Charts提供specific server-side handlers for JPG and PDF rendering,您需要使用它们。
以下是Fusion Charts网站提供的更多资源: