Asp.net C的PDF或其他“报告查看器”选项#
发布时间:2020-12-15 23:53:59 所属栏目:asp.Net 来源:网络整理
导读:我和我目前的项目绑定了.这是一个工资单应用程序,我正在使用C#开发ASP.net webforms.我的老板说,这个网站的理想功能是点击付款查询日期,打开PDF并显示薪水支票信息.我已经做了几天的研究,试图找到最好的解决方案.到目前为止,我没有运气.我发现了一些不同的东
我和我目前的项目绑定了.这是一个工资单应用程序,我正在使用C#开发ASP.net webforms.我的老板说,这个网站的理想功能是点击付款查询日期,打开PDF并显示薪水支票信息.我已经做了几天的研究,试图找到最好的解决方案.到目前为止,我没有运气.我发现了一些不同的东西,比如iTextSharp,但一年的许可证现在太贵了.我也看过基于php的tcpdf.我还研究过CrystalReports和Active Reports.购买许可证也太贵了.我也研究过XML到PDF解决方案,但我找不到任何确定的东西.由于我对软件开发的商业世界很陌生,并且没有高级开发人员可以依赖,所以我几乎已经死了.我知道我们将从基于DOS的应用程序中将薪水下载到CSV文件中,该应用程序执行我们的时钟输入和输出.然后,我将CSV文件导入SQL Server 2012 Express.非常感谢您的想法,因为我不知道从哪里开始!先谢谢你!
解决方法
我最近发现的HTML到PDF转换器是
WKHTMLtoPDF
它是开源的,并使用WebKit将HTML转换为PDF,因此它符合标准. 您可以如何使用它的一个例子是 using (var pdfStream = new FileStream(dlg.FileName,FileMode.OpenOrCreate)) { // pass in the HTML you want to appear in the PDF,and the file stream it writes to Printer.GeneratePdf(htmlStream,pdfStream); } 其中GeneratePdf定义为 public static void GeneratePdf(Stream html,Stream pdf) { Process process; StreamWriter stdin; var psi = new ProcessStartInfo(); psi.FileName = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"Lib","wkhtmltopdf.exe"); psi.WorkingDirectory = Path.GetDirectoryName(psi.FileName); // run the conversion utility psi.UseShellExecute = false; psi.CreateNoWindow = true; psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; psi.RedirectStandardError = true; psi.Arguments = "-q -n --disable-smart-shrinking - -"; process = Process.Start(psi); try { stdin = process.StandardInput; stdin.AutoFlush = true; //stdin.Write(html.ReadToEnd()); stdin.Write(new StreamReader(html).ReadToEnd()); stdin.Dispose(); process.StandardOutput.BaseStream.CopyTo(pdf); process.StandardOutput.Close(); pdf.Position = 0; process.WaitForExit(10000); } catch (Exception ex) { throw ex; } finally { process.Dispose(); } } 在您的情况下,您不是将其写入文件流,而是将其作为PDF写入HTTP输出流. 但请注意,此示例更适合将PDF文件写入磁盘,而不是输出流,因此您需要稍微做一些,以使其适合您. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 可以在mvc JsonResult控制器方法上使用Outp
- asp.net – 使用多语言支持的“正确”方式
- asp.net – .NET – 如何调试DLL?
- asp.net-mvc – 如何将httppostedfilebase转换为String数组
- 如何使用ASP.Net集群上传文件夹?
- asp.net – FileUpload.hasFile始终为False
- asp.net-mvc – 暂时在MVC控制器,MVC,MVC控制器临时存储中保
- asp.net – 如何在Quartz.Net中处理应用程序关闭
- ASP.Net使用状态服务器和缓存增加MaxProcesses(Web园)
- asp.net – 按Enter键时提交表单
推荐文章
站长推荐
- asp.net – IIS 7在一个服务器上引发web.config的
- iis-7 – 从IIS 7上的经典ASP创建COM组件时出现“
- asp.net – 请帮我理解web.config自定义设置的ty
- asp.net – 在jQuery中捕获异常
- asp.net – 如何在visual studio中查看cshtml页面
- asp.net-mvc-3 – ASP.NET MVC 3 JSONP:这适用于
- asp.net-mvc – ASP.NET MVC:如何处理必须转到每
- .net – TransactionScope:它变得更好了吗?
- asp.net – 如何在所选项目上启用工作流状态“写
- ASP.NET 5中的子域路由
热点阅读