Skip to content

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

License

Notifications You must be signed in to change notification settings

Earlybyte/HTMLToQPDF

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Earlybyte.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

Publish on nuget

  1. Update version in HTMLToQPDF.csproj
  2. Create the package cd ./HTMLToQPDF/ && dotnet pack && cd ..
  3. Upload to nuget via dotnet nuget push HTMLToQPDF/bin/Debug/Earlybyte.QuestPDF.HTML.0.0.0.nupkg --api-key <API-KEY> --source https://api.nuget.org/v3/index.json

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 87.8%
  • HTML 12.2%