簡體   English   中英

ASP.Net將文檔轉換和合並為單個PDF

[英]ASP.Net Converting and Merging documents into single PDF

我需要具有將各種文檔轉換和合並為單個Pdf的能力。

這些文檔可以是各種類型,例如Word,Open Office,圖像,文本,網頁(按URL),而PDF通常包含2-3個文檔。

目前,我們正在使用BCL Technologies easyPDF,並將Microsoft Office安裝在服務器上。 它可以處理大多數文檔,但是我們還沒有使用Open Office。

目前,我們每天大約產生100-1000個這些PDF。

我問這個問題的原因是性能是一個關鍵問題。 PDF是為用戶動態生成的,因此我們目前等待的30-60秒的等待時間變得無法接受。

初始上傳文檔時,我們已經對它們進行了一些緩存,因此,當用戶請求Pdf時發生的主要任務是合並許多已經生成的Pdf。

是否還有其他人使用過其他工具,這些工具可以對大多數常見的文檔類型可靠地工作,並且最重要的是,可以迅速地工作? 當這樣放的時候,似乎我要問很多!

編輯:感謝所有的很棒的建議,我將研究其中一些並比較性能。

補充一點,金錢並不是真正的對象。 我們非常樂意為執行每個任務的不同應用程序付費,並研究各種硬件選項以盡可能多地分配負載。

合並多個PDF文檔通常很簡單(只要它們不需要在同一頁面上合並即可)-您可以將合並性能與iTextSharp(iText的.NET版本)進行比較,以確保它不會瓶頸-否則從其他格式到PDF的轉換很可能是瓶頸。

在幾乎所有情況下,用於將X轉換為PDF的方法是執行針對軟件PDF打印機的應用程序打印命令,以創建臨時PDF文件。

這意味着:

  • 目標應用程序(例如Office)已打開和關閉
  • 文件必須通過打印服務

在您的情況下,您要轉換用戶提交的任意文檔,還是這些文檔來自存儲的文件庫? 如果是庫,則可以在將每個文件添加到庫時(而不是用戶發出請求時)制作每個文件的PDF副本,然后僅合並PDF文件。

我們使用ABC Pdf。 我不知道它是否可以滿足您的需求,但它似乎可以滿足我們的需求。

我遇到了一個非常相似的問題,即我們擁有的文檔已經以PDF格式存在,需要讓用戶看到它們全部組合在一起。 我們從我記得的產品中購買了PDF500美元的PDF4NET產品。 它非常易於使用,並且提供了有關如何使用工具的出色示例。

O2解決方案-PDF4NET

這是它們提供的合並代碼示例。 第一行看起來就像只是輸出文件,后兩行則允許將內容流回給用戶。

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

您說您正在使用Microsoft Office打開這些文件,我想這是瓶頸,而不是實際的PDF創建。

是否可以將這些文檔提取為更易於訪問的格式(html / xml / database),這樣就不必在每次需要創建PDF時都打開辦公室?

雖然我沒有PDF轉換建議,但我可以說這個問題聽起來像是一個可以分布在多個節點上的問題。 您是否發現PDF生成受CPU限制或是否存在其他限制因素? 在花費大量精力重寫PDF庫界面之前,您可能需要了解瓶頸所在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM