Asp.net

您是否有任何免費的 .Net 託管程式碼用於將 DocX 轉換為 PDF?

  • October 8, 2018

在我的 Web 項目中,我使用 DocX 文件類型來包含報告模板。我需要將 DocX 文件類型轉換為 PDF。您有任何 .Net 託管程式碼來執行此操作嗎?

我知道解決這個問題的幾種方法。但它不是託管程式碼,並且像以下項目一樣免費。

  • Word 12.0 對像庫以程式方式將 Word 2007 文件另存為 PDF 文件或 XPS 文件。但它需要在伺服器上安裝 Office 2007。
  • 使用一些免費的 PDF 列印機(如PDFCreator )進行列印。但是我需要一些程序來在 Office 2007 等伺服器上打開 DocX。這是個非常糟糕的主意。
  • 通過免費的轉換器程序進行轉換。但結果並不完美。
  • 使用XF Rendering Server 之類的框架。這是個好主意,但它不是免費的。
  • 在 PDF Api 中創建所有文件內容,例如iTextSharp。但我必須努力創建好的文件。
  • 或者創建具有其他文件格式的模板文件,可以將其導出為 DocX 和 PDF 文件格式。此外,最終使用者應輕鬆編輯此文件。如果你知道,請告訴我。

謝謝,

我沒有將 DocX 轉換為 PDF 的程式碼,但您對 DocX 的要求似乎並不嚴格。你的最後一個子彈說:

或者創建具有其他文件格式的模板文件,可以將其導出為 DocX 和 PDF 文件格式。此外,最終使用者應輕鬆編輯此文件。如果你知道,請告訴我。

我讀到這意味著您希望能夠創建一個模板文件,用數據填充它並將其轉換為 PDF,但允許維護模板,對嗎?

解決方案:XSL-FO

XSL-FO 是一個類似於 HTML 的 W3C 標準,可以被許多開源和商業產品轉換為 PDF、WordML、XPS、PS、PCL、SVG、TIFF 等。我用它來傳遞數十萬個文件每月,以 PDF 格式線上和離線(例如批量支票列印)。

為了幫助您入門,這裡是XML-FO 的 W3C 頁面。那裡有很多很好的資訊,包括左側的軟體列表(開源和商業)。我個人使用了 RenderX 的兩個名為IBEX PDF CreatorXEP 的商業產品。兩者都是優秀的產品,並且有一個 100% 託管的 C# 實現可以在 CodePlex 上獲取名為FO.NET的 PDF。我沒有嘗試過,但它應該滿足您的“免費”標準。

有多種方法可以編輯要在 XSL-FO 中創建的文件的模板。通常,此模板是應用於 XML 數據的 XSLT,但這不是必需的。我是手工製作的,但這有點學習曲線。您可以從 XSL-FO 中的文件開始,然後用程式碼填充其中的各個部分,就像使用 HTML 一樣。好消息是那裡 許多 XSL-FO 編輯器。壞消息是,我所知道的沒有一個是免費的,但其中有幾個很便宜,你可以通過Google搜尋找到符合免費標準的東西。但是,一種選擇是您可以使用樣式表(商業免費)從 Word 轉換。

引用自:https://stackoverflow.com/questions/1356718