using Erp.MailQueue.MailGeneration.Models; using Volo.Abp.DependencyInjection; using Volo.Abp.TextTemplating; using Wkhtmltopdf.NetCore; namespace Erp.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 Generate(MailTemplateTableModel table) { var html = await templateRenderer.RenderAsync("Table", table); return pdfGenerator.GetPDF(html); } }