From 172d7fe41a3c366407aca64e78fd9e5d21a45631 Mon Sep 17 00:00:00 2001 From: Henrique Teles Ribeiro Date: Thu, 30 Apr 2026 00:12:26 -0300 Subject: [PATCH] =?UTF-8?q?Exporta=C3=A7=C3=A3O=20PDF=20do=20fast=20report?= =?UTF-8?q?,=20ajuste=20na=20exporta=C3=A7=C3=A3o=20como=20byte[]=20permit?= =?UTF-8?q?indo=20passar=20a=20inst=C3=A2ncia=20do=20report=20por=20fora?= =?UTF-8?q?=20assim=20como=20a=20exporta=C3=A7=C3=A3o=20via=20arquivo=20e?= =?UTF-8?q?=20stream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NFe.Danfe.Fast.Skia/DanfeFastBase.cs | 45 ++++++++++++++++++++++++- NFe.Danfe.OpenFast/DanfeOpenFastBase.cs | 28 +++++++++++++-- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/NFe.Danfe.Fast.Skia/DanfeFastBase.cs b/NFe.Danfe.Fast.Skia/DanfeFastBase.cs index 9c46c64b1..f71781017 100644 --- a/NFe.Danfe.Fast.Skia/DanfeFastBase.cs +++ b/NFe.Danfe.Fast.Skia/DanfeFastBase.cs @@ -19,6 +19,7 @@ public void ExportarPdf(string arquivo) Relatorio.Prepare(); Relatorio.Export(new PDFExport(), arquivo); } + /// /// Converte o DANFE para PDF e copia para o stream /// @@ -37,6 +38,27 @@ public void ExportarPdf(Stream outputStream) } } + /// + /// Converte o DANFE para PDF retorna como byte[] + /// + public byte[] ExportarPdf() + { + using (MemoryStream stream = new MemoryStream()) // Create a stream for the report + { + try + { + Relatorio.Prepare(); + Relatorio.Export(new PDFExport(), stream); + return stream.ToArray(); + } + catch (System.Exception ex) + { + throw ex; + } + } + } + + /// /// Converte o DANFE para PDF e salva-o no caminho/arquivo indicado /// @@ -65,7 +87,28 @@ public void ExportarPdf(Stream outputStream, FastReport.Export.ExportBase export Relatorio.Export(exportBase, outputStream); outputStream.Position = 0; } - + + /// + /// Converte o DANFE para PDF retorna como byte[] + /// + /// Instancia do tipo de exportacao do FastReport + public byte[] ExportarPdf(FastReport.Export.ExportBase exportBase) + { + using (MemoryStream stream = new MemoryStream()) // Create a stream for the report + { + try + { + Relatorio.Prepare(); + Relatorio.Export(exportBase, stream); + return stream.ToArray(); + } + catch (System.Exception ex) + { + throw ex; + } + } + } + public byte[] ExportarHtml() { using (MemoryStream stream = new MemoryStream()) // Create a stream for the report diff --git a/NFe.Danfe.OpenFast/DanfeOpenFastBase.cs b/NFe.Danfe.OpenFast/DanfeOpenFastBase.cs index 8d2ce3d08..1eeaf0b27 100644 --- a/NFe.Danfe.OpenFast/DanfeOpenFastBase.cs +++ b/NFe.Danfe.OpenFast/DanfeOpenFastBase.cs @@ -39,6 +39,26 @@ public void ExportarPdf(Stream outputStream) } } + /// + /// Converte o DANFE para PDF retorna como byte[] + /// + public byte[] ExportarPdf() + { + using (MemoryStream stream = new MemoryStream()) // Create a stream for the report + { + try + { + Relatorio.Prepare(); + Relatorio.Export(new PDFSimpleExport(), stream); + return stream.ToArray(); + } + catch (System.Exception ex) + { + throw ex; + } + } + } + /// /// Converte o DANFE para PDF e salva-o no caminho/arquivo indicado /// @@ -68,14 +88,18 @@ public void ExportarPdf(Stream outputStream, FastReport.Export.ExportBase export outputStream.Position = 0; } - public byte[] ExportarPdf() + /// + /// Converte o DANFE para PDF retorna como byte[] + /// + /// Instancia do tipo de exportacao do FastReport + public byte[] ExportarPdf(FastReport.Export.ExportBase exportBase) { using (MemoryStream stream = new MemoryStream()) // Create a stream for the report { try { Relatorio.Prepare(); - Relatorio.Export(new PDFSimpleExport(), stream); + Relatorio.Export(exportBase, stream); return stream.ToArray(); } catch (System.Exception ex)