c# html转换图片格式,C# 将 HTML 转换为图片或 PDF

public partial classForm1 : Form

{publicForm1()

{

InitializeComponent();

}

WebBrowser webBrowser= null;public voidConvertToImg()

{string html = "

字段1字段2字段3
小明22185
小青21170
";

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();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值