我正在使用带有c#的asp.net 2.0。
我必须将我的标签文本转换为pdf。为此,我使用了本教程 http://www.codeproject.com/KB/aspnet/Creating_PDF_documents_in.aspx
现在我面临两个问题:
如果您有其他方法可以创建pdf,请告诉我。
提前致谢。
答案 0 :(得分:2)
使用HTML格式的内容创建PDF并非完全无关紧要,而且CodeProject示例代码不太适合。你很可能想要为此考虑一个(商业)第三方解决方案:我自己使用Siberix Report Writer:它灵活,非常实惠,适用于部分信任的场景(适用于共享的Web托管环境)和最重要的是,不需要每服务器许可证,因此您可以将其嵌入产品中,而不会出现重新分发问题。
答案 1 :(得分:1)
项目1)您将pdf文件缓存到磁盘。当请求pdf检查是否已创建pdf(即磁盘上有文件)并且如果没有生成它。然后使用response.writefile命令发送pdf
项目2)如果您尝试将格式化的HTML打印成pdf,那么您将需要能够呈现html的内容。有许多html到pdf转换器,但我没有发现它们都那么好。如果您对PHP感到满意,那么您可以使用一些非常好的转换器。 Joomla支持html到pdf,所以虽然它可能不是确切的解决方案,但它可能是一个很好的起点。
答案 2 :(得分:0)
我还建议你看一下Aspose PDF。
答案 3 :(得分:0)
我建议使用@Jeroen
建议的RDLC报告或Crystal Reports答案 4 :(得分:0)
Cete Pdf Generator具有HtmlTextArea元素并支持一些有限的HTML
http://www.cete.com/support/net_help_library/html/ceTeDynamicPDFPageElementsHtmlTextArea.htm
答案 5 :(得分:0)
ABCpdf是另一个将html转换为pdf的商业组件。 http://www.websupergoo.com/abcpdf-5.htm
答案 6 :(得分:0)
您可以尝试使用itextsharp库。我没有使用它,但它得到了我认识的其他开发人员的高度赞扬。 http://sourceforge.net/projects/itextsharp/
关于缓存问题。我会检查文件系统中是否有通过约定命名的pdf。如果找到该文件,则提供该文件。否则,调用另一个生成pdf的方法并将其保存到驱动器。这样只有第一次请求才会生成pdf。命名约定将是关键。基本实现不是线程安全的。但这是一个好的开始。
答案 7 :(得分:-1)
我使用CrystalReports。它可以动态创建PDF并直接输出到磁盘或http。