在asp.net 2.0中创建pdf文档

时间:2010-07-16 13:25:48

标签: asp.net pdf

我正在使用带有c#的asp.net 2.0。

我必须将我的标签文本转换为pdf。为此,我使用了本教程 http://www.codeproject.com/KB/aspnet/Creating_PDF_documents_in.aspx

现在我面临两个问题:

  1. 每次创建1.pdf时,如果有这么多用户希望看到任何页面的pdf格式怎么办
  2. 由于我的标签文字包含HTML内容,因此它显示的是HTMl输出。我不希望HTML显示在pdf中。
  3. 如果您有其他方法可以创建pdf,请告诉我。

    提前致谢。

8 个答案:

答案 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。