//German 20100713 - Tarea 793
 private PaperSource GetPrinterTray(string TrayName, DataDynamics.ActiveReports.Document.Document document)
 {
     foreach (PaperSource ps in document.Printer.PrinterSettings.PaperSources)
     {
         if (ps.SourceName.ToUpper().Equals(TrayName.ToUpper()))
         {
             return(ps);
         }
     }
     return(null);
 }
        /// <summary>
        /// Convert report document to PDF <see cref="FileStreamResult" />.
        /// </summary>
        /// <param name="reportDocument">Active Report document instance</param>
        /// <param name="name">Name of report</param>
        /// <returns>The report as a PDF <see cref="FileStreamResult" />.</returns>
        public static FileStreamResult ToPdfResult(this DataDynamics.ActiveReports.Document.Document reportDocument, string name)
        {
            // Do not close or dispose MemoryStream as the FileStreamResult disposes it after use
            var memoryStream = new MemoryStream();

            using (var exported = new PdfExport())
            {
                exported.Export(reportDocument, memoryStream);

                memoryStream.Flush();
                memoryStream.Seek(0, SeekOrigin.Begin);

                var fileStreamResult = new FileStreamResult(memoryStream, "application/pdf");

                fileStreamResult.FileDownloadName = string.Format("{0}.pdf", name);

                return(fileStreamResult);
            }
        }
Example #3
0
        public ExportForm(DataDynamics.ActiveReports.Document.Document doc)
        {
            InitializeComponent();

            this.doc = doc;
        }
Example #4
0
        /// <summary>
        /// Does print report.
        /// </summary>
        /// <param name="generator">Report generator object.</param>
        /// <param name="description">Report state description.</param>
        /// <param name="showPrintDialog">Need show print dialog flag.</param>
        /// <param name="copiesCount">Selecetd copies count.</param>
        /// <param name="isCanceled">Is operation ccancel by user.</param>
        /// <returns>Operation status message.</returns>
        private MessageDetail _DoPrint(ReportsGenerator generator,
                                       ReportStateDescription description,
                                       bool showPrintDialog,
                                       ref int copiesCount,
                                       ref bool isCanceled)
        {
            Debug.Assert(null != generator);
            Debug.Assert(null != description);

            isCanceled = false;
            MessageDetail detail = null;

            try
            {
                // generate report
                if (null == description.Report)
                {
                    generator.RunReport(description);
                }

                // init print dialog
                DDActiveReports.Document.Document document = description.Report.Document;
                document.PrintAborted +=
                    new DDActiveReports.Document.PrintAbortedEventHandler(Document_PrintAborted);
                DDActiveReports.Document.Printer printer = document.Printer;
                printer.PrinterSettings.PrintRange = PrintRange.SomePages;
                printer.PrinterSettings.FromPage   = 1;
                printer.PrinterSettings.ToPage     = description.Report.Document.Pages.Count;
                printer.PrinterSettings.PrintRange = PrintRange.AllPages;

                // select application printer
                ArcLogistics.App.PrinterSettingsStore settings = App.Current.PrinterSettingsStore;
                if (!string.IsNullOrEmpty(settings.PrinterName))
                {
                    description.Report.Document.Printer.PrinterName         = settings.PrinterName;
                    description.Report.Document.Printer.DefaultPageSettings = settings.PageSettings;
                }

                // do printing
                if (!description.Report.Document.Print(showPrintDialog, true))
                {
                    isCanceled = true;
                }
                else
                {
                    if (showPrintDialog)
                    {
                        // store copies count
                        copiesCount = description.Report.Document.Printer.PrinterSettings.Copies;

                        // store printer settings in application
                        var prntSettings = description.Report.Document.Printer.PrinterSettings;
                        if (!string.IsNullOrEmpty(prntSettings.PrinterName))
                        {
                            settings.StoreSetting(prntSettings.PrinterName,
                                                  prntSettings.DefaultPageSettings);
                        }
                    }

                    string message = App.Current.GetString("ReportPreviewPrintDoneFormat",
                                                           description.ReportName);
                    detail = new MessageDetail(MessageType.Information, message);
                }
            }
            catch (Exception ex)
            {
                string message = App.Current.GetString("ReportPreviewPrintFailFormat",
                                                       description.ReportName);
                detail = _DoExceptionRoutine(message, ex, generator, description);
            }

            return(detail);
        }