高分辨率轉HTML成PDF(ephtmltopdf.dll)


今天看到園友分享的 wkhtmtopdf--高分辨率轉HTML成PDF(三) 

想起我做 一鍵保存網頁為PDF_V1.2 的時候,也研究過一段時間這個,一開始也看的是wkhtmltopdf,不過發現wkhtmltopdf不好用:

1、中文支持不好
2、組件較大,有20多M吧
后來看到這個(ephtmltopdf.dll) http://www.html-to-pdf.net/
不過這個的試用版有版權信息,經過我的反復折騰,終於破解了它,去掉了版權信息。
有需要的可以去 http://download.csdn.net/detail/bdstjk/6007387
下載,提取破解后的DLL,也可以通過官方試用下載頁獲取試用DLL,http://www.html-to-pdf.net/Download.aspx 

ephtmltopdf.dll的功能優勢:

-支持HTML5和CSS3功能,包括畫布和SVG 

-支持內聯SVG在HTML文檔 

-支持網絡字體 

-支持Web開放字體格式WOFF 

-強大的html5/css3/javascript渲染引擎

-組件很小,只有1M多,而wkhtmtopdf有20多M

 

效果參見 一鍵保存網頁為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);
        }

 

  

當然,該組件還可以直接獲取到二進制流,如下示例:

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();

  

 

 


免責聲明!

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



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