Java 載入、操作和儲存WPS文字文件

iceblue發表於2021-07-26

本文通過Java程式程式碼來展示如何來載入、操作及儲存WPS格式的文字文件。

一、基本步驟載入時,通過流載入WPS文字文件,完成相關文字操作後,再將結果文件儲存到流,將流寫入WPS文件,關閉流。

二、程式環境

這裡使用的是Word類庫工具Free Spire.Doc for Java,可參考如下步驟手動將D:\包\JAVA Doc\Spire.Doc-FE_3.9.0\lib\Spire.Doc.jar資料夾(該jar包需要事前下載到本地,然後解壓)路徑下的jar檔案匯入Java程式:

完成匯入,如下匯入結果:

 

三、Java程式碼

這裡對WPS文字文件的操作進行了段落背景設定、文字高亮、加粗、新增圖片等簡單操作。

import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.fields.DocPicture;

import java.awt.*;
import java.io.*;

public class OperateWPS_Word {
    public static void main(String[] args)throws IOException {
        //通過流載入WPS文字文件
        FileInputStream inputStream = new FileInputStream(new File("test.wps"));
        Document document = new Document();
        document.loadFromStream(inputStream, FileFormat.Doc);

        //查詢所有“北京冬奧會”文字
        TextSelection[] textSelections = document.findAllString("北京冬奧會", false, false);
        //設定文字高亮色、加粗
        for (TextSelection selection : textSelections)
        {
            selection.getAsOneRange().getCharacterFormat().setHighlightColor(Color.YELLOW);
            selection.getAsOneRange().getCharacterFormat().setBold(true);
        }

        //獲取文件的第一個節
        Section section = document.getSections().get(0);

        //獲取第2段,設定段落背景色
        Paragraph paragraph1 = section.getParagraphs().get(1);
        paragraph1.getFormat().setBackColor(new Color(176,224,230));
        paragraph1.getStyle().getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Center);

        //獲取第3段,新增圖片到段落
        Paragraph paragraph2 = section.getParagraphs().get(2);
        DocPicture picture = paragraph2.appendPicture("img.png");
        picture.setWidth(200f);
        picture.setHeight(250f);
        picture.setTextWrappingStyle(TextWrappingStyle.Through);


        //將結果文件儲存到流
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        document.saveToStream(bos, FileFormat.Doc);
        //將流寫入WPS文件
        FileOutputStream fos = new FileOutputStream("Output.wps");
        fos.write(bos.toByteArray());
        //關閉流
        bos.close();
        fos.close();
    }
}

測試前的WPS文字文件:

完成操作後的WPS文字文件:

 

關於使用Java如何操作Word文件的更多方法,可前往:https://www.cnblogs.com/Yesi/category/1460010.html 

 

—End—

 

相關文章