【问题标题】:Create pdf document in asp.net 2.0在 asp.net 2.0 中创建 pdf 文档
【发布时间】:2010-07-16 13:25:47
【问题描述】:

我正在使用带有 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 中。

如果您有其他方法可以创建 pdf,请告诉我。

提前致谢。

【问题讨论】:

    标签: asp.net pdf


    【解决方案1】:

    使用 HTML 格式的内容创建 PDF 并不是一件容易的事,CodeProject 示例代码也不太适合这种情况。您很可能希望为此研究(商业)第三方解决方案:我自己使用Siberix Report Writer:它很灵活,相当实惠,适用于部分信任场景(非常适合共享网络托管环境),最重要的是不需要每服务器许可证,因此您可以将其嵌入到您的产品中,而不会出现重新分发问题。

    【讨论】:

      【解决方案2】:

      第 1 项)您将 pdf 文件缓存到磁盘。当请求 pdf 时,检查 pdf 是否已创建(即磁盘上有一个文件),如果没有生成它。然后使用 response.writefile 命令发送 pdf

      第 2 项)如果您尝试将格式化的 html 打印成 pdf,那么您将需要能够呈现 html 的东西。有许多 html 到 pdf 转换器,但我还没有发现它们都那么好。如果您对 php 感到满意,那么您可以使用一些非常好的转换器。 Joomla 支持 html 到 pdf,因此虽然它可能不是确切的解决方案,但它可能是一个很好的起点。

      【讨论】:

        【解决方案3】:

        我还建议您看看 Aspose PDF。

        【讨论】:

          【解决方案4】:

          我建议按照@Jeroen 的建议使用 RDLC Report 或 Crystal Reports

          【讨论】:

            【解决方案5】:

            Cete Pdf Generator 具有 HtmlTextArea 元素并支持一些有限的 HTML

            http://www.cete.com/support/net_help_library/html/ceTeDynamicPDFPageElementsHtmlTextArea.htm

            【讨论】:

              【解决方案6】:

              ABCpdf 是另一个将 html 转换为 pdf 的商业组件。 http://www.websupergoo.com/abcpdf-5.htm

              【讨论】:

                【解决方案7】:

                您可以尝试使用 itextsharp 库。我没有使用过它,但我认识的其他开发人员对它给予了高度评价。 http://sourceforge.net/projects/itextsharp/

                关于缓存问题。我会检查文件系统中是否有通过约定命名的 pdf。如果找到该文件,则提供它。否则,调用另一个生成 pdf 并将其保存到驱动器的方法。这样,只有第一个请求会导致生成 pdf。命名约定将是这里的关键。基本实现不会是线程安全的。但这是一个好的开始。

                【讨论】:

                  【解决方案8】:

                  我使用 CrystalReports。它可以即时创建 PDF 并将其直接输出到磁盘或 http。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-03-16
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-12-02
                    • 1970-01-01
                    相关资源
                    最近更新 更多