コード例 #1
0
        public static string FlowDocumentToText(FlowDocument doc)
        {
            var builder = new StringBuilder();

            foreach (var el in doc.Descendants().Distinct())
            {
                if (el is Paragraph && !(((Paragraph)el).Parent is TableCell))
                {
                    builder.AppendLine();
                }
                if (el is Run)
                {
                    builder.Append((((Run)el).Text ?? "").Trim());
                }
                if (el is TableRow)
                {
                    builder.AppendLine();
                }
                if (el is TableCell)
                {
                    builder.Append("|");
                }
            }
            return(builder.ToString().Trim());
        }
コード例 #2
0
 public static IEnumerable <Paragraph> Paragraphs(this FlowDocument doc)
 {
     return(doc.Descendants().OfType <Paragraph>());
 }