WriteText() public method

write plain text
public WriteText ( string Text ) : void
Text string �ı�ֵ
return void
コード例 #1
0
ファイル: RTFDocumentInfo.cs プロジェクト: yodus/RtfDomParser
        public void Write(RTFWriter writer)
        {
            writer.WriteStartGroup( );
            writer.WriteKeyword("info");
            foreach (string strKey in myInfo.Keys)
            {
                writer.WriteStartGroup();
                if (strKey == "edmins" ||
                    strKey == "vern" ||
                    strKey == "nofpages" ||
                    strKey == "nofwords" ||
                    strKey == "nofchars" ||
                    strKey == "nofcharsws" ||
                    strKey == "id")
                {
                    writer.WriteKeyword(strKey + myInfo[strKey]);
                }
                else
                {
                    writer.WriteKeyword(strKey);
                    writer.WriteText(myInfo[strKey]);
                }
                writer.WriteEndGroup();
            }
            writer.WriteStartGroup();

            WriteTime(writer, "creatim", dtmCreatim);
            WriteTime(writer, "revtim", dtmRevtim);
            WriteTime(writer, "printim", dtmPrintim);
            WriteTime(writer, "buptim", dtmBuptim);

            writer.WriteEndGroup();
        }
コード例 #2
0
ファイル: RTFWriter.cs プロジェクト: yodus/RtfDomParser
 /// <summary>
 /// Test to generate a little rtf document
 /// </summary>
 /// <param name="w">RTF text writer</param>
 private static void TestBuildRTF(RTFWriter w)
 {
     w.Encoding = System.Text.Encoding.GetEncoding(936);
     // write header
     w.WriteStartGroup();
     w.WriteKeyword("rtf1");
     w.WriteKeyword("ansi");
     w.WriteKeyword("ansicpg" + w.Encoding.CodePage);
     // wirte font table
     w.WriteStartGroup();
     w.WriteKeyword("fonttbl");
     w.WriteStartGroup();
     w.WriteKeyword("f0");
     w.WriteText("Arial;");
     w.WriteEndGroup();
     w.WriteStartGroup();
     w.WriteKeyword("f1");
     w.WriteText("Times New Roman;");
     w.WriteEndGroup();
     w.WriteEndGroup();
     // write color table
     w.WriteStartGroup();
     w.WriteKeyword("colortbl");
     w.WriteText(";");
     w.WriteKeyword("red0");
     w.WriteKeyword("green0");
     w.WriteKeyword("blue255");
     w.WriteText(";");
     w.WriteEndGroup();
     // write content
     w.WriteKeyword("qc");               // set alignment center
     w.WriteKeyword("f0");               // set font
     w.WriteKeyword("fs30");             // set font size
     w.WriteText("This is the first paragraph text ");
     w.WriteKeyword("cf1");              // set text color
     w.WriteText("Arial ");
     w.WriteKeyword("cf0");              // set default color
     w.WriteKeyword("f1");               // set font
     w.WriteText("Align center ABC12345");
     w.WriteKeyword("par");              // new paragraph
     w.WriteKeyword("pard");             // clear format
     w.WriteKeyword("f1");               // set font
     w.WriteKeyword("fs20");             // set font size
     w.WriteKeyword("cf1");
     w.WriteText("This is the secend paragraph Arial left alignment ABC12345");
     // finish
     w.WriteEndGroup();
 }
コード例 #3
0
 /// <summary>
 /// Write font table rtf
 /// </summary>
 /// <param name="writer">rtf text writer</param>
 public void Write(RTFWriter writer)
 {
     writer.WriteStartGroup();
     writer.WriteKeyword(RTFConsts._fonttbl);
     foreach (RTFFont item in this)
     {
         writer.WriteStartGroup();
         writer.WriteKeyword("f" + item.Index);
         if (item.Charset != 0)
         {
             writer.WriteKeyword("fcharset" + item.Charset);
         }
         writer.WriteText(item.Name);
         writer.WriteEndGroup();
     }
     writer.WriteEndGroup();
 }
コード例 #4
0
ファイル: RTFNode.cs プロジェクト: yodus/RtfDomParser
 /// <summary>
 /// write to rtf document
 /// </summary>
 /// <param name="writer">RTF text writer</param>
 public virtual void Write(RTFWriter writer)
 {
     if (intType == RTFNodeType.Control ||
         intType == RTFNodeType.Keyword ||
         intType == RTFNodeType.ExtKeyword)
     {
         if (this.bolHasParameter)
         {
             writer.WriteKeyword(
                 this.strKeyword + this.intParameter,
                 this.intType == RTFNodeType.ExtKeyword);
         }
         else
         {
             writer.WriteKeyword(
                 this.strKeyword,
                 this.intType == RTFNodeType.ExtKeyword);
         }
     }
     else if (intType == RTFNodeType.Text)
     {
         writer.WriteText(this.strKeyword);
     }
 }
コード例 #5
0
 /// <summary>
 /// write to rtf document
 /// </summary>
 /// <param name="writer">RTF text writer</param>
 public virtual void Write( RTFWriter writer )
 {
     if( intType == RTFNodeType.Control
         || intType == RTFNodeType.Keyword
         || intType == RTFNodeType.ExtKeyword )
     {
         if (this.bolHasParameter)
         {
             writer.WriteKeyword(
                 this.strKeyword + this.intParameter,
                 this.intType == RTFNodeType.ExtKeyword);
         }
         else
         {
             writer.WriteKeyword(
                 this.strKeyword,
                 this.intType == RTFNodeType.ExtKeyword);
         }
     }
     else if (intType == RTFNodeType.Text)
     {
         writer.WriteText(this.strKeyword);
     }
 }
コード例 #6
0
        /// <summary>
        /// start write document
        /// </summary>
        public void WriteStartDocument()
        {
            this.myLastParagraphInfo = null;
            this.bolFirstParagraph   = true;
            if (bolCollectionInfo)
            {
                myInfo.Clear();
                myFontTable.Clear();
                myColorTable.Clear();
                myFontTable.Add(System.Windows.Forms.Control.DefaultFont.Name);
            }
            else
            {
                myWriter.WriteStartGroup();
                myWriter.WriteKeyword(RTFConsts._rtf);
                myWriter.WriteKeyword("ansi");
                myWriter.WriteKeyword("ansicpg" + myWriter.Encoding.CodePage);
                // write document information
                if (myInfo.Count > 0)
                {
                    myWriter.WriteStartGroup();
                    myWriter.WriteKeyword("info");
                    foreach (string strKey in myInfo.Keys)
                    {
                        myWriter.WriteStartGroup();

                        object v = myInfo[strKey];
                        if (v is string)
                        {
                            myWriter.WriteKeyword(strKey);
                            myWriter.WriteText(( string )v);
                        }
                        else if (v is int)
                        {
                            myWriter.WriteKeyword(strKey + v);
                        }
                        else if (v is DateTime)
                        {
                            DateTime dtm = ( DateTime )v;
                            myWriter.WriteKeyword(strKey);
                            myWriter.WriteKeyword("yr" + dtm.Year);
                            myWriter.WriteKeyword("mo" + dtm.Month);
                            myWriter.WriteKeyword("dy" + dtm.Day);
                            myWriter.WriteKeyword("hr" + dtm.Hour);
                            myWriter.WriteKeyword("min" + dtm.Minute);
                            myWriter.WriteKeyword("sec" + dtm.Second);
                        }
                        else
                        {
                            myWriter.WriteKeyword(strKey);
                        }

                        myWriter.WriteEndGroup();
                    }
                    myWriter.WriteEndGroup();
                }
                // writing font table
                myWriter.WriteStartGroup();
                myWriter.WriteKeyword(RTFConsts._fonttbl);
                for (int iCount = 0; iCount < myFontTable.Count; iCount++)
                {
                    //string f = myFontTable[ iCount ] ;
                    myWriter.WriteStartGroup();
                    myWriter.WriteKeyword("f" + iCount);
                    RTFFont f = myFontTable[iCount];
                    myWriter.WriteText(f.Name);
                    if (f.Charset != 1)
                    {
                        myWriter.WriteKeyword("fcharset" + f.Charset);
                    }
                    myWriter.WriteEndGroup();
                }
                myWriter.WriteEndGroup();

                // write color table
                myWriter.WriteStartGroup();
                myWriter.WriteKeyword(RTFConsts._colortbl);
                myWriter.WriteRaw(";");
                for (int iCount = 0; iCount < myColorTable.Count; iCount++)
                {
                    System.Drawing.Color c = myColorTable[iCount];
                    myWriter.WriteKeyword("red" + c.R);
                    myWriter.WriteKeyword("green" + c.G);
                    myWriter.WriteKeyword("blue" + c.B);
                    myWriter.WriteRaw(";");
                }
                myWriter.WriteEndGroup();

                // write list table
                if (this.ListTable != null && this.ListTable.Count > 0)
                {
                    if (this.DebugMode)
                    {
                        myWriter.WriteRaw(Environment.NewLine);
                    }
                    myWriter.WriteStartGroup();
                    myWriter.WriteKeyword("listtable", true);
                    foreach (RTFList list in this.ListTable)
                    {
                        if (this.DebugMode)
                        {
                            myWriter.WriteRaw(Environment.NewLine);
                        }
                        myWriter.WriteStartGroup();
                        myWriter.WriteKeyword("list");
                        myWriter.WriteKeyword("listtemplateid" + list.ListTemplateID);
                        if (list.ListHybrid)
                        {
                            myWriter.WriteKeyword("listhybrid");
                        }
                        if (this.DebugMode)
                        {
                            myWriter.WriteRaw(Environment.NewLine);
                        }
                        myWriter.WriteStartGroup();
                        myWriter.WriteKeyword("listlevel");
                        myWriter.WriteKeyword("levelfollow" + list.LevelFollow);
                        myWriter.WriteKeyword("leveljc" + list.LevelJc);
                        myWriter.WriteKeyword("levelstartat" + list.LevelStartAt);
                        myWriter.WriteKeyword("levelnfc" + Convert.ToInt32(list.LevelNfc));
                        myWriter.WriteKeyword("levelnfcn" + Convert.ToInt32(list.LevelNfc));
                        myWriter.WriteKeyword("leveljc" + list.LevelJc);

                        //if (list.LevelNfc == LevelNumberType.Bullet)
                        {
                            if (string.IsNullOrEmpty(list.LevelText) == false)
                            {
                                myWriter.WriteStartGroup();
                                myWriter.WriteKeyword("leveltext");
                                myWriter.WriteKeyword("'0" + list.LevelText.Length);
                                if (list.LevelNfc == LevelNumberType.Bullet)
                                {
                                    myWriter.WriteUnicodeText(list.LevelText);
                                }
                                else
                                {
                                    myWriter.WriteText(list.LevelText, false);
                                }
                                //myWriter.WriteStartGroup();
                                //myWriter.WriteKeyword("uc1");
                                //int v = (int)list.LevelText[0];
                                //short uv = (short)v;
                                //myWriter.WriteKeyword("u" + uv);
                                //myWriter.WriteRaw(" ?");
                                //myWriter.WriteEndGroup();
                                //myWriter.WriteRaw(";");
                                myWriter.WriteEndGroup();
                                if (list.LevelNfc == LevelNumberType.Bullet)
                                {
                                    RTFFont f = this.FontTable["Wingdings"];
                                    if (f != null)
                                    {
                                        myWriter.WriteKeyword("f" + f.Index);
                                    }
                                }
                                else
                                {
                                    myWriter.WriteStartGroup();
                                    myWriter.WriteKeyword("levelnumbers");
                                    myWriter.WriteKeyword("'01");
                                    myWriter.WriteEndGroup();
                                }
                            }
                        }
                        myWriter.WriteEndGroup();

                        myWriter.WriteKeyword("listid" + list.ListID);
                        myWriter.WriteEndGroup();
                    }
                    myWriter.WriteEndGroup();
                }

                // write list overried table
                if (this.ListOverrideTable != null && this.ListOverrideTable.Count > 0)
                {
                    if (this.DebugMode)
                    {
                        myWriter.WriteRaw(Environment.NewLine);
                    }
                    myWriter.WriteStartGroup();
                    myWriter.WriteKeyword("listoverridetable");
                    foreach (RTFListOverride lo in this.ListOverrideTable)
                    {
                        if (this.DebugMode)
                        {
                            myWriter.WriteRaw(Environment.NewLine);
                        }
                        myWriter.WriteStartGroup();
                        myWriter.WriteKeyword("listoverride");
                        myWriter.WriteKeyword("listid" + lo.ListID);
                        myWriter.WriteKeyword("listoverridecount" + lo.ListOverriedCount);
                        myWriter.WriteKeyword("ls" + lo.ID);
                        myWriter.WriteEndGroup();
                    }
                    myWriter.WriteEndGroup();
                }

                if (this.DebugMode)
                {
                    myWriter.WriteRaw(Environment.NewLine);
                }
                myWriter.WriteKeyword("viewkind1");
            }
        }
コード例 #7
0
 /// <summary>
 /// Write font table rtf
 /// </summary>
 /// <param name="writer">rtf text writer</param>
 public void Write( RTFWriter writer )
 {
     writer.WriteStartGroup();
     writer.WriteKeyword( RTFConsts._fonttbl );
     foreach( RTFFont item in this )
     {
         writer.WriteStartGroup();
         writer.WriteKeyword( "f" + item.Index );
         if (item.Charset != 0)
         {
             writer.WriteKeyword("fcharset" + item.Charset);
         }
         writer.WriteText( item.Name );
         writer.WriteEndGroup();
     }
     writer.WriteEndGroup();
 }
コード例 #8
0
 /// <summary>
 /// Test to generate a little rtf document
 /// </summary>
 /// <param name="w">RTF text writer</param>
 private static void TestBuildRTF( RTFWriter w )
 {
     w.Encoding = System.Text.Encoding.GetEncoding( 936 );
     // write header
     w.WriteStartGroup();
     w.WriteKeyword("rtf1");
     w.WriteKeyword("ansi");
     w.WriteKeyword("ansicpg" + w.Encoding.CodePage );
     // wirte font table
     w.WriteStartGroup();
     w.WriteKeyword("fonttbl");
     w.WriteStartGroup();
     w.WriteKeyword("f0");
     w.WriteText("Arial;");
     w.WriteEndGroup();
     w.WriteStartGroup();
     w.WriteKeyword("f1");
     w.WriteText("Times New Roman;");
     w.WriteEndGroup();
     w.WriteEndGroup();
     // write color table
     w.WriteStartGroup();
     w.WriteKeyword("colortbl");
     w.WriteText(";");
     w.WriteKeyword("red0");
     w.WriteKeyword("green0");
     w.WriteKeyword("blue255");
     w.WriteText(";");
     w.WriteEndGroup();
     // write content
     w.WriteKeyword("qc");	// set alignment center
     w.WriteKeyword("f0");	// set font
     w.WriteKeyword("fs30");	// set font size
     w.WriteText("This is the first paragraph text ");
     w.WriteKeyword("cf1");	// set text color
     w.WriteText("Arial ");
     w.WriteKeyword("cf0");	// set default color
     w.WriteKeyword("f1");	// set font
     w.WriteText("Align center ABC12345");
     w.WriteKeyword("par");	// new paragraph
     w.WriteKeyword("pard");	// clear format
     w.WriteKeyword("f1");	// set font
     w.WriteKeyword("fs20");	// set font size
     w.WriteKeyword("cf1");
     w.WriteText("This is the secend paragraph Arial left alignment ABC12345");
     // finish
     w.WriteEndGroup();
 }
コード例 #9
0
        public void Write(RTFWriter writer)
        {
            writer.WriteStartGroup( );
            writer.WriteKeyword("info");
            foreach( string strKey in myInfo.Keys )
            {
                writer.WriteStartGroup();
                if (strKey == "edmins"
                    || strKey == "vern"
                    || strKey == "nofpages"
                    || strKey == "nofwords"
                    || strKey == "nofchars"
                    || strKey == "nofcharsws"
                    || strKey == "id")
                {
                    writer.WriteKeyword(strKey + myInfo[strKey]);
                }
                else
                {
                    writer.WriteKeyword(strKey);
                    writer.WriteText(myInfo[strKey]);
                }
                writer.WriteEndGroup();
            }
            writer.WriteStartGroup();

            WriteTime( writer , "creatim" , dtmCreatim );
            WriteTime( writer , "revtim" , dtmRevtim );
            WriteTime( writer , "printim" , dtmPrintim );
            WriteTime( writer , "buptim" , dtmBuptim );

            writer.WriteEndGroup();
        }