public partial classForm1 : Form
{publicForm1()
{
InitializeComponent();
}
WebBrowser webBrowser= null;public voidConvertToImg()
{string html = "
字段1 | 字段2 | 字段3 |
---|---|---|
小明 | 22 | 185 |
小青 | 21 | 170 |
webBrowser= newWebBrowser();//是否显式滚动条
webBrowser.ScrollBarsEnabled = false;//加载 html
webBrowser.DocumentText =html;//页面加载完成执行事件
webBrowser.DocumentCompleted += newWebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
}private void webBrowser_DocumentCompleted(object sender, EventArgs e)//这个就是当网页载入完毕后要进行的操作
{//获取解析后HTML的大小
System.Drawing.Rectangle rectangle =webBrowser.Document.Body.ScrollRectangle;int width =rectangle.Width;int height =rectangle.Height;//设置解析后HTML的可视区域
webBrowser.Width =width;
webBrowser.Height=height;
Bitmap bitmap= newSystem.Drawing.Bitmap(width, height);
webBrowser.DrawToBitmap(bitmap,new System.Drawing.Rectangle(0, 0, width, height));//设置图片文件保存路径和图片格式,格式可以自定义
string filePath = AppDomain.CurrentDomain.BaseDirectory + "../../SaveFIle/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png";
bitmap.Save(filePath, System.Drawing.Imaging.ImageFormat.Png);//创建PDF
FileStream fileStream = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "../../SaveFIle/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".pdf", FileMode.Create);byte[] result =CreatePDF(bitmap, width, height);
fileStream.Write(result,0, result.Length);
fileStream.Close();
fileStream.Dispose();
}private void button1_Click(objectsender, EventArgs e)
{
ConvertToImg();
}public byte[] CreatePDF(Bitmap bitmap, int width, intheight)
{using (MemoryStream ms = newMemoryStream())
{
Document doc= new Document(new iTextSharp.text.Rectangle(0, 0, width, height), 3, 3, 3, 3); //左右上下
PdfWriter writer=PdfWriter.GetInstance(doc, ms);
writer.CloseStream= false;
doc.Open();
iTextSharp.text.Image img=iTextSharp.text.Image.GetInstance(bitmap, System.Drawing.Imaging.ImageFormat.Png);
img.ScalePercent(100); //放缩比例
doc.Add(img);//添加图片对像
doc.Close();returnms.ToArray();
}
}
}