1.首先進行XWPFDocument類的實例化,該類的實例對應一個word文檔
XWPFDocument MyDoc = new XWPFDocument();
2.設置頁面的大小
CT_SectPr m_SectPr = new CT_SectPr(); //實例一個尺寸類的實例
m_SectPr.pgSz.w = 16838; //設置寬度(這里是一個ulong類型)
m_SectPr.pgSz.h = 11906; //設置高度(這里是一個ulong類型)
MyDoc.Document.body.sectPr = m_SectPr; //設置頁面的尺寸
上邊的這一個橫向的A4的頁面大小,這里的單位比較特殊,用的是緹(Twip)這是一種和屏幕無關的長度單位,目的是為了讓應用程序元素輸出到不同設備時都能保持一致的計算方式。
換算關系:
1英寸=1440緹 1厘米=567緹 1磅=20緹 1像素=15緹
常用頁面尺寸:(單位Twip)
A4(縱向):W=11906 H=16838
A4(縱向):W=16838 H=11906
A5 : W=8390 H=11906
A6 : W=5953 H=8390
如果不進行頁面大小的設置,默認是縱向的A4大小。
3.創建段落
段落為XWPFParagraph類型的實例,段落由XWPFDocument實例的使用CreateParagraph()方法生成。
XWPFParagraph MyParagraph = MyDoc.CreateParagraph();
另外還有一種實例化XWPFParagraph類的創建段落的方法,效果和這個基本是一樣的,但需要提供兩個參數,比較麻煩。
該段落類有很多屬性,用於設置與段落相關的內容。主要有以下幾個方面
(1)邊界相關的BorderXXXXX屬性,該類屬性用於獲取或設置一個Borders枚舉類型的值,該值用於設置邊界的樣式。
(2)FillBackgroundColor屬性,背景填充的顏色。該屬性獲取或設置一個string類型的變量。該變量的含義是某個顏色的RGB值(在NPOI里所有的顏色都是以這種形式表示的)。例如設置為黑色則對應的代碼如下:
MyParagraph.FillBackgroundColor = "#000000";
(3)Alignment屬性,段落的對齊方式。該屬性獲取或設置一個ParagraphAlignment的枚舉值。
(4)VerticalAlignment屬性,文本垂直方向的對齊方式。該屬性獲取或設置一個TextAlignment 的枚舉值。
(5)IndentationFirstLine屬性,用於設置段落的首行縮進。該屬性獲取或設置一個int型變量。這個int值並不是縮進的字數,這里可以用一個函數計算縮進的距離。
//段落縮進 返回值為對應的縮進距離
//(fontname:文字類型名稱 fontsize:文字大小 fontcount:縮進數目 fontstyle:文字類型(斜體、粗體...))
int Indentation(String fontname, int fontsize, int fontnum, FontStyle fontstyle)
{
Graphics gp = this.CreateGraphics();
gp.PageUnit = GraphicsUnit.Point;
SizeF size =gp.MeasureString("字", new Font(fontname,fontsize * 0.75F, fontstyle));
return (int)size.Width* fontnum * 10;
}