从数据库在C#中生成PDF报告,特别是ASP [英] Generating PDF Report from database in C#, specifically ASP
问题描述
我需要根据在SQL Server数据库中的信息来生成高质量的报告,我想从内C#的布局和外观非常明确的控制。
I need to generate a high quality report based on information in a SQL Server database, and I want very explicit control of the layout and appearance from inside C#.
我有几个选择,我知道的那些已经被用于在我们公司其他各种报告:
I have several choices that I know of that are already being used for various other reports at our company:
1)的SQL Server内置的报表服务
1) SQL Server's built in Reporting Services
2)的Adobe形式
2) Adobe Forms
3)水晶报表
这个信息,我需要为PDF直接平行东西已经被显示在用户的Web浏览器的HTML,所以创建打印样式表和浏览器主体转换为PDF是一个选项,以及。
This information I need as PDF directly parallels what is already being displayed in the user's web browser as HTML, so creating a print stylesheet and converting the browser body to PDF is an option as well.
所以这个选项创建4:
4)JavaScript的HTML转换为PDF(此时我的preference)
4) JavaScript convert HTML to PDF (my preference at this time)
是否有人有一个建议,去哪家接近我应该采取,甚至更好的方法吗?所有的选择显得pretty太可怕了。
Does anybody have a recommendation as to which approach I should take, or even better an alternative? All the choices seem pretty horrible.
推荐答案
我用 iTextSharp的有很好的效果。这是一个Java库的一个开源.NET端口。它的作品真的很好的从头开始创建PDF文件 的。记住的编辑的PDF文件将永远是哈克用的任何的库,因为PDF是一种的输出的格式的不的读-write格式。
I've used iTextSharp with very good results. It is an open-source .NET port of a java library. It works really well for creating PDFs from scratch. Remember that editing PDFs will always be hacky with any library, because PDF is an output format, not a read-write format.
前提是你的HTML是相当干净(删除JavaScript的回传,锚,...)时,iText的 HtmlWorker
HTML可以转换为PDF格式,如果你preFER了路线。
Provided your HTML is fairly clean (remove javascript postbacks, anchors, ...),the iText HtmlWorker
can convert HTML to PDF, if you prefer that route.
HTML来使用iTextSharp的 PDF:
Document doc = new Document(PageSize.A4);
HTMLWorker parser = new HTMLWorker(doc);
PdfWriter.GetInstance(doc, Response.OutputStream);
这篇关于从数据库在C#中生成PDF报告,特别是ASP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!