5 Stimmen

Wie verwende ich WkHtmlToXSharp in C#

Ich habe eine Menge über WkHtmlToXSharp (Wrapper für wkhtmltopdf) gelesen, also habe ich es heruntergeladen. Die eine Seite, die die einzige Dokumentation zu sein scheint, sagt, dass Sie nur die wkhtmltosharp.dll benötigen, aber ich kann es nicht in der Datei finden, die ich heruntergeladen habe. Es scheint mehrere Projekte zu sein, und das Ding, das wie eine DLL im Ordner Libs/Win64 aussieht, lässt sich nicht in mein Projekt laden.

Ich würde es sehr begrüßen, wenn mir jemand eine Anleitung und vielleicht ein paar einfache Beispiele zeigen könnte. Ich muss wissen, wo die DLL ist, welchen Namespace ich verwenden muss und wie die allgemeine Syntax für die Konvertierung einer HTML-Datei in PDF aussieht.

DANKE!!

6voto

Derin Punkte 1122
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;
}

0voto

Betty Punkte 9029

Von WkHtmlToXSharp gibt es derzeit keine 64bit-Version, Sie müssen die 32bit-Version verwenden.

Sie sollten WkHtmlToXSharp.dll irgendwo in dem Paket finden.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X