public static string ConvertRtfToXaml(string rtfText) { var richTextBox = new System.Windows.Controls.RichTextBox(); if (string.IsNullOrEmpty(rtfText)) return String.Empty; var textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); using (var rtfMemoryStream = new MemoryStream()) { using (var rtfStreamWriter = new StreamWriter(rtfMemoryStream)) { rtfStreamWriter.Write(rtfText); rtfStreamWriter.Flush(); rtfMemoryStream.Seek(0, SeekOrigin.Begin); textRange.Load(rtfMemoryStream, DataFormats.Rtf); } } using (var rtfMemoryStream = new MemoryStream()) { textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); textRange.Save(rtfMemoryStream, System.Windows.DataFormats.Xaml); rtfMemoryStream.Seek(0, SeekOrigin.Begin); using (var rtfStreamReader = new StreamReader(rtfMemoryStream)) { return rtfStreamReader.ReadToEnd(); } } }
public void SaveData() { TextRange sourceDocument = new TextRange(mainRTB.Document.ContentStart, mainRTB.Document.ContentEnd); string rtf = ""; using (MemoryStream stream = new MemoryStream()) { sourceDocument.Save(stream, DataFormats.Rtf); stream.Seek(0, SeekOrigin.Begin); using (StreamReader reader = new StreamReader(stream)) { rtf = reader.ReadToEnd(); } } if (mIsSummaryNarrative) { mDataSet.Tables["i9Narrative"].Rows[0]["SummaryNarrative"] = sourceDocument.Text; mDataSet.Tables["i9Narrative"].Rows[0]["SummaryNarrativeFormat"] = rtf; } else { mDataSet.Tables["i9Narrative"].Rows[0]["Narrative"] = sourceDocument.Text; mDataSet.Tables["i9Narrative"].Rows[0]["NarrativeFormat"] = rtf; } }
public static void AddBlock(Block from, FlowDocument to) { if (from != null) { //if (from is ItemsContent) //{ // ((ItemsContent)from).RunBeforeCopy(); //} //else { TextRange range = new TextRange(from.ContentStart, from.ContentEnd); MemoryStream stream = new MemoryStream(); System.Windows.Markup.XamlWriter.Save(range, stream); range.Save(stream, DataFormats.XamlPackage); TextRange textRange2 = new TextRange(to.ContentEnd, to.ContentEnd); textRange2.Load(stream, DataFormats.XamlPackage); } } }
private static void LoadRange(RichTextBox richTextBox, TextRange range) { MemoryStream buffer = new MemoryStream(); range.Save(buffer, DataFormats.Rtf); var rtf = Encoding.UTF8.GetString(buffer.ToArray()); SetContent(richTextBox, rtf); }
/// <summary> /// 获取文档分页器 /// </summary> /// <param name="pageWidth"></param> /// <param name="pageHeight"></param> /// <returns></returns> public DocumentPaginator GetPaginator(double pageWidth,double pageHeight) { //将RichTextBox的文档内容转为XAML TextRange originalRange = new TextRange( _textBox.Document.ContentStart, _textBox.Document.ContentEnd ); MemoryStream memoryStream = new MemoryStream(); originalRange.Save(memoryStream, System.Windows.DataFormats.XamlPackage); //根据XAML将流文档复制一份 FlowDocument copy = new FlowDocument(); TextRange copyRange = new TextRange( copy.ContentStart, copy.ContentEnd ); copyRange.Load(memoryStream, System.Windows.DataFormats.XamlPackage); DocumentPaginator paginator = ((IDocumentPaginatorSource)copy).DocumentPaginator; //转换为新的分页器 return new PrintingPaginator( paginator,new Size( pageWidth,pageHeight), new Size(DPI,DPI) ); }
public void SavePost(string postFile) { FileStream fileStream = new FileStream(postFile, FileMode.Create); TextRange range = new TextRange(_postEdit.Document.ContentStart, _postEdit.Document.ContentEnd); range.Save(fileStream, DataFormats.Rtf); fileStream.Close(); }
private void open_button_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); openFileDialog1.Filter = @"Evennote File(*.note)|*.note"; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == true) { Note temp = Evennote.OpenNoteFromFile(openFileDialog1.FileName); titleTextBox.Text = temp.Title; using (MemoryStream mem = new MemoryStream()) { TextRange range = new TextRange(temp.Text.ContentStart, temp.Text.ContentEnd); range.Save(mem, DataFormats.XamlPackage); mem.Position = 0; TextRange kange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); kange.Load(mem, DataFormats.XamlPackage); } } }
private static string ConvertRtfToXaml(string rtfText) { var richTextBox = new RichTextBox(); if (string.IsNullOrEmpty(rtfText)) return ""; var textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); //Create a MemoryStream of the Rtf content using (var rtfMemoryStream = new MemoryStream()) { using (var rtfStreamWriter = new StreamWriter(rtfMemoryStream)) { rtfStreamWriter.Write(rtfText); rtfStreamWriter.Flush(); rtfMemoryStream.Seek(0, SeekOrigin.Begin); //Load the MemoryStream into TextRange ranging from start to end of RichTextBox. textRange.Load(rtfMemoryStream, DataFormats.Rtf); } } using (var rtfMemoryStream = new MemoryStream()) { textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); textRange.Save(rtfMemoryStream, DataFormats.Xaml); rtfMemoryStream.Seek(0, SeekOrigin.Begin); using (var rtfStreamReader = new StreamReader(rtfMemoryStream)) { return rtfStreamReader.ReadToEnd(); } } }
protected override string GetText() { var rnge = new TextRange(_doc.ContentStart, _doc.ContentEnd); var stream = new MemoryStream(); rnge.Save(stream, DataFormats.Rtf); return UTF8Encoding.UTF8.GetString(stream.ToArray()); }
public UndoLevelStyle(OutlinerNote note) { __NoteId = note.Id; __Before = new MemoryStream[note.Columns.Count]; __After = new MemoryStream[note.Columns.Count]; __IsEmpty = true; for (int i = 0; i < note.Columns.Count; i++) { FlowDocument document = note.Columns[i].ColumnData as FlowDocument; if (document == null) continue; __Before[i] = new MemoryStream(); __After[i] = new MemoryStream(); TextRange range = new TextRange(document.ContentStart, document.ContentEnd); range.Save(__Before[i], DataFormats.Xaml); if (!range.IsEmpty) __IsEmpty = false; } }
public string GetText(FlowDocument document) { var tr = new TextRange(document.ContentStart, document.ContentEnd); using (var ms = new MemoryStream()) { tr.Save(ms, DataFormats.Xaml); return Encoding.Default.GetString(ms.ToArray()); } }
protected override void SaveCore(IDocument document, string fileName) { FlowDocument flowDocument = ((RichTextDocument)document).Content; TextRange range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd); using (FileStream stream = new FileStream(fileName, FileMode.Create)) { range.Save(stream, DataFormats.Rtf); } }
public string GetText(System.Windows.Documents.FlowDocument document) { TextRange tr = new TextRange(document.ContentStart, document.ContentEnd); using (MemoryStream ms = new MemoryStream()) { tr.Save(ms, DataFormats.Xaml); return ASCIIEncoding.Default.GetString(ms.ToArray()); } }
/// <summary> /// Gets the RTF Content of a flow document as UTF-8 Encoded string. /// </summary> /// <param name="document">The flow document for the RTF extracting.</param> /// <returns>The RTF content of the flow document as UTF-8 Encoded string.</returns> public string GetText(FlowDocument document) { TextRange tr = new TextRange(document.ContentStart, document.ContentEnd); using (MemoryStream ms = new MemoryStream()) { tr.Save(ms, DataFormats.Rtf); return Encoding.UTF8.GetString(ms.ToArray()); } }
private static void HandleLostFocus(object sender, RoutedEventArgs e) { RichTextBox box = sender as RichTextBox; TextRange tr = new TextRange(box.Document.ContentStart, box.Document.ContentEnd); using (MemoryStream ms = new MemoryStream()) { tr.Save(ms, DataFormats.Xaml); string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray()); SetBoundDocument(box, xamlText); } }
public static string ToBase64String(this FlowDocument FD) { //return XamlWriter.Save(FD); TextRange tr = new TextRange(FD.ContentStart, FD.ContentEnd); MemoryStream ms = new MemoryStream(); tr.Save(ms, System.Windows.DataFormats.XamlPackage); return Convert.ToBase64String(ms.ToArray()); //SQLData = ASCIIEncoding.Default.GetString(ms.ToArray()); //You can save this data to SQLServer }
public override void Render (IConsoleBufferSource buffer) { var document = new FlowDocument(); RenderToFlowDocument(buffer, document); var content = new TextRange(document.ContentStart, document.ContentEnd); content.Save(_output, DataFormats.Rtf); if (_leaveOpen) _output.Flush(); else _output.Dispose(); }
private void RichTxt_TextChanged(object sender, TextChangedEventArgs e) { if (!loaded) return; TextRange range; FileStream fStream; range = new TextRange(RichTxt.Document.ContentStart, RichTxt.Document.ContentEnd); fStream = new FileStream(@"beiit.Xaml", FileMode.Create); range.Save(fStream, DataFormats.Xaml); fStream.Close(); }
public string GetText(FlowDocument document) { TextRange tr = new TextRange(document.ContentStart, document.ContentEnd); if (document.Blocks.Count == 0) return string.Empty; using (MemoryStream ms = new MemoryStream()) { tr.Save(ms, DataFormats.Rtf); return ASCIIEncoding.Default.GetString(ms.ToArray());; } }
public FormatUndo(FlowDocument document, TextRange range, RichTextBox edit) { __DataStream = new MemoryStream(); selectionStartOffset = document.ContentStart.GetOffsetToPosition(range.Start); selectionEndOffset = document.ContentEnd.GetOffsetToPosition(range.End); if (edit.Selection.IsEmpty) __OffsetCursorPositionBefore = document.ContentStart.GetOffsetToPosition(edit.CaretPosition); range.Save(__DataStream, DataFormats.Xaml, false); }
private void SaveFileMenuItem_Click(object sender, RoutedEventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); dialog.FileName = filename; Nullable<bool> result = dialog.ShowDialog(); if(result == true) { TextRange range = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); range.Save(dialog.OpenFile(), DataFormats.Text); } //range.Save(); }
public FlowDocument CloneContent() { FlowDocument clone = new FlowDocument(); using (MemoryStream stream = new MemoryStream()) { TextRange source = new TextRange(Content.ContentStart, Content.ContentEnd); source.Save(stream, DataFormats.Xaml); TextRange target = new TextRange(clone.ContentStart, clone.ContentEnd); target.Load(stream, DataFormats.Xaml); } return clone; }
public static string RTF(this RichTextBox richTextBox) { string rtf = string.Empty; TextRange textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); using (MemoryStream ms = new MemoryStream()) { textRange.Save(ms, System.Windows.DataFormats.Rtf); ms.Seek(0, SeekOrigin.Begin); StreamReader sr = new StreamReader(ms); rtf = sr.ReadToEnd(); } return rtf; }
public bool SaveDocument() { if (string.IsNullOrEmpty(_currentFile)) return SaveDocumentAs(); else { using (Stream stream = new FileStream(_currentFile, FileMode.Create)) { TextRange range = new TextRange(_textBox.Document.ContentStart, _textBox.Document.ContentEnd); range.Save(stream, DataFormats.Rtf); } return true; } }
public static void ExportAsRtf(OutlinerDocument document, MainWindow mainWindow, string fileName) { string documentAsXaml = ExportToXaml_WordFriendly.ExportToXaml(document, mainWindow); MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); writer.Write(documentAsXaml); writer.Flush(); stream.Seek(0, SeekOrigin.Begin); FlowDocument flowDoc = XamlReader.Load(stream) as FlowDocument; TextRange range = new TextRange(flowDoc.ContentStart, flowDoc.ContentEnd); FileStream fStream = new FileStream(fileName, FileMode.Create); range.Save(fStream, DataFormats.Rtf); fStream.Close(); }
public DocumentPaginator GetPaginator(double pageWidth, double pageHeight) { TextRange originalRange = new TextRange( _FlowDocument.ContentStart, _FlowDocument.ContentEnd); MemoryStream memoryStream = new MemoryStream(); originalRange.Save(memoryStream, DataFormats.Xaml); FlowDocument copy = new FlowDocument(); TextRange copyRange = new TextRange(copy.ContentStart, copy.ContentEnd); copyRange.Load(memoryStream, DataFormats.Xaml); copy.PagePadding = _FlowDocument.PagePadding; copy.Background = _FlowDocument.Background; DocumentPaginator paginator = ((IDocumentPaginatorSource)copy).DocumentPaginator; return new PrintingPaginator(paginator, new Size(pageWidth, pageHeight), new Size(DPI, DPI)); }
private void UpdateMarkupDisplay() { TextRange range; range = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); MemoryStream stream = new MemoryStream(); range.Save(stream, DataFormats.Xaml); stream.Position = 0; StreamReader r = new StreamReader(stream); txtFlowDocumentMarkup.Text = r.ReadToEnd(); r.Close(); stream.Close(); }
public override void Undo(RichTextBox edit) { FlowDocument document = edit.Document; __OffsetCursorPositionAfter = document.ContentStart.GetOffsetToPosition(edit.CaretPosition); TextPointer start = UndoHelpers.SafePositionAtOffset(document, document.ContentStart, __OffsetStart); TextPointer end = UndoHelpers.SafePositionAtOffset(document, document.ContentEnd, __OffsetEnd); TextRange range = new TextRange(start, end); __DataStream = new MemoryStream(); range.Save(__DataStream, DataFormats.Xaml); range.ClearAllProperties(); range.Text = ""; edit.CaretPosition = UndoHelpers.SafePositionAtOffset(document, document.ContentStart, __OffsetCursorPositionBefore); }
public UndoFlowDocumentFormatting(OutlinerNote note, int columnId, bool isInlineNote, bool wasSelected) { __NoteId = note.Id; __ColumnId = columnId; __IsInlineNote = isInlineNote; __Before = new MemoryStream(); FlowDocument flowDocument = (FlowDocument)note.Columns[columnId].ColumnData; __FontPropertiesBefore = new FontProperties(flowDocument); TextRange range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd); range.Save(__Before, DataFormats.Xaml); __WasSelected = wasSelected; }
private void saveMenuItem_Click(object sender, RoutedEventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Rich Text Format (*.rtf)|*.rtf|All files (*.*)|*.*"; if (dlg.ShowDialog() == true) { FileStream fileStream = new FileStream(dlg.FileName, FileMode.Create); TextRange range = new TextRange(editSpace.Document.ContentStart, editSpace.Document.ContentEnd); range.Save(fileStream, DataFormats.Rtf); fileStream.Close(); selector.GetCurrentSelection().Title = dlg.SafeFileName.Split('.')[0]; } }
/// <summary> /// Converts RichTextBox text to string made up of xaml data. Searches for bolded words and inserts them into query. /// </summary> private void extractBoldedWordsFromBody(RichTextBox rtb) { // Convert RichTextbox text to string made of xaml data System.Windows.Documents.TextRange tr = new System.Windows.Documents.TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd); MemoryStream ms = new MemoryStream(); tr.Save(ms, DataFormats.Xaml); string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray()); const string startDelimeter = "<Run FontWeight=\"Bold\">"; const string endDelimeter = "</Run>"; int start = 0; int end = 0; string[] temp; // Find all bolded sections in xamlText while ((start = xamlText.IndexOf(startDelimeter, end)) != -1) { // Find start and end position to each bolded sections start += startDelimeter.Length; end = xamlText.IndexOf(endDelimeter, start); // Separate words temp = xamlText.Substring(start, end - start).Split(); // Remove any whitespace entries temp = temp.Where(x => !string.IsNullOrEmpty(x)).ToArray(); // Join new words with query query.AddRange(temp); end += endDelimeter.Length; } }
private static string ConvertRtfToXaml(string rtfText) { var richTextBox = new RichTextBox(); if (string.IsNullOrEmpty(rtfText)) { return(""); } var textRange = new System.Windows.Documents.TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); //Create a MemoryStream of the Rtf content using (var rtfMemoryStream = new MemoryStream()) { using (var rtfStreamWriter = new StreamWriter(rtfMemoryStream)) { rtfStreamWriter.Write(rtfText); rtfStreamWriter.Flush(); rtfMemoryStream.Seek(0, SeekOrigin.Begin); //Load the MemoryStream into TextRange ranging from start to end of RichTextBox. textRange.Load(rtfMemoryStream, DataFormats.Rtf); } } using (var rtfMemoryStream = new MemoryStream()) { textRange = new System.Windows.Documents.TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); textRange.Save(rtfMemoryStream, DataFormats.Xaml); rtfMemoryStream.Seek(0, SeekOrigin.Begin); using (var rtfStreamReader = new StreamReader(rtfMemoryStream)) { return(rtfStreamReader.ReadToEnd()); } } }