3

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

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

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

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

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

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

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

编辑:感谢所有伟大的建议,我会研究其中的一些并比较性能。

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

4

5 回答 5

3

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

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

这表示:

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

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

于 2009-02-19T17:38:39.700 回答
2

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

于 2009-02-19T16:36:55.860 回答
2

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

O2 解决方案 - PDF4NET

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

        PDFFile.MergeFilesToDisk( "append.pdf", "unicode.pdf", "multicolumntextandimages.pdf" );
        PDFDocument doc =  PDFFile.MergeFilesToDoc( "append.pdf", "unicode.pdf", "multicolumntextandimages.pdf" );
        doc.SaveToStream( stream );
于 2009-02-19T17:00:13.783 回答
2

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

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

于 2009-02-19T21:28:57.887 回答
-1

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

于 2009-02-19T16:48:58.773 回答