QuestPdfUtil
DinkToPdf
QuestPdfUtil | DinkToPdf | |
---|---|---|
1 | 4 | |
38 | 1,037 | |
- | - | |
10.0 | 0.0 | |
about 2 years ago | about 4 years ago | |
C# | 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.
QuestPdfUtil
-
๐ QuestPDF presented on JetBrains OSS Power-Ups! The 2022.5 release extends support for dynamic and conditional layouts, and improves rendering performance ๐Open-source C# library for designing and generating PDF documents
Recently, a new project was created that attempts to translate basic HTML structures to QuestPDF invocations. I don't think that it will ever cover all complexities of HTML and CSS, not to mention JavaScript execution. However, it may be an interesting alternative if you want to support only simple, well-known cases.
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?
nopCommerce - ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
WKHTMLToPDF - Convert HTML to PDF using Webkit (QtWebKit)
Magicodes.IE - Import and export general library, support Dto import and export, template export, fancy export and dynamic export, support Excel, Csv, Word, Pdf and Html.
PuppeteerSharp - Headless Chrome .NET API
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
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
go-wkhtmltopdf - Go bindings for wkhtmltopdf and high-level HTML to PDF conversion interface
GotenbergSharpApiClient - .NET C# Client for the Gotenberg API
go-wkhtmltopdf - Golang commandline wrapper for wkhtmltopdf
HtmlSanitizer - Cleans HTML to avoid XSS attacks
RazorEngine - Open source templating engine based on Microsoft's Razor parsing engine