12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Hotline.Ai.Quality;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- namespace Hotline.Pdf
- {
- public class QuestPdfManager : IPdfManager
- {
- public void GeneratePdf(string title, string content, Stream stream) => CreateDocument(title, content).GeneratePdf(stream);
- public void GeneratePdf(string title, string content, string path) => CreateDocument(title, content).GeneratePdf(path);
- private Document CreateDocument(string title, string content)
- {
- return Document.Create(container =>
- {
- container.Page(page =>
- {
- page.Size(PageSizes.A4);
- page.Margin(2, Unit.Centimetre);
- page.PageColor(Colors.White);
- page.DefaultTextStyle(x => x.FontSize(20));
- page.Header()
- .Text(title)
- .SemiBold().FontSize(36).FontColor(Colors.Blue.Medium);
- page.Content()
- .PaddingVertical(1, Unit.Centimetre)
- .Column(x =>
- {
- x.Spacing(20);
- //x.Item().Text(Placeholders.LoremIpsum());
- //x.Item().Image(Placeholders.Image(200, 100));
- x.Item().Text(content);
- });
- page.Footer()
- .AlignCenter()
- .Text(x =>
- {
- x.Span("Page ");
- x.CurrentPageNumber();
- });
- });
- });
- }
- }
- }
|