網頁(HTML)轉換為PDF


將網頁轉化為pdf供打印和下載,是個普遍的功能,項目中遇到整理下。

前台瀏覽器

通過jspdf javascript庫在瀏覽器端生成pdf
優點: 可用通過前台搞定,不用添加后台方法
缺點:

  1. pdf布局麻煩
  2. 不支持Unicode,所以不支持中文。(當然也有解決辦法但需要依賴字體文件,文件太大不理想)

后台實現

后台實現的方法有很多種,大概原理為:通過一個瀏覽器內核程序接受HTML內容解析,在生成pdf。所以后台生成pdf支持:

  • 根源URL生成pdf
  • 根據HTML內容生成pdf

WkHtmlToPdf

該工具的功能就是把html轉為pdf文件用於存檔。 為了使用該工具必須先要下載該工具。該工具為exe文件。
這里介紹簡單好用的https://www.nrecosite.com/pdf_generator_net.aspx,.Netexe的調用提供了包裝。不要看到他是郵費的被嚇到,其實用免費的功能就能滿足。

  1. 引用動態庫NReco.PdfGenerator.dll
  2. 代碼操作簡單,這里舉例將html內容轉化為pdf流

		private Stream ConvertHtmlToPDF(string htmlContent) 
		{
			MemoryStream pdfStream = new MemoryStream();
			var htmlToPdf = new HtmlToPdfConverter();
			htmlToPdf.GeneratePdf(htmlContent, null, pdfStream);
			return pdfStream;
		}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM