如何在c#中使用WkHtmlToXSharp ?

本文关键字:WkHtmlToXSharp | 更新日期: 2023-09-27 18:02:16

我读了很多关于WkHtmlToXSharp (wkhtmltopdf的包装器),所以我下载了它。这一页似乎是唯一的文档说明你只需要wkhtmltosharp.dll,但我无法在我下载的文件中找到它。它似乎是几个项目,在Libs/Win64文件夹中看起来像DLL的东西不会加载到我的项目中。

如果有人能给我一些说明,或者一些基本的样品,我将不胜感激。我需要知道。dll在哪里,使用什么命名空间,以及将HTML文件转换为PDF的一般用法语法。

谢谢! !

如何在c#中使用WkHtmlToXSharp ?

public static string ConvertHTMLtoPDF(string htmlFullPath, string pageSize, string orientation)
{
   string pdfUrl = htmlFullPath.Replace(".html", ".pdf");
   try
   {
       #region USING WkHtmlToXSharp.dll
       //IHtmlToPdfConverter converter = new WkHtmlToPdfConverter();
       IHtmlToPdfConverter converter = new MultiplexingConverter();
       converter.GlobalSettings.Margin.Top = "0cm";
       converter.GlobalSettings.Margin.Bottom = "0cm";
       converter.GlobalSettings.Margin.Left = "0cm";
       converter.GlobalSettings.Margin.Right = "0cm";
       converter.GlobalSettings.Orientation = (PdfOrientation)Enum.Parse(typeof(PdfOrientation), orientation);
       if (!string.IsNullOrEmpty(pageSize))
           converter.GlobalSettings.Size.PageSize = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), pageSize);
       converter.ObjectSettings.Page = htmlFullPath;
       converter.ObjectSettings.Web.EnablePlugins = true;
       converter.ObjectSettings.Web.EnableJavascript = true;
       converter.ObjectSettings.Web.Background = true;
       converter.ObjectSettings.Web.LoadImages = true;
       converter.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore;
       Byte[] bufferPDF = converter.Convert();
       System.IO.File.WriteAllBytes(pdfUrl, bufferPDF);
       converter.Dispose();
       #endregion
   }
   catch (Exception ex)
   {
       throw new Exception(ex.Message, ex);
   }
   return pdfUrl;
}

现阶段WkHtmlToXSharp没有64位版本,需要使用32位版本。

你应该在包的某个地方找到WkHtmlToXSharp.dll。

using WkHtmlToXSharp;
IHtmlToPdfConverter htmlToPdfConverter = new MultiplexingConverter();       
htmlToPdfConverter.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore;
htmlToPdfConverter.Convert(viewHtml);