go-wkhtmltopdf
DinkToPdf
Our great sponsors
go-wkhtmltopdf | DinkToPdf | |
---|---|---|
2 | 4 | |
1,000 | 1,037 | |
- | - | |
4.0 | 0.0 | |
2 months ago | about 4 years ago | |
Go | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-wkhtmltopdf
- How to create a PDF?
-
[Advice] Generating PDFs in Golang.
Simplest way is to use a Go package: https://github.com/SebastiaanKlippert/go-wkhtmltopdf
DinkToPdf
-
How to generate PDF and HTML in 2023?
I used this package for a while to generate the PDF from HTML - https://github.com/rdvojmoc/DinkToPdf
-
Loving MudBlazor but need a fully-featured PDF viewer/annotator component like Syncfusion's
This may not be applicable in your situation, but I'll leave this info here anyways. I used DinkToPdf https://github.com/rdvojmoc/DinkToPdf for a Blazor Server and a Blazor WASM OMS application. I created a 'Reports' controller, created two different controller action methods. One to create the HTML for the PDF and the other to actually generate the PDF.
-
Best free .NET core 5.0 HTML to PDF to use?
The install instructions for DinkToPdf (see github) have a step about installing native binaries that your tutorial seems to be missing.
-
Azure Functions & wkhtmltopdf: Convert HTML to PDF
using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.Extensions.Logging; using DinkToPdf; using IPdfConverter = DinkToPdf.Contracts.IConverter; using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Blob; using System.Threading.Tasks; namespace Html2Pdf { public class Html2Pdf { // Read more about converter on: https://github.com/rdvojmoc/DinkToPdf // For our purposes we are going to use SynchronizedConverter IPdfConverter pdfConverter = new SynchronizedConverter(new PdfTools()); // A function to convert html content to pdf based on the configuration pased as arguments // Arguments: // HtmlContent: the html content to be converted // Width: the width of the pdf to be created. e.g. "8.5in", "21.59cm" etc. // Height: the height of the pdf to be created. e.g. "11in", "27.94cm" etc. // Margins: the margis around the content // DPI: The dpi is very important when you want to print the pdf. // Returns a byte array of the pdf which can be stored as a file private byte[] BuildPdf(string HtmlContent, string Width, string Height, MarginSettings Margins, int? DPI = 180) { // Call the Convert method of SynchronizedConverter "pdfConverter" return pdfConverter.Convert(new HtmlToPdfDocument() { // Set the html content Objects = { new ObjectSettings { HtmlContent = HtmlContent } }, // Set the configurations GlobalSettings = new GlobalSettings { // PaperKind.A4 can also be used instead of width & height PaperSize = new PechkinPaperSize(Width, Height), DPI = DPI, Margins = Margins } }); } // The name of the function [FunctionName("Html2Pdf")] // The first arugment tells that the functions can be triggerd by a POST HTTP request. // The second argument is mainly used for logging information, warnings or errors public async Task Run([HttpTrigger(AuthorizationLevel.Function, "POST")] Html2PdfRequest Request, ILogger Log) { // PDFByteArray is a byte array of pdf generated from the HtmlContent var PDFByteArray = BuildPdf(Request.HtmlContent, "8.5in", "11in", new MarginSettings(0, 0, 0, 0)); // The connection string of the Storage Account to which our PDF file will be uploaded // The connection string of the Storage Account to which our PDF file will be uploaded var StorageConnectionString = "DefaultEndpointsProtocol=https;AccountName=;AccountKey=;EndpointSuffix=core.windows.net"; // Generate an instance of CloudStorageAccount by parsing the connection string var StorageAccount = CloudStorageAccount.Parse(StorageConnectionString); // Create an instance of CloudBlobClient to connect to our storage account CloudBlobClient BlobClient = StorageAccount.CreateCloudBlobClient(); // Get the instance of CloudBlobContainer which points to a container name "pdf" // Replace your own container name CloudBlobContainer BlobContainer = BlobClient.GetContainerReference("pdf"); // Get the instance of the CloudBlockBlob to which the PDFByteArray will be uploaded CloudBlockBlob Blob = BlobContainer.GetBlockBlobReference(Request.PDFFileName); // Upload the pdf blob await Blob.UploadFromByteArrayAsync(PDFByteArray, 0, PDFByteArray.Length); } } }
What are some alternatives?
resumeio2pdf - Convert resume.io to pdf
WKHTMLToPDF - Convert HTML to PDF using Webkit (QtWebKit)
fpdf - A PDF document generator with high level support for text, drawing and images
PuppeteerSharp - Headless Chrome .NET API
gofpdf - A PDF document generator with high level support for text, drawing and images
gotenberg - A developer-friendly API for converting numerous document formats into PDF files, and more!
Report-From-DocX-HTML-To-PDF-Converter - .NET Core library to create custom reports based on Word docx or HTML documents and convert to PDF
unipdf - Golang PDF library for creating and processing PDF files (pure go)
scryber.core - Scryber.Core is a dotnet html to pdf engine written entirely in C# for creating beautiful flexible, flowing documents from html templates including css styles, data binding, svg drawing and encryption
gofpdf
go-wkhtmltopdf - Go bindings for wkhtmltopdf and high-level HTML to PDF conversion interface