Apache POI Word - 字体和对齐



本章节介绍如何使用 Java 在 Word 文档中应用不同的字体样式和对齐。一般来说,字体样式包含:字体大小、类型、粗体、斜体和下划线。而对齐分为左对齐、居中、右对齐和两端对齐。

字体样式

以下代码用于设置不同样式的字体 -

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.VerticalAlign;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class FontStyle {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("fontstyle.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set Bold an Italic
      XWPFRun paragraphOneRunOne = paragraph.createRun();
      paragraphOneRunOne.setBold(true);
      paragraphOneRunOne.setItalic(true);
      paragraphOneRunOne.setText("Font Style");
      paragraphOneRunOne.addBreak();
        
      //Set text Position
      XWPFRun paragraphOneRunTwo = paragraph.createRun();
      paragraphOneRunTwo.setText("Font Style two");
      paragraphOneRunTwo.setTextPosition(100);
 
      //Set Strike through and Font Size and Subscript
      XWPFRun paragraphOneRunThree = paragraph.createRun();
      paragraphOneRunThree.setStrike(true);
      paragraphOneRunThree.setFontSize(20);
      paragraphOneRunThree.setSubscript(VerticalAlign.SUBSCRIPT);
      paragraphOneRunThree.setText(" Different Font Styles");
        
      document.write(out);
      out.close();
      System.out.println("fontstyle.docx written successully");
   }
}

将以上代码另存为 FontStyle.java,然后从命令提示符编译并执行,如下所示 -

$javac FontStyle.java
$java FontStyle

它将在当前目录中生成一个名为 fontstyle.docx 的 Word 文件,并在命令提示符上显示以下输出 -

fontstyle.docx written successfully

fontstyle.docx 文件如下所示。

Font Style

对齐

以下代码用于设置对齐方式以符合段落文本 -

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class AlignParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(
      new File("alignparagraph.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set alignment paragraph to RIGHT
      paragraph.setAlignment(ParagraphAlignment.RIGHT);
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      //Create Another paragraph
      paragraph = document.createParagraph();
        
      //Set alignment paragraph to CENTER
      paragraph.setAlignment(ParagraphAlignment.CENTER);
      run = paragraph.createRun();
      run.setText("The endeavour started by Mohtashim, an AMU " +
         "alumni, who is the founder and the managing director " +
         "of Tutorials Point (I) Pvt. Ltd. He came up with the " +
         "website tutorialspoint.com in year 2006 with the help" +
         "of handpicked freelancers, with an array of tutorials" +
         " for computer programming languages. ");
			
      document.write(out);
      out.close();
      System.out.println("alignparagraph.docx written successfully");
   }
}

将以上代码另存为 AlignParagraph.java,然后从命令提示符编译并执行,如下所示 -

$javac AlignParagraph.java
$java AlignParagraph

它将在当前目录中生成一个名为 alignparagraph.docx 的 Word 文件,并在命令提示符上显示以下输出 -

alignparagraph.docx written successfully

alignparagraph.docx 文件如下所示 -

Align Paragraph
广告