今天看到園友分享的wkhtmtopdf--高分辨率轉(zhuǎn)HTML成PDF(三)
想起我做一鍵保存網(wǎng)頁為PDF_V1.2的時(shí)候,也研究過一段時(shí)間這個(gè),一開始也看的是wkhtmltopdf,不過發(fā)現(xiàn)wkhtmltopdf不好用:
1、中文支持不好2、組件較大,有20多M吧后來看到這個(gè)(ephtmltopdf.dll)http://www.html-to-pdf.net/不過這個(gè)的試用版有版權(quán)信息,經(jīng)過我的反復(fù)折騰,終于破解了它,去掉了版權(quán)信息。有需要的可以去http://download.csdn.net/detail/bdstjk/6007387下載,提取破解后的DLL,也可以通過官方試用下載頁獲取試用DLL,http://www.html-to-pdf.net/Download.aspx
ephtmltopdf.dll的功能優(yōu)勢(shì):
-支持HTML5和CSS3功能,包括畫布和SVG
-支持內(nèi)聯(lián)SVG在HTML文檔
-支持網(wǎng)絡(luò)字體
-支持Web開放字體格式WOFF
-強(qiáng)大的html5/css3/javascript渲染引擎
-組件很小,只有1M多,而wkhtmtopdf有20多M
效果參見一鍵保存網(wǎng)頁為PDF_V1.2,這里就只介紹一下用法了。
主要代碼如下,即可將HTML保存為本地的PDF文件了
public void Use_ephtmltopdf(string URL, string outFile) { PdfConverter pdfConverter = new PdfConverter(); pdfConverter.PdfDocumentOptions.EmbedFonts = false; pdfConverter.PdfDocumentOptions.ShowFooter = false; pdfConverter.PdfDocumentOptions.ShowHeader = false; pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true; pdfConverter.SavePdfFromUrlToFile(URL, outFile); }
當(dāng)然,該組件還可以直接獲取到二進(jìn)制流,如下示例:
pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;pdfConverter.PdfDocumentOptions.PdfComPRessionLevel = PdfCompressionLevel.Normal;pdfConverter.PdfDocumentOptions.ShowHeader = true;pdfConverter.PdfDocumentOptions.ShowFooter = true;pdfConverter.PdfDocumentOptions.LeftMargin = 5;pdfConverter.PdfDocumentOptions.RightMargin = 5;pdfConverter.PdfDocumentOptions.TopMargin = 5;pdfConverter.PdfDocumentOptions.BottomMargin = 5;pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true;pdfConverter.PdfDocumentOptions.ShowHeader = false;//pdfConverter.PdfHeaderOptions.HeaderText = "Sample header: " + TxtURL.Text;//pdfConverter.PdfHeaderOptions.HeaderTextColor = Color.Blue;//pdfConverter.PdfHeaderOptions.HeaderDescriptionText = string.Empty;//pdfConverter.PdfHeaderOptions.DrawHeaderLine = false;pdfConverter.PdfFooterOptions.FooterText = "Sample footer: " + TxtURL.Text + ". You can change color, font and other options";pdfConverter.PdfFooterOptions.FooterTextColor = Color.Blue;pdfConverter.PdfFooterOptions.DrawFooterLine = false;pdfConverter.PdfFooterOptions.PageNumberText = "Page";pdfConverter.PdfFooterOptions.ShowPageNumber = true;//pdfConverter.LicenseKey = "put your serial number here";byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes(url);System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;response.Clear();response.AddHeader("Content-Type", "binary/octet-stream");response.AddHeader("Content-Disposition", "attachment; filename=" + downloadName + "; size=" + downloadBytes.Length.ToString());response.Flush();response.BinaryWrite(downloadBytes);response.Flush();response.End();
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注