rstm-sf / HTMLToQPDF

HTMLToQPDF is an extension for QuestPDF that allows to generate PDF from HTML

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Relorer.QuestPDF.HTML is an extension for QuestPDF that allows to generate PDF from HTML

QuestPDF currently does not support inserting html into a pdf document. So I wrote a small library for this. It doesn't support the full functionality of html and css, but I think it should be enough for most cases.

Dependencies

Usage

The simplest example of use:

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Content().Column(col =>
            {
                col.Item().HTML(handler =>
                {
                    handler.SetHtml(html);
                });
            });
    });
}).GeneratePdf(path);

I strongly recommend overloading the image upload method, because the outdated WebClient is used by default without using asynchronous. To do this, you can use the OverloadImgReceivingFunc:

col.Item().HTML(handler =>
{
    handler.OverloadImgReceivingFunc(GetImgBySrc);
    handler.SetHtml(html);
});

You can customize the styles of text and containers for tags:

handler.SetTextStyleForHtmlElement("div", TextStyle.Default.FontColor(Colors.Grey.Medium));
handler.SetTextStyleForHtmlElement("h1", TextStyle.Default.FontColor(Colors.DeepOrange.Accent4).FontSize(32).Bold());
handler.SetContainerStyleForHtmlElement("table", c => c.Background(Colors.Pink.Lighten5));
handler.SetContainerStyleForHtmlElement("ul", c => c.PaddingVertical(10));

You can set the vertical padding size for lists. This padding will not apply to sub-lists:

handler.SetListVerticalPadding(40);

You can use HTMLToQPDF.Example to try out the capabilities of this extension.

Default Styles Options for changing styles

About

HTMLToQPDF is an extension for QuestPDF that allows to generate PDF from HTML

License:MIT License


Languages

Language:C# 87.7%Language:HTML 12.3%