C# ASP.Net将文档转换和合并为单个PDF

C# ASP.Net将文档转换和合并为单个PDF,c#,asp.net,pdf,pdf-generation,C#,Asp.net,Pdf,Pdf Generation,我需要有能力转换和合并成一个单一的Pdf各种文件 文档可以是不同的类型,例如Word、Open Office、图像、文本、网页(通过URL),PDF通常由2-3个文档组成 目前,我们正在使用BCL技术easyPDF,并将Microsoft Office安装到服务器上。它可以处理大多数文档,但我们还没有让它处理开放办公室文档 我们目前每天生产大约100-1000份此类PDF 我问这个问题的原因是,性能是一个关键问题。PDF是为动态用户生成的,因此我们目前获得的30-60秒的等待时间变得不可接受 我

我需要有能力转换和合并成一个单一的Pdf各种文件

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

目前,我们正在使用BCL技术easyPDF,并将Microsoft Office安装到服务器上。它可以处理大多数文档,但我们还没有让它处理开放办公室文档

我们目前每天生产大约100-1000份此类PDF

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

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

其他人是否有其他工具可以可靠地用于大多数常见的文档类型,尤其是快速地工作?当这样说的时候,我似乎要求很多

编辑: 感谢所有的好建议,我将研究其中一些并比较性能


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

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

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

我遇到了一个非常类似的问题,我们有已经存在的PDF格式的文档,需要允许用户看到它们全部合并在一起。我们购买了PDF4NET产品,据我回忆,大约是500美元。这是非常容易使用,他们提供了可怕的例子,如何使用这些工具

下面是它们为合并提供的代码示例。顶行看起来只是输出文件,第二行允许将内容流式传输回用户

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

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

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

这意味着:

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

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

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

是否可以将这些文档提取为更易于访问的格式(html/xml/数据库),这样就不必在每次需要创建PDF时打开office