Example #1
0
        private RadDocument LoadDocumentToInsert()
        {
            RadDocument document = null;

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "Word Documents (*.docx)|*.docx|All Files (*.*)|*.*";

            if (ofd.ShowDialog() == true)
            {
                string extension;
#if SILVERLIGHT
                extension = ofd.File.Extension.ToLower();
#else
                extension = Path.GetExtension(ofd.SafeFileName).ToLower();
#endif

                IDocumentFormatProvider provider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

                Stream stream;
#if SILVERLIGHT
                stream = ofd.File.OpenRead();
#else
                stream = ofd.OpenFile();
#endif
                using (stream)
                {
                    document = provider.Import(stream);
                }
            }

            return(document);
        }
Example #2
0
        /// <summary>
        /// Register format providers for the RadRichTextBox.
        /// </summary>
        /// <remarks>Manually register the format providers instead of relying on MEF.</remarks>
        static void RegisterFormatProviders()
        {
            var htmlProvider = CreateHtmlProvider();

            DocumentFormatProvidersManager.AutomaticallyLoadFormatProviders = false;
            DocumentFormatProvidersManager.RegisterFormatProvider(htmlProvider);
        }
Example #3
0
 private void LoadDocument()
 {
     using (Stream stream = Application.GetResourceStream(GetResourceUri(SampleDocumentPath)).Stream)
     {
         IDocumentFormatProvider xamlProvider = DocumentFormatProvidersManager.GetProviderByExtension(".xaml");
         this.radRichTextBox.Document = xamlProvider.Import(stream);
     }
 }
Example #4
0
        private void OpenFile(object parameter)
        {
            RadOpenFileDialog ofd = new RadOpenFileDialog();

            string stringParameter = parameter as string;

            if (stringParameter != null && stringParameter.Contains("|"))
            {
                ofd.Filter = stringParameter;
            }
            else
            {
                string filter = string.Join("|", DocumentFormatProvidersManager.FormatProviders.Where(fp => fp.CanImport)
                                            .OrderBy(fp => fp.Name)
                                            .Select(fp => FileHelper.GetFilter(fp))
                                            .ToArray()) + "|All Files|*.*";
                ofd.Filter = filter;
            }

            if (ofd.ShowDialog() == true)
            {
                string extension;
                extension = Path.GetExtension(ofd.FileName).ToLower();

                IDocumentFormatProvider provider =
                    DocumentFormatProvidersManager.GetProviderByExtension(extension);

                if (provider == null)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_UnsupportedFileFormat"));
                    return;
                }

                try
                {
                    Stream stream;
                    stream = ofd.OpenFile();
                    using (stream)
                    {
                        RadDocument document = provider.Import(stream);
                        this.radRichTextBox.Document = document;
                        this.SetDocumentName(ofd.FileName);
                    }
                }
                catch (IOException)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileIsLocked"));
                }
                catch (Exception)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileCannotBeOpened"));
                }
            }
        }
Example #5
0
        private void SetUpPlainTextPasteFromExternalSources()
        {
            //Clears default paste handlers (RTF -> HTML -> TXT).
            ClipboardEx.ClipboardHandlers.Clear();

            //Instantiate and register only plain-text clipboard handler.
            ClipboardHandler clipboardHandler = new ClipboardHandler();

            clipboardHandler.ClipboardDataFormat    = DataFormats.Text;
            clipboardHandler.DocumentFormatProvider = DocumentFormatProvidersManager.GetProviderByExtension("txt");
            ClipboardEx.ClipboardHandlers.Add(clipboardHandler);
        }
Example #6
0
        private void GetProvider(string extension)
        {
            this.provider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

            if (this.provider == null)
            {
                MessageBox.Show(LocalizationManager.GetString("Documents_SaveCommand_UnsupportedFileFormat"));
            }

            if (this.provider is IConfigurablePdfFormatProvider)
            {
                IConfigurablePdfFormatProvider pdfFormatProvider = (IConfigurablePdfFormatProvider)this.provider;
                pdfFormatProvider.ExportSettings.CommentsExportMode =
                    this.radRichTextBox.ShowComments ? PdfCommentsExportMode.NativePdfAnnotations : PdfCommentsExportMode.None;
            }
        }
Example #7
0
        private void OpenButton_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd    = new OpenFileDialog();
            string         filter = string.Join("|", DocumentFormatProvidersManager.FormatProviders
                                                .Where(fp => fp.CanImport)
                                                .OrderBy(fp => fp.Name)
                                                .Select(fp => this.GetFilter(fp))
                                                .ToArray()) + "|All Files|*.*";

            ofd.Filter = filter;

            if (ofd.ShowDialog() == true)
            {
                string extension = Path.GetExtension(ofd.SafeFileName).ToLower();

                this.provider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

                if (this.provider == null)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_UnsupportedFileFormat"));
                    return;
                }

                try
                {
                    Stream stream;
                    stream = ofd.OpenFile();
                    using (stream)
                    {
                        RadDocument document = provider.Import(stream);
                        this.radRichTextBox.Document = document;

                        // Preserve the file name to use it when saving
                        this.path = ofd.FileName;
                    }
                }
                catch (IOException ex)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileIsLocked"));
                }
                catch (Exception ex)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileCannotBeOpened"));
                }
            }
        }
Example #8
0
        private void SaveDocument()
        {
            SaveFileDialog saveDialog      = new SaveFileDialog();
            var            formatProviders = DocumentFormatProvidersManager.FormatProviders.Where(fp => fp.CanExport);

            saveDialog.Filter = string.Join("|", formatProviders.Select(fp => GetFilter(fp)).ToArray()) + "|All Files|*.*";

            saveDialog.FilterIndex = 3;

            bool?dialogResult = saveDialog.ShowDialog();

            if (dialogResult == true)
            {
                string extension = Path.GetExtension(saveDialog.SafeFileName);
                IDocumentFormatProvider provider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

                using (Stream output = saveDialog.OpenFile())
                {
                    provider.Export(this.radRichTextBox.Document, output);
                }
            }
        }
        private void ConvertFiles(object parameter)
        {
            ThreadParameters threadParameters = parameter as ThreadParameters;

            IDocumentFormatProvider fromFormatProvider =
                (threadParameters.FromFormatProvider == null) ? DocumentFormatProvidersManager.GetProviderByExtension(threadParameters.FileInfo.Extension) :
                threadParameters.FromFormatProvider;

            RadDocument document = null;

            using (Stream readStream = threadParameters.FileInfo.OpenRead())
            {
                document = fromFormatProvider.Import(readStream);
            }

            string fileName = Path.GetFileNameWithoutExtension(threadParameters.FileInfo.Name) + threadParameters.ToFormatProvider.SupportedExtensions.First();

            using (FileStream writeStream = new FileStream(this.toPath + "\\" + fileName, FileMode.Create))
            {
                document.EnsureDocumentMeasuredAndArranged();
                threadParameters.ToFormatProvider.Export(document, writeStream);
            }
        }
Example #10
0
        public void OpenFile(string parameter)
        {
            if (parameter != "")
            {
                string extension;
                extension = Path.GetExtension(parameter).ToLower();

                IDocumentFormatProvider provider =
                    DocumentFormatProvidersManager.GetProviderByExtension(extension);

                if (provider == null)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_UnsupportedFileFormat"));
                    return;
                }

                try
                {
                    Stream stream;
                    stream = File.Open(parameter, FileMode.Open);
                    using (stream)
                    {
                        RadDocument document = provider.Import(stream);
                        this.radRichTextBox.Document = document;
                        this.SetDocumentName(parameter);
                    }
                }
                catch (IOException)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileIsLocked"));
                }
                catch (Exception)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_OpenDocumentCommand_TheFileCannotBeOpened"));
                }
            }
        }
Example #11
0
        /// <summary>
        /// Sets up default rich text paste that uses the RTF content of the clipboard first,
        /// then HTML and lastly - plain text.
        /// </summary>
        private void SetUpDefaultRichTextPasteFromExternalSources()
        {
            //Clears previously registered handlers and resets them to the default fallback values.
            ClipboardEx.ClipboardHandlers.Clear();

            ClipboardHandler rtfHandler = new ClipboardHandler();

            rtfHandler.DocumentFormatProvider = DocumentFormatProvidersManager.GetProviderByExtension("rtf");
            rtfHandler.ClipboardDataFormat    = DataFormats.Rtf;
            ClipboardEx.ClipboardHandlers.Add(rtfHandler);

            ClipboardHandler htmlHandler = new ClipboardHandler();

            htmlHandler.DocumentFormatProvider = DocumentFormatProvidersManager.GetProviderByExtension("html");
            htmlHandler.ClipboardDataFormat    = DataFormats.Html;
            htmlHandler.ClipboardStringFilter  = ClipboardEx.StripHtmlClipboardFormatHeaders;
            ClipboardEx.ClipboardHandlers.Add(htmlHandler);

            ClipboardHandler txtHandler = new ClipboardHandler();

            txtHandler.DocumentFormatProvider = DocumentFormatProvidersManager.GetProviderByExtension("txt");
            txtHandler.ClipboardDataFormat    = DataFormats.Text;
            ClipboardEx.ClipboardHandlers.Add(txtHandler);
        }
Example #12
0
        public static IDocumentFormatProvider GetFormatProvider(string extension)
        {
            IDocumentFormatProvider formatProvider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

            return(formatProvider);
        }
Example #13
0
        private void SaveFile(object parameter)
        {
            string            extension    = null;
            Stream            outputStream = null;
            RadSaveFileDialog saveDialog   = new RadSaveFileDialog();
            string            exportFormat = parameter as string;

            if (exportFormat != null && exportFormat.Contains("|"))
            {
                saveDialog.Filter = exportFormat;
            }
            else
            {
                var formatProviders = DocumentFormatProvidersManager.FormatProviders;

                if (!string.IsNullOrEmpty(exportFormat))
                {
                    string[] extensions = exportFormat.Split(',', ';').Select(e => e.Trim('.').ToLower()).ToArray();
                    formatProviders = formatProviders.Where(fp => fp.SupportedExtensions.Any(ext => extensions.Contains(ext.Trim('.').ToLower())));
                }

                string filter = string.Join("|", formatProviders.Where(fp => fp.CanExport)
                                            .OrderBy(fp => fp.Name)
                                            .Select(fp => FileHelper.GetFilter(fp))
                                            .ToArray());
                saveDialog.Filter = filter;
            }

            bool?dialogResult = saveDialog.ShowDialog();

            if (dialogResult == true)
            {
                extension    = System.IO.Path.GetExtension(saveDialog.FileName);
                outputStream = saveDialog.OpenFile();

                IDocumentFormatProvider provider = DocumentFormatProvidersManager.GetProviderByExtension(extension);

                if (provider == null)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_SaveCommand_UnsupportedFileFormat"));
                    return;
                }

                if (provider is IConfigurablePdfFormatProvider)
                {
                    IConfigurablePdfFormatProvider pdfFormatProvider = (IConfigurablePdfFormatProvider)provider;
                    pdfFormatProvider.ExportSettings.CommentsExportMode =
                        this.radRichTextBox.ShowComments ? PdfCommentsExportMode.NativePdfAnnotations : PdfCommentsExportMode.None;
                }

                try
                {
                    using (outputStream)
                    {
                        provider.Export(this.radRichTextBox.Document, outputStream);
                        this.SetDocumentName(saveDialog.FileName);
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show(LocalizationManager.GetString("Documents_SaveCommand_UnableToSaveFile"));
                }
            }
        }