Esempio n. 1
0
        private void DoExport(C1PdfDocumentSource pds, ExportProvider ep)
        {
            saveFileDialog1.DefaultExt = "." + ep.DefaultExtension;
            saveFileDialog1.FileName   = Path.GetFileName(tbFile.Text) + "." + ep.DefaultExtension;
            saveFileDialog1.Filter     = string.Format("{0} (*.{1})|*.{1}|All files (*.*)|*.*", ep.FormatName, ep.DefaultExtension);
            if (saveFileDialog1.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            try
            {
                var exporter = ep.NewExporter();
                exporter.ShowOptions = false;
                exporter.FileName    = saveFileDialog1.FileName;
                if (exporter.ShowOptionsDialog())
                {
                    pds.Export(exporter);
                    MessageBox.Show(this, "Document was successfully exported.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 2
0
        private void DoExport(C1PdfDocumentSource pds, ExportProvider ep)
        {
            saveFileDialog.DefaultExt = "." + ep.DefaultExtension;
            saveFileDialog.FileName   = System.IO.Path.GetFileName(fpFile.SelectedFile.FullName) + "." + ep.DefaultExtension;
            saveFileDialog.Filter     = String.Format("{0} (*.{1})|*.{1}|All files (*.*)|*.*", ep.FormatName, ep.DefaultExtension);
            bool?dr = saveFileDialog.ShowDialog(this);

            if (!dr.HasValue || !dr.Value)
            {
                return;
            }

            try
            {
                var exporter = ep.NewExporter();
                exporter.ShowOptions = false;
                exporter.Preview     = true;
                exporter.FileName    = saveFileDialog.FileName;
                pds.Export(exporter);
                MessageBox.Show(this, "Document was successfully exported.", "Information", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 3
0
        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            if (_report.IsBusy)
            {
                return;
            }

            string selectedReport = cbReport.SelectedItem as string;

            if (string.IsNullOrEmpty(selectedReport))
            {
                return;
            }
            if (cbExportFilter.SelectedIndex < 0 || cbExportFilter.SelectedIndex >= _report.SupportedExportProviders.Length)
            {
                return;
            }

            // load report
            try
            {
                // load from resource stream
                Assembly asm = Assembly.GetExecutingAssembly();
                using (Stream stream = asm.GetManifestResourceStream("FlexReportSamples.Resources.FlexCommonTasks_XML.flxr"))
                    _report.Load(stream, selectedReport);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Failed to load report [{0}], exception:\r\n{1}", selectedReport, ex.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            // prepare ExportFilter object
            ExportProvider ep  = _report.SupportedExportProviders[cbExportFilter.SelectedIndex];
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.FileName        = string.Format("{0}.{1}", selectedReport, ep.DefaultExtension);
            sfd.Filter          = string.Format("{0} Files (*.{1})|*.{1}", ep.FormatName, ep.DefaultExtension);
            sfd.CheckPathExists = true;
            if (!sfd.ShowDialog().Value)
            {
                return;
            }
            ExportFilter ef = ep.NewExporter() as ExportFilter;

            ef.FileName = sfd.FileName;
            ef.Preview  = cbOpenDocument.IsChecked.Value;

            //
            try
            {
                _report.RenderToFilter(ef);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Failed to export report [{0}], exception:\r\n{1}", selectedReport, ex.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 4
0
        private async void btnExport_Click(object sender, RoutedEventArgs e)
        {
            string fileName = null;

            while (true)
            {
                try
                {
                    _pdfDocSource.UseSystemRendering = cbxUseSystemRendering.IsChecked.Value;
                    if (_pdfFile == null)
                    {
                        using (Stream stream = this.GetType().GetTypeInfo().Assembly.GetManifestResourceStream("PdfDocumentSourceSamples.Resources.DefaultDocument.pdf"))
                            await _pdfDocSource.LoadFromStreamAsync(stream.AsRandomAccessStream());
                        fileName = "DefaultDocument.pdf";
                    }
                    else
                    {
                        await _pdfDocSource.LoadFromFileAsync(_pdfFile);

                        fileName = Path.GetFileName(_pdfFile.Name);
                    }
                    break;
                }
                catch (PdfPasswordException)
                {
                    fileNameBlock.Text   = fileName;
                    passwordBox.Password = string.Empty;
                    if (await passwordDialog.ShowAsync() != ContentDialogResult.Primary)
                    {
                        return;
                    }
                    _pdfDocSource.Credential = new System.Net.NetworkCredential(null, passwordBox.Password);
                }
                catch (Exception ex)
                {
                    MessageDialog md = new MessageDialog(string.Format(Strings.PdfErrorFormat, fileName, ex.Message), Strings.ErrorTitle);
                    await md.ShowAsync();

                    return;
                }
            }

            // prepare ExportFilter object
            ExportProvider ep = _pdfDocSource.SupportedExportProviders[cbExportProvider.SelectedIndex];
            ExportFilter   ef = ep.NewExporter() as ExportFilter;

            ef.UseZipForMultipleFiles = cbxUseSystemRendering.IsChecked.Value;

            //
            if ((ef is BmpFilter || ef is JpegFilter || ef is PngFilter || ef is GifFilter))
            {
                // these export filters produce more than one file during export
                // ask for directory in this case
                if (cbxUseZipForMultipleFiles.IsChecked == true)
                {
                    // ask for zip file
                    FileSavePicker fsp = new FileSavePicker();
                    fsp.DefaultFileExtension = ".zip";
                    fsp.FileTypeChoices.Add(Strings.ZipFiles, new string[] { ".zip" });
                    fsp.SuggestedFileName = Path.GetFileNameWithoutExtension(fileName) + ".zip";
                    ef.StorageFile        = await fsp.PickSaveFileAsync();

                    if (ef.StorageFile == null)
                    {
                        return;
                    }
                }
                else
                {
                    FolderPicker fp = new FolderPicker();
                    fp.FileTypeFilter.Add("." + ep.DefaultExtension);
                    fp.FileTypeFilter.Add(".zip");
                    ef.StorageFolder = await fp.PickSingleFolderAsync();

                    if (ef.StorageFolder == null)
                    {
                        // user cancels an export
                        return;
                    }
                }
            }
            else
            {
                // ask for file
                FileSavePicker fsp = new FileSavePicker();
                fsp.DefaultFileExtension = "." + ep.DefaultExtension;
                fsp.FileTypeChoices.Add(ep.FormatName + " (." + ep.DefaultExtension + ")", new string[] { "." + ep.DefaultExtension });
                fsp.FileTypeChoices.Add(Strings.ZipFiles, new string[] { ".zip" });
                fsp.SuggestedFileName = Path.GetFileNameWithoutExtension(fileName) + "." + ep.DefaultExtension;
                ef.StorageFile        = await fsp.PickSaveFileAsync();

                if (ef.StorageFile == null)
                {
                    return;
                }
            }

            btnExport.IsEnabled = false;
            try
            {
                await _pdfDocSource.ExportAsync(ef);
                await ShowPreview(ef);
            }
            catch (Exception ex)
            {
                MessageDialog md = new MessageDialog(string.Format(Strings.FailedToExportFmt, ex.Message), Strings.ErrorTitle);
                await md.ShowAsync();
            }
            finally
            {
                btnExport.IsEnabled = true;
            }
        }
Esempio n. 5
0
        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            // load document
            while (true)
            {
                try
                {
                    if (fpFile.SelectedFile == null)
                    {
                        using (Stream stream = this.GetType().Assembly.GetManifestResourceStream(@"PdfDocumentSourceSamples.Resources.DefaultDocument.pdf"))
                            pdfDocumentSource.LoadFromStream(stream);
                    }
                    else
                    {
                        pdfDocumentSource.LoadFromFile(fpFile.SelectedFile.FullName);
                    }
                    break;
                }
                catch (PdfPasswordException)
                {
                    var password = PasswordWindow.DoEnterPassword(fpFile.SelectedFile.FullName);
                    if (password == null)
                    {
                        return;
                    }
                    pdfDocumentSource.Credential.Password = password;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            //
            OutputRange outputRange;

            if (rbtnPagesAll.IsChecked.Value)
            {
                outputRange = OutputRange.All;
            }
            else
            {
                if (!OutputRange.TryParse(tbPagesRange.Text, out outputRange))
                {
                    MessageBox.Show("Invalid range of pages.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            // execute action
            ExportProvider ep = (ExportProvider)((C1ComboBoxItem)cbExportFilter.SelectedItem).Tag;

            saveFileDialog.DefaultExt = "." + ep.DefaultExtension;
            saveFileDialog.FileName   = (fpFile.SelectedFile == null ? "DefaultDocument" : System.IO.Path.GetFileName(fpFile.SelectedFile.FullName)) + "." + ep.DefaultExtension;
            saveFileDialog.Filter     = String.Format("{0} (*.{1})|*.{1}|All files (*.*)|*.*", ep.FormatName, ep.DefaultExtension);
            bool?dr = saveFileDialog.ShowDialog();

            if (!dr.HasValue || !dr.Value)
            {
                return;
            }

            try
            {
                var exporter = ep.NewExporter();
                exporter.ShowOptions = false;
                exporter.Preview     = true;
                exporter.FileName    = saveFileDialog.FileName;
                exporter.Range       = outputRange;
                pdfDocumentSource.Export(exporter);
                MessageBox.Show("Document was successfully exported.", "Information", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 6
0
        private async Task DoExport(bool pickDestination)
        {
            if (_report.IsBusy)
            {
                return;
            }

            string selectedReport = cbReport.SelectedItem as string;

            if (string.IsNullOrEmpty(selectedReport))
            {
                return;
            }
            if (cbExportFilter.SelectedIndex < 0 || cbExportFilter.SelectedIndex >= _report.SupportedExportProviders.Length)
            {
                return;
            }
            ReportItem ri = tbReportFile.SelectedItem as ReportItem;

            if (ri == null || (ri.File == null && ri.Caption == c_Browse))
            {
                return;
            }

            // load report
            try
            {
                if (ri.File == null && ri.Caption == c_Builtin)
                {
                    // load from resource stream
                    Assembly asm = typeof(ExportPage).GetTypeInfo().Assembly;
                    using (Stream stream = asm.GetManifestResourceStream("FlexReportSamples.Resources.FlexCommonTasks_UWP.flxr"))
                        _report.Load(stream, selectedReport);
                }
                else
                {
                    await _report.LoadAsync(ri.File, selectedReport);
                }
            }
            catch (Exception ex)
            {
                MessageDialog md = new MessageDialog(string.Format(Strings.FailedToLoadFmt, selectedReport, ex.Message), "Error");
                await md.ShowAsync();

                return;
            }

            // prepare ExportFilter object
            ExportProvider ep = _report.SupportedExportProviders[cbExportFilter.SelectedIndex];
            ExportFilter   ef = ep.NewExporter() as ExportFilter;

            ef.UseZipForMultipleFiles = cbUseZipForMultipleFiles.IsChecked.Value;

            //
            if ((ef is BmpFilter || ef is JpegFilter || ef is PngFilter || ef is GifFilter))
            {
                // these export filters produce more than one file during export
                // ask for directory in this case
                string defFileName = selectedReport + "." + ep.DefaultExtension + ".zip";
                if (cbUseZipForMultipleFiles.IsChecked == true)
                {
                    if (pickDestination)
                    {
                        // ask for zip file
                        FileSavePicker fsp = new FileSavePicker();
                        fsp.DefaultFileExtension = ".zip";
                        fsp.FileTypeChoices.Add(Strings.ZipFiles, new string[] { ".zip" });
                        fsp.SuggestedFileName = defFileName;
                        ef.StorageFile        = await fsp.PickSaveFileAsync();

                        if (ef.StorageFile == null)
                        {
                            return;
                        }
                    }
                    else
                    {
                        // use file in temp folder
                        ef.StorageFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(defFileName, CreationCollisionOption.ReplaceExisting);
                    }
                }
                else
                {
                    if (pickDestination)
                    {
                        FolderPicker fp = new FolderPicker();
                        fp.FileTypeFilter.Add("." + ep.DefaultExtension);
                        fp.FileTypeFilter.Add(".zip");
                        ef.StorageFolder = await fp.PickSingleFolderAsync();

                        if (ef.StorageFolder == null)
                        {
                            // user cancels an export
                            return;
                        }
                    }
                    else
                    {
                        ef.StorageFolder = await ApplicationData.Current.TemporaryFolder.CreateFolderAsync(selectedReport, CreationCollisionOption.OpenIfExists);
                    }
                }
            }
            else
            {
                string defFileName = selectedReport + "." + ep.DefaultExtension;
                if (pickDestination)
                {
                    // ask for file
                    FileSavePicker fsp = new FileSavePicker();
                    fsp.DefaultFileExtension = "." + ep.DefaultExtension;
                    fsp.FileTypeChoices.Add(ep.FormatName + " (." + ep.DefaultExtension + ")", new string[] { "." + ep.DefaultExtension });
                    fsp.FileTypeChoices.Add(Strings.ZipFiles, new string[] { ".zip" });
                    fsp.SuggestedFileName = defFileName;
                    ef.StorageFile        = await fsp.PickSaveFileAsync();

                    if (ef.StorageFile == null)
                    {
                        return;
                    }
                }
                else
                {
                    // use file in temp folder
                    ef.StorageFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync(defFileName, CreationCollisionOption.ReplaceExisting);
                }
            }

            try
            {
                await _report.RenderToFilterAsync(ef);

                //_report.RenderToFilter(ef);
                await ShowPreview(ef);
            }
            catch (Exception ex)
            {
                MessageDialog md = new MessageDialog(string.Format(Strings.FailedToExportFmt, selectedReport, ex.Message), "Error");
                await md.ShowAsync();

                return;
            }
        }