【问题标题】:ASP.Net Converting and Merging documents into single PDFASP.Net 将文档转换和合并为单个 PDF
【发布时间】:2010-10-08 15:27:36
【问题描述】:

我需要能够将各种文档转换并合并为一个 Pdf。

文档可以是不同的类型,例如 Word、Open Office、图像、文本、网页(通过 URL),而 PDF 通常由 2-3 个文档组成。

目前,我们正在使用 BCL Technologies easyPDF 并在服务器上安装了 Microsoft Office。它可以处理大多数文档,但我们还没有处理 Open Office 文档。

我们目前每天生产大约 100-1000 个这些 PDF。

我问这个问题的原因是性能是一个关键问题。 PDF 是为用户即时生成的,因此我们目前获得的 30-60 秒的等待时间变得无法接受。

我们在最初上传文档时对文档进行了一些缓存,因此当用户请求 Pdf 时发生的主要任务是合并许多已经生成的 Pdf。

是否有其他人使用过任何其他工具,可以可靠地处理大多数常见文档类型,尤其是速度快?这么一说,我好像问了很多!

编辑: 感谢您提供的所有出色建议,我将研究其中一些并比较性能。

除了这一切,金钱并不是真正的对象。我们非常乐意为执行每项任务的不同应用程序付费,并研究各种硬件选项以尽可能多地分配负载。

【问题讨论】:

    标签: c# asp.net pdf pdf-generation


    【解决方案1】:

    合并多个 PDF 文档通常很简单(只要它们不需要在同一页面上合并) - 您可以将合并性能与 iTextSharp(iText 的 .NET 版本)之类的东西进行比较以确保它不是瓶颈 - 否则从其他格式到 PDF 的转换可能是瓶颈。

    在几乎所有情况下,将X转换为PDF的方法是执行应用程序打印命令,针对软件PDF打印机,创建一个临时PDF文件。

    这意味着:

    • 目标应用程序(例如Office)打开和关闭
    • 文档必须经过打印服务

    在您的情况下,您是在转换用户提交的任意文档,还是这些文档来自存储的文件库?如果它是一个库,您可以在将每个文件添加到库时(而不是在用户提出请求时)制作每个文件的 PDF 副本,然后只合并 PDF 文件。

    【讨论】:

      【解决方案2】:

      我们使用 ABC Pdf。我不知道它是否足够快满足您的需求,但它似乎适合我们使用。

      【讨论】:

        【解决方案3】:

        我遇到了一个非常相似的问题,我们的文档已经以 PDF 格式存在,需要让用户看到它们全部组合在一起。我们购买了 PDF4NET 产品,我记得大约是 500 美元。它非常易于使用,并且提供了如何使用这些工具的精彩示例。

        O2 Solutions - PDF4NET

        这是他们为合并提供的代码示例。第一行看起来只是输出文件,后两行允许将内容流式传输回给用户。

                PDFFile.MergeFilesToDisk( "append.pdf", "unicode.pdf", "multicolumntextandimages.pdf" );
                PDFDocument doc =  PDFFile.MergeFilesToDoc( "append.pdf", "unicode.pdf", "multicolumntextandimages.pdf" );
                doc.SaveToStream( stream );
        

        【讨论】:

          【解决方案4】:

          您说您正在使用 Microsoft Office 打开这些文件,我想这是瓶颈,而不是实际的 PDF 创建。

          是否可以将这些文档提炼成更易于访问的格式(html/xml/数据库),这样就不必每次需要创建 PDF 时都打开办公室?

          【讨论】:

            【解决方案5】:

            虽然我没有 PDF 转换建议,但我可以说这个问题听起来像是一个可以分布在多个节点上的问题。您是否发现 PDF 生成受 CPU 限制或是否存在其他限制因素?在花费太多精力重写 PDF 库界面之前,您可能想看看瓶颈是什么。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-12-02
              • 1970-01-01
              • 1970-01-01
              • 2019-11-12
              • 2019-08-29
              • 2023-03-15
              • 2011-01-31
              • 1970-01-01
              相关资源
              最近更新 更多