RazorEngine
DinkToPdf
Our great sponsors
RazorEngine | DinkToPdf | |
---|---|---|
4 | 4 | |
2,114 | 1,037 | |
- | - | |
0.0 | 0.0 | |
almost 3 years ago | about 4 years ago | |
C# | C# | |
GNU General Public License v3.0 or later | 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.
RazorEngine
-
C# Library for Go template
There's a load of packages to do it for example https://github.com/Antaris/RazorEngine
-
How to generate PDF and HTML in 2023?
For HTML, you can use Razor from ASP.NET, either by making a web application you call with the data to get backthe page (microservice approach) or by shoving the Razor engine into your current application and rendering to strings.
- Rendering HTML (C# windows forms) not working after deploy
-
New library: BlazorTemplater
Sorry! I only realised the need on Monday when my .NET Standard Library that contains .cshtml templates broke when I added .razor support. I use RazorLight and used to use RazorEngine before that.
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?
RazorLight - Template engine based on Microsoft's Razor parsing engine for .NET Core
WKHTMLToPDF - Convert HTML to PDF using Webkit (QtWebKit)
scriban - A fast, powerful, safe and lightweight scripting language and engine for .NET
PuppeteerSharp - Headless Chrome .NET API
DotLiquid - .NET Port of Tobias Lütke's Liquid template language.
gotenberg - A developer-friendly API for converting numerous document formats into PDF files, and more!
SmartFormat.NET - A lightweight text templating library written in C# which can be a drop-in replacement for string.Format
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
Handlebars.Net - A real .NET Handlebars engine
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
Mustache Sharp - An extension of the mustache text template engine for .NET.
go-wkhtmltopdf - Go bindings for wkhtmltopdf and high-level HTML to PDF conversion interface