簡體   English   中英

iTextSharp的替代品,可將HTML轉換為PDF

[英]Alternatives to iTextSharp for Converting HTML to PDF

我想使用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。 它還具有各種有用的命令行開關,可為您提供完整的頁眉/頁腳控制,還可以選擇創建目錄表頁面,並且運行非常非常快。 AND-因為它是命令行驅動的,所以它具有易於用於批處理生成的額外好處。 您根本不會出錯。

作為附帶說明,該程序還有一個名為wkhtmltoimage的姊妹程序(下載時捆綁在一起),其工作原理完全相同,但是將網頁轉換為多種圖像格式。 這也非常有用,我們在構建求職建議時使用此功能為基於Web的工具制作快照。

我知道我聽起來像是一個狂熱的粉絲,但事實並非如此。 我只是一個對所有的bulsh * t轉換器都感到厭煩的人,當我們找到wkhtmltopdf時,我被雙重震撼了。 我根本不能推薦這個小程序。

在替代方案方面,我只能推薦ABCpdf ,作為我們的Web應用程序之一,我們已成功使用ABCpdf將大量HTML文檔轉換為PDF。

它不會自動加載。 您需要按照以下說明手動進行操作。

 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,因為imo提供最多的功能。

暫無
暫無

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

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