erp-platform/api/modules/Erp.MailQueue/FileGeneration/PDFFileGenerator.cs
2025-11-11 22:49:52 +03:00

27 lines
769 B
C#

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<byte[]> Generate(MailTemplateTableModel table)
{
var html = await templateRenderer.RenderAsync("Table", table);
return pdfGenerator.GetPDF(html);
}
}