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】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |