我已经阅读了很多关于 WkHtmlToXSharp(wkhtmltopdf 的包装器)的内容,所以我下载了它。似乎是唯一文档的一页表明您只需要 wkhtmltosharp.dll,但我在下载的文件中找不到它。它似乎是几个项目,在 Libs/Win64 文件夹中看起来像 DLL 的东西不会加载到我的项目中。
如果有人能给我一些说明,也许还有一些基本示例,我将不胜感激。我需要知道 .DLL 在哪里、要使用的命名空间以及将 HTML 文件转换为 PDF 的一般用法语法。
谢谢你!!
我已经阅读了很多关于 WkHtmlToXSharp(wkhtmltopdf 的包装器)的内容,所以我下载了它。似乎是唯一文档的一页表明您只需要 wkhtmltosharp.dll,但我在下载的文件中找不到它。它似乎是几个项目,在 Libs/Win64 文件夹中看起来像 DLL 的东西不会加载到我的项目中。
如果有人能给我一些说明,也许还有一些基本示例,我将不胜感激。我需要知道 .DLL 在哪里、要使用的命名空间以及将 HTML 文件转换为 PDF 的一般用法语法。
谢谢你!!
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);