加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#编写 HTML生成PDF

发布时间:2020-12-15 17:51:45 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ? ? ? ? public JsonResult HtmlToPdf(string url) ? ? ? ? { ? ? ? ? ? ? bool success = true; ? ? ? ? ? ? string dwbh = url.Split('?')[1].Split

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

? ? ? ? public JsonResult HtmlToPdf(string url)
? ? ? ? {
? ? ? ? ? ? bool success = true;
? ? ? ? ? ? string dwbh = url.Split('?')[1].Split('=')[1];
? ? ? ? ? ? //CommonBllHelper.CreateUserDir(dwbh);
? ? ? ? ? ? url = Request.Url.Host + "/html/" + url;
? ? ? ? ? ? string guid = DateTime.Now.ToString("yyyyMMddhhmmss");
? ? ? ? ? ? string pdfName = guid + ".pdf";
? ? ? ? ? ? //string path = Server.MapPath("~/kehu/" + dwbh + "/pdf/") + pdfName;
? ? ? ? ? ? string path = "D:Temp" + pdfName;
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(path))
? ? ? ? ? ? ? ? ? ? success = false;
? ? ? ? ? ? ? ? string str = Server.MapPath("~toolswkhtmltopdfbinwkhtmltopdf.exe");
? ? ? ? ? ? ? ? Process p = System.Diagnostics.Process.Start(str,url + " " + path);
? ? ? ? ? ? ? ? p.WaitForExit();
? ? ? ? ? ? ? ? if (!System.IO.File.Exists(str))
? ? ? ? ? ? ? ? ? ? success = false;
? ? ? ? ? ?? ? if (System.IO.File.Exists(path))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? FileStream fs = new FileStream(path,FileMode.Open);
? ? ? ? ? ? ? ? ? ? byte[] bytes = new byte[(int)fs.Length];
? ? ? ? ? ? ? ? ? ? fs.Read(bytes,bytes.Length);
? ? ? ? ? ? ? ? ? ? fs.Close();
? ? ? ? ? ? ? ? ? ? if (Request.UserAgent != null)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? string userAgent = Request.UserAgent.ToUpper();
? ? ? ? ? ? ? ? ? ? ? ? if (userAgent.IndexOf("FIREFOX",StringComparison.Ordinal) <= 0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? Response.AddHeader("Content-Disposition",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"attachment; ?filename=" + HttpUtility.UrlEncode(pdfName,Encoding.UTF8));
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? Response.AddHeader("Content-Disposition","attachment; ?filename=" + pdfName);
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? Response.ContentEncoding = Encoding.UTF8;
? ? ? ? ? ? ? ? ? ? Response.ContentType = "application/octet-stream";
? ? ? ? ? ? ? ? ? ? //通知浏览器下载文件而不是打开
? ? ? ? ? ? ? ? ?? Response.BinaryWrite(bytes);
? ? ? ? ? ? ? ? ? ? Response.Flush();
? ? ? ? ? ? ? ? ? ? Response.End();
? ? ? ? ? ? ? ? ? ? fs.Close();
? ? ? ? ? ? ? ? ??? System.IO.File.Delete(path);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Response.Write("文件未找到,可能已经被删除");
? ? ? ? ? ? ? ? ? ? Response.Flush();
? ? ? ? ? ? ? ? ? ? Response.End();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? success = false;
? ? ? ? ? ? }
? ? ? ? ? var rlt = new { success = success };
? ? ?? return Json(rlt,JsonRequestBehavior.AllowGet);
? ? ? ? }

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读