Esempio n. 1
0
 /// <summary>
 /// Hier wird der Knoten Text ausgewertet
 /// Es wird ein neues Text Objekt instanziiert und die entsprechenden Eigenschaften übergeben
 /// Falls eine Exception beim Casten der Werte geworfen wird, wird diese gefangen und weitergeleitet
 /// Bei erfolreicher Erstellung des Objekts wird dieses in dem Word Dokument eingefügt
 /// </summary>
 /// <param name="xml">Der Parameter beinhaltet einen Textknoten mit all seinen Unterknoten</param>
 public void Text(string xml)
 {
     XmlTextReader subReader = new XmlTextReader(new System.IO.StringReader(xml));
     Text text = new Text();
     while (subReader.Read())
     {
         if (subReader.NodeType == XmlNodeType.Element)
         {
             switch (subReader.Name)
             {
                 case "string":
                     text.Content = subReader.ReadElementContentAsString();
                     break;
                 case "font":
                     text.Font = subReader.ReadElementString();
                     break;
                 case "size":
                     try
                     {
                         text.Size = subReader.ReadElementContentAsInt();
                     }
                     catch (XmlException e)
                     {
                         subReader.Close();
                         throw new OpenDocumentException(e.Message);
                     }
                     break;
                 case "paragraph":
                     try
                     {
                         text.Paragraph = subReader.ReadElementContentAsInt();
                     }
                     catch (XmlException e)
                     {
                         subReader.Close();
                         throw new OpenDocumentException(e.Message);
                     }
                     break;
                 case "style":
                     try
                     {
                         text.Style = subReader.ReadElementContentAsInt();
                     }
                     catch (XmlException e)
                     {
                         subReader.Close();
                         throw new OpenDocumentException(e.Message);
                     }
                     break;
                 case "color":
                     text.Color = subReader.ReadElementString();
                     break;
                 case "pageBreak":
                     try
                     {
                         text.PageBreak = subReader.ReadElementContentAsBoolean();
                     }
                     catch (XmlException e)
                     {
                         subReader.Close();
                         throw new OpenDocumentException(e.Message);
                     }
                     break;
             }
         }
     }
     subReader.Close();
     doc.Text(text);
 }
Esempio n. 2
0
 /// <summary>
 /// Erstellt einen Text im Word Dokument
 /// durch die entsprechenden Properties des Objekts Test
 /// wird die gewünschte Formatierung übernommen
 /// </summary>
 /// <param name="text"></param>
 public void Text(Text text)
 {
     Body body = word.MainDocumentPart.Document.Body;
     text.Color = TransformColor(text.Color);
     Paragraph paragraph = new Paragraph(ParagraphSpacingAfter(text.Paragraph));
     RunProperties rPr = new RunProperties(Font(text.Font));
     Run run_paragraph = new Run();
     StyleCreator(rPr, text.Style);
     rPr.Append(FontColor(text.Color), Size(text.Size));
     run_paragraph.Append(rPr);
     if (text.PageBreak == true)
         run_paragraph.Append(PBreak());
     run_paragraph.Append(InsertText(text.Content));
     paragraph.Append(run_paragraph);
     body.Append(paragraph);
 }