erp-platform/api/modules/Kurs.MailQueue/FileGeneration/PDFFileGenerator.cs

27 lines
770 B
C#
Raw Normal View History

2025-05-06 06:45:49 +00:00
using Kurs.MailQueue.MailGeneration.Models;
using Volo.Abp.DependencyInjection;
using Volo.Abp.TextTemplating;
using Wkhtmltopdf.NetCore;
namespace Kurs.MailQueue.FileGeneration;
public class PDFFileGenerator : IFileGenerator, ITransientDependency
{
private readonly IGeneratePdf pdfGenerator;
private readonly ITemplateRenderer templateRenderer;
public PDFFileGenerator(
IGeneratePdf pdfGenerator,
ITemplateRenderer templateRenderer)
{
this.pdfGenerator = pdfGenerator;
this.templateRenderer = templateRenderer;
}
public async Task<byte[]> Generate(MailTemplateTableModel table)
{
var html = await templateRenderer.RenderAsync("Table", table);
return pdfGenerator.GetPDF(html);
}
}