예제 #1
0
        public override void Imprimir()
        {
            using (internalReport = new Report())
            {
                PrepararImpressao();

                internalReport.RegisterData(Parent.NotasServico.ToArray(), "NotaServico");
                internalReport.Prepare();

                if (isDesign)
                {
                    //internalReport.Design();
                }
                else
                {
                    switch (Filtro)
                    {
                    case FiltroDFeReport.Nenhum:
                        throw new NotImplementedException("ok");

                    case FiltroDFeReport.PDF:
                        var evtPdf = new DANFSeExportEventArgs();
                        evtPdf.Export = new PDFSimpleExport
                        {
                            ShowProgress    = MostrarSetup,
                            OpenAfterExport = MostrarPreview
                        };

                        OnExport.Raise(this, evtPdf);
                        internalReport.Export(evtPdf.Export, NomeArquivo);
                        break;

                    case FiltroDFeReport.HTML:
                        var evtHtml = new DANFSeExportEventArgs();
                        evtHtml.Export = new HTMLExport()
                        {
                            Format        = HTMLExportFormat.MessageHTML,
                            EmbedPictures = true,
                            Preview       = MostrarPreview,
                            ShowProgress  = MostrarSetup
                        };

                        OnExport.Raise(this, evtHtml);
                        internalReport.Export(evtHtml.Export, NomeArquivo);
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }

                internalReport.Dispose();
            }

            internalReport = null;
        }
예제 #2
0
        public Stream ExportToStream()
        {
            using (internalReport = new Report())
            {
                PrepararImpressao();

                internalReport.RegisterData(Parent.NotasServico.ToArray(), "NotaServico");
                internalReport.Prepare();
                var evtPdf = new DANFSeExportEventArgs
                {
                    Export = new PDFSimpleExport
                    {
                        ShowProgress    = MostrarSetup,
                        OpenAfterExport = MostrarPreview
                    }
                };

                OnExport.Raise(this, evtPdf);
                var stream = new MemoryStream();
                internalReport.Export(evtPdf.Export, stream);
                return(stream);
            }
        }