我想使用iTextSharp將HTML文件轉換爲PDF。我使用this code。iTextSharp用於將HTML轉換爲PDF的替代品
我那麼做了以下將其轉換爲PDF格式:
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();
然而,沒有任何CSS的解析。任何替代品?
我想使用iTextSharp將HTML文件轉換爲PDF。我使用this code。iTextSharp用於將HTML轉換爲PDF的替代品
我那麼做了以下將其轉換爲PDF格式:
HTMLWorker htmlWorker = new HTMLWorker(document);
htmlWorker.Parse(new StringReader(results));
document.Close();
然而,沒有任何CSS的解析。任何替代品?
18個月前,我們徹底地測試了大多數可用的html-to-pdf轉換器(付費和免費)。最後,這個傳統的最好的 html-to-pdf轉換器是一個免費的開源程序,名爲wkhtmltopdf。
它是命令行驅動的,使用webkit渲染引擎,準確地(並且更重要的是,一致地)將網頁轉換成美觀的pdf文件。它還具有各種有用的命令行開關,爲您提供完整的頁眉/頁腳控制,可選地創建目錄頁面,並且運行速度非常快。而且 - 由於它是命令行驅動的,因此它可以很容易地用於批生成。你根本不會出錯。
作爲一個旁註,這個程序還有一個名爲wkhtmltoimage的姊妹程序(捆綁在下載中),其工作方式完全相同,但將網頁轉換爲各種圖像格式。這也非常有用,我們使用此功能在構建作業提案時拍攝我們基於Web的工具的快照。
我知道我聽起來像一個總迷人的男孩,但我不是。我只是一個對那裏所有的垃圾郵件轉換器感到厭倦的人,當我們發現wkhtmltopdf時,我被加倍地吹走了。我根本無法推薦這個小程序。
就替代方案而言,我只能推薦ABCpdf,我們已成功地使用它來將大量HTML文檔轉換爲PDF,作爲我們的Web應用程序的一部分。
它不會自動加載它。您需要按照以下方式手動完成。
StyleSheet ss = new StyleSheet();
ss.LoadStyle("body", "leading", "16,0");
ss.LoadStyle("p", "style", "font-family:Times New Roman");
然後使用
List<IElement> htmlToPDF = HTMLWorker.ParseToList(new StringReader("<font face=\"Times\">" + html + "</font>"), style);
foreach (IElement element in htmlToPDF) {
document.Add(element);
}
然而,只有一些樣式iTextSharp的不是所有的人工作。
其實你應該試試XMLWorker,這是itextsharp的一個插件。它剛剛在本月發佈。它可以比僅使用itextsharp更好地處理html。
我認爲wkhtmltopdf項目看起來不錯,但我不知道它是否會與我們的生產環境打得很好,因爲web應用程序是多線程程序。
更晚的時候再也不會,但是這裏有一個很好的例子來說明如何去做,也解釋了什麼是可能的,哪些不是:http://www.thiscouldbeuseful.com/2012/04/itextsharp-to-rescue-converting-html-to.html。
我更喜歡iTextSharp,因爲它提供了最多的功能。
你試過了什麼?該問題中的代碼是檢索HTML頁面,而不是將任何內容轉換爲PDF。 – Amy 2011-12-23 08:14:43
道歉,編輯了問題 – user1016313 2011-12-23 08:30:38
「HTMLWorker」已棄用。請嘗試使用它們的「XMLWorker」。 – VahidN 2014-01-09 07:58:02