我有一个ASP.NET网页,它是一个动态生成的报告。出于商业原因,此确切报告需要以PDF格式生成。最好的方法是什么?将选定的打印机设置为Adobe PDF不是一种选择。
学习从头开始以编程方式创建PDF?有没有办法在某些浏览器控件中呈现它,然后保存输出?
答案 0 :(得分:9)
wkhtmltopdf - 我在Windows中编译它并且效果很好。它使用WebKit(Safari,Chrome等)将HTML页面呈现为PDF,并且它是免费的!
答案 1 :(得分:4)
如果报告是网格(可能是), this blog post using iTextSharp 可能有所帮助。 iTextSharp是我见过的最好的C#PDF API。
答案 2 :(得分:3)
我不知道ABCpdf .NET是免费的,但我听说过它很好。我认为它可以直接将HTML文件呈现为PDF文件。
http://www.websupergoo.com/abcpdf-5.htm
我已经使用了PDFsharp(假设您将C#与ASP结合使用)并且效果很好。据我所知,它不会呈现HTML。
答案 3 :(得分:3)
去年,我做了一个PDF项目,我刚刚学习了PDF格式,我很高兴。
PDF specification可以自由使用,PDF作为程序员非常容易理解。 PDF是纯文本文档,可选择压缩。每个页面都是一个笛卡尔平面,您可以在其上逐个绘制几何形状。它是低级别的,并为软件生成量身定制。显然有像字形和东西这样的高级东西,但是像任何设计良好的技术一样,如果你愿意,你可以坚持使用抽象层。
是否直接使用PDF取决于文档的复杂程度。对于具有简单图形,文本和图像的基本内容(例如,发票是一个很好的候选者),那么我只是直接写PDF。你将获得良好的经验,你将完全掌控。
对于更复杂的事情,如表格和饼图(对于哪些PDF太低而无法直接编写),我会查看某种类型的库或工具包。
答案 4 :(得分:0)
这些链接可能有所帮助:
http://www.411asp.net/home/assembly/document/pdf
http://alt-soft.com/Support_kb_generating_pdf_from_asp_net.aspx
有些语言可以开箱即用,你可以获得一些可以生成pdf的外部服务,但看起来asp.net解决方案真的是你需要的。
HTH
答案 5 :(得分:0)
如果您专注于PDF生成,我可以推荐CeTe的Dynamic PDF产品。它们有点贵,但它们有很多选择,易于使用且记录良好。
答案 6 :(得分:0)
您是否查看过SQL Server Reporting Services?如果您使用的是MSSQL 2005/2008,那么您可能已经拥有了报告服务,您只需要对其进行配置即可。您可以在那里托管报告,只需几行代码即可将报告作为PDF文件。
//create the web request for the report based on a URL that will define export
//format, parameter values, etc.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl);
//send creditials if necessary
request.Credentials = new NetworkCredential(userName, password);
//response will contain the PDF file as a stream
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
这是link可能也有帮助
答案 7 :(得分:0)
使用PDF Duo .NET转换组件。它将HTML转换为PDF,因此在生成HTML报告后,您可以在ASP.NET项目中创建PDF。
答案 8 :(得分:0)
您还可以通过Adobe,Foxit和Windward Reports找到执行此操作的产品(免责声明 - 我是Windward的首席技术官)。
答案 9 :(得分:-1)
如果您正在寻找开源解决方案或$$?,您没有提及您?
但这是一个开源转换器:http://sourceforge.net/projects/itextsharp/ 这相当不错。