ASP.NET C#根据HTML页面导出PDF
来源:互联网 发布:淘宝吧 编辑:程序博客网 时间:2024/06/16 09:10
在启明星采购系统里,新增了导出PDF功能。整个功能使用了第三方软件 wkhtmltopdf(下载) 官网 https://wkhtmltopdf.org/ 提供有更多版本下载
他可以把HTML页面转换为PDF,该软件简直是incredible-不可思议了,功能太强大了。
因为,我有一个HTML,引用了很多CSS,而页面基本上都是JS动态生成的,一直担心wkhtmltopdf生成的PDF会是一个空白
没相当,转换后,那些CSS和JS没有“失真”。
下面是利用C#将HTML生成PDF的代码:
string url = "http://www.dotnetcms.org/About.aspx";
string pdf = "c:\pdf\bin\wkhtmltopdf.exe"
string filename = Guid.NewGuid().ToString(); string pdfpath = filename + ".pdf"; Process p = System.Diagnostics.Process.Start(pdf, url + " \"" + Server.MapPath(pdfpath)+"\""); p.WaitForExit(); //方法1,使用下面代码,在线打开 // Response.Redirect(pdfpath); //方法2,使用下面代码,让客户下载 FileStream fs = new FileStream(Server.MapPath(pdfpath), FileMode.Open); byte[] file = new byte[fs.Length]; fs.Read(file, 0, file.Length); fs.Close(); Response.Clear(); Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".pdf");//以二进制流模式,强制下载 Response.ContentType = "application/octet-stream"; Response.BinaryWrite(file);
在上面代码里,url为需要传递的页面,pdf参数为wkhtmltopdf.exe为你实际安装的路径。
当然,在实际环境里,如果你使用IIS,并且希望通过ASP.NET生成PDF,需要注意权限,首先,找到应用程序所使用的应用程序池,点击“应用程序池”上的高级,有一个“标识”,将默认的ApplicationPoolIdentity修改为LocalSystem。否则,可能因为权限不足而调用exe失败。
阅读全文
0 0
- ASP.NET C#根据HTML页面导出PDF
- C#根据html生成PDF
- HTML页面传值(asp.net)c#
- C#(asp.net)根据静态模板生成静态(html)页面
- 将HTML页面部分内容导出为PDF
- C#用iTextSharp导出PDF到页面
- asp.net 页面导出word
- asp.net 页面导出EXCEL
- Asp.net mvc 导出数据至PDF
- asp.net C# 导出excel
- asp.net生成静态页(根据模板生成html静态页面)
- ASP.NET生成HTML页面
- asp.net输出Html页面
- C#根据模板动态生成html页面
- 根据html页面模板动态生成html页面(c#类)
- +根据html页面模板动态生成html页面(c#类)+
- 根据html页面模板动态生成html页面(c#类)
- 根据html页面模板动态生成html页面(c#类)
- 详解JAVA实现支付宝接口编程
- Angular 导出Excel 表格
- C++ 中引用(reference)和指针的区别
- 进程间通信(IPC)3 ------ 消息队列
- FreeBASIC学习笔记——8.2 指针的类型与运算
- ASP.NET C#根据HTML页面导出PDF
- logback之四:输出日志到不同文件
- 请放下你的无效社交
- NIFI 系统属性 System Properties之ZooKeeper Properties
- spring4与Thymeleaf整合一个简单示例
- Redis常用数据类型
- 小朋友学C++(10):子类构造函数调用父类构造函数
- 蓝桥杯ALGO-1区间K大数
- windows bat 进入或跳转到其它目录命令