public async Task <FileStreamResult> ExportToPdf(string htmlContent, bool rotate) { var pageSize = rotate ? PageSize.A4.Rotate() : PageSize.A4; var convertRequest = new ConvertRequest { Content = htmlContent, Footer = PdfFormation.PageNumberFooterTemplate }; var pdfConverter = new PdfHtmConverter(convertRequest); var memoryStream = pdfConverter.ManipulatePdf(pageSize); var guid = Guid.NewGuid(); var outputFilePath = $"report_{guid}.pdf"; var finalOutputFilePath = $"final_report_{guid}.pdf"; await PdfFileWriter.SaveToFile(memoryStream, outputFilePath); _logger.LogInformation($"Saved pdf file {outputFilePath}"); pdfConverter.DecoratePdf(outputFilePath, finalOutputFilePath); var response = PdfFileReader.ReadFrom(finalOutputFilePath); FileOperator.Delete(outputFilePath); _logger.LogInformation($"Deleted pdf file {outputFilePath}"); FileOperator.Delete(finalOutputFilePath); _logger.LogInformation($"Deleted pdf file {finalOutputFilePath}"); return(new FileStreamResult(response, "application/pdf")); }
public void SalvarLista(Lista lista, string caminhoArquivo) { ListaPub listaPublicacao = null; Execute(d => { listaPublicacao = d.CarregarListaPublicacao(lista.IdLista); }); PdfFileWriter.WriteToPdf(caminhoArquivo, Model, listaPublicacao); System.Diagnostics.Process.Start(caminhoArquivo); }