Java 設定Word文字框中的文字旋轉方向

iceblue發表於2021-06-28

Word文件中可新增文字框,並設定文字框為橫向文字排列或是縱向文字排列,或者設定文字框中的文字旋轉方向等。通過Java程式程式碼,也可以實現以上文字框的操作。下面以Java程式碼示例展示具體的實現步驟。另外,可參考C#及VB.NET程式碼的實現方法。

本次程式測試環境如下:

Word測試文件版本:.docx 2013

Word Jar包工具:free spire.doc.jar 3.9.0

程式碼編譯工具:IDEA

Jdk版本:1.8.0

匯入操作文件所需的jar包工具,如圖結果:

Java

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextBox;
import com.spire.doc.fields.TextRange;

import java.awt.*;

public class SetTextDirection {
    public static void main(String[] args) {
//建立Word文件
        Document doc = new Document();
        Section section = doc.addSection();

        //設定頁面邊距
        section.getPageSetup().getMargins().setLeft(90f);
        section.getPageSetup().getMargins().setRight(90f);
        Paragraph paragraph = section.addParagraph();

        //新增第一個文字框
        TextBox textBox1 = paragraph.appendTextBox(280, 250);

        //設定文字框為固定定位
        textBox1.getFormat().setHorizontalOrigin(HorizontalOrigin.Page);
        textBox1.getFormat().setHorizontalPosition(150);
        textBox1.getFormat().setVerticalOrigin(VerticalOrigin.Page);
        textBox1.getFormat().setVerticalPosition(80);

        //設定文字旋轉方向
        textBox1.getFormat().setTextAnchor(ShapeVerticalAlignment.Center);
        textBox1.getFormat().setLayoutFlowAlt(TextDirection.Left_To_Right);//旋轉文字(逆時針)
        //textBox1.getFormat().setLayoutFlowAlt(TextDirection.Left_To_Right_Rotated);//文字豎排顯示

        //新增文字並設定字型
        Paragraph textboxPara1 = textBox1.getBody().addParagraph();
        TextRange txtrg = textboxPara1.appendText("姓名_______學號_________班級__________");
        txtrg.getCharacterFormat().setFontName("等線");
        txtrg.getCharacterFormat().setFontSize(10);
        txtrg.getCharacterFormat().setTextColor(Color.black);
        textboxPara1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

        //儲存文件
        doc.saveToFile("Result.docx");
        doc.dispose();
    }
}

執行程式後,生成Word文件,開啟該文件後可檢視文字框中的文字旋轉效果。通過設定不同旋轉效果,可檢視文字框中的文字效果,如圖:

Left_To_Right旋轉效果:

Left_To_Right_Rotated豎排顯示效果:

 

延伸閱讀:

 

—End—

 

相關文章