最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用Spire.Doc for Java實(shí)現(xiàn)Word自動(dòng)化插入圖片

 更新時(shí)間:2025年12月03日 14:02:14   作者:用戶033212666367  
在日常工作中,Word文檔是不可或缺的工具,而圖片作為信息傳達(dá)的重要載體,其在文檔中的插入與布局顯得尤為關(guān)鍵,下面我們就來看看如何使用Spire.Doc for Java實(shí)現(xiàn)Word文檔自動(dòng)化插入圖片吧

在日常工作中,Word文檔是不可或缺的工具,而圖片作為信息傳達(dá)的重要載體,其在文檔中的插入與布局顯得尤為關(guān)鍵。當(dāng)我們需要批量處理、自動(dòng)化生成包含圖片的Word文檔時(shí),手動(dòng)操作顯然效率低下。本文將深入探討如何利用強(qiáng)大的Spire.Doc for Java庫,實(shí)現(xiàn)Word文檔插入圖片的自動(dòng)化,并精細(xì)控制圖片環(huán)繞方式和圖片定位,助你輕松駕馭Java操作Word的復(fù)雜場景,實(shí)現(xiàn)高效Word自動(dòng)化。

1. Spire.Doc for Java庫介紹與安裝

Spire.Doc是一款功能強(qiáng)大且易于使用的Java組件,專為處理Word文檔而設(shè)計(jì)。它允許開發(fā)者在Java應(yīng)用程序中創(chuàng)建、讀取、編輯、轉(zhuǎn)換和打印Word文檔,無需安裝Microsoft Word。其優(yōu)勢在于API接口豐富、性能優(yōu)越,能夠滿足各種復(fù)雜的文檔處理需求。

Maven依賴配置:

  <repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>13.11.2</version>
    </dependency>
</dependencies>

2. 使用特定的環(huán)繞方式插入圖片

在Word中,圖片的文本環(huán)繞方式?jīng)Q定了圖片與周圍文本的關(guān)系。Spire.Doc for Java提供了靈活的API來設(shè)置這些環(huán)繞方式。

核心步驟:

  • 加載或創(chuàng)建Word文檔。
  • 獲取文檔中的某個(gè)段落或創(chuàng)建一個(gè)新段落。
  • 創(chuàng)建DocPicture對象,并加載圖片文件。
  • DocPicture對象添加到段落中。
  • 設(shè)置圖片的環(huán)繞方式。

代碼示例:

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

public class insertImage {
    public static void main(String[] args) throws Exception {
        //創(chuàng)建 Document 類的對象
        Document doc = new Document();

        //從磁盤載入 Word 文件
        doc.loadFromFile("D:/Samples/Sample.docx");

        //創(chuàng)建 DocPicture 類的對象
        DocPicture picture = new DocPicture(doc);

        //從磁盤加載圖片
        picture.loadImage("D:/Samples/System.png");

        //設(shè)置圖片大小
        picture.setWidth(75);
        picture.setHeight(90);

        //將圖片文本環(huán)繞方式設(shè)置為四周環(huán)繞
        picture.setTextWrappingStyle( TextWrappingStyle.Square);

        //將圖片插入到第二段
        doc.getSections().get(0).getParagraphs().get(1).getChildObjects().insert(0,picture);

        //保存文檔
        doc.saveToFile("D:/javaOutput/insertImage.docx", FileFormat.Docx);
    }
}

不同環(huán)繞方式的視覺效果和應(yīng)用場景:

  • 嵌入型 (Inline) : 圖片被視為文本字符,隨文本流動(dòng)。適用于圖片與文字緊密結(jié)合,不希望圖片浮動(dòng)的情況。
  • 四周型 (Square) : 文本圍繞圖片的矩形邊框。最常見的環(huán)繞方式,圖片與文本互不遮擋。
  • 緊密型 (Tight) : 文本緊密地圍繞圖片的實(shí)際輪廓。比四周型更貼合圖片形狀,適用于不規(guī)則形狀的圖片。
  • 浮于文字下方 (Behind) : 圖片位于文本下方,文本會覆蓋圖片。適用于作為背景水印或裝飾性圖片。
  • 浮于文字上方 (InFrontOfText) : 圖片位于文本上方,會遮擋文本。適用于需要突出圖片,或作為浮動(dòng)元素。
  • 上下型 (TopAndBottom) : 文本在圖片上方和下方,不與圖片左右兩側(cè)并排。

3. 在指定位置插入圖片

除了環(huán)繞方式,精確控制圖片在文檔中的位置也至關(guān)重要。Spire.Doc for Java允許你在段落、表格單元格甚至通過絕對坐標(biāo)來定位圖片。直接通過Paragraph.getChildObjects().insert()即可在文檔的任意位置插入圖片,如下所示:

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

public class insertImage {
    public static void main(String[] args) throws Exception {
        //創(chuàng)建 Document 類的對象
        Document doc = new Document();

        //從磁盤加載 Word 文檔
        doc.loadFromFile("D:/Samples/Sample.docx");

        //創(chuàng)建 DocPicture 類的對象
        DocPicture picture = new DocPicture(doc);

        //從磁盤加載圖片
        picture.loadImage("D:/Samples/PDF.png");

        //設(shè)置圖片的大小
        picture.setWidth(75);
        picture.setHeight(90);

        //將圖片的文本環(huán)繞方式設(shè)置為四周環(huán)繞
        picture.setTextWrappingStyle( TextWrappingStyle.Square);

        //將圖片插入到第二段
        doc.getSections().get(0).getParagraphs().get(2).getChildObjects().insert(0,picture);

        //設(shè)置圖片的位置
        picture.setHorizontalPosition(370.0F);
        picture.setVerticalPosition(10.0F);

        //保存文檔
        doc.saveToFile("D:/javaOutput/insertImage.docx", FileFormat.Docx);
    }
}

DocPicture定位屬性詳解:

  • setHorizontalPosition() / setVerticalPosition(): 設(shè)置圖片相對于其定位基準(zhǔn)的偏移量。
  • setHorizontalOrigin() / setVerticalOrigin(): 設(shè)置圖片水平/垂直定位的基準(zhǔn)點(diǎn),可選值包括Page(頁面)、Column(列)、Margin(頁邊距)、Paragraph(段落)等。精確的定位通常需要選擇Page作為基準(zhǔn)。

4. 常見問題解答

圖片路徑問題: 確?;騦oadImage()方法中提供的圖片路徑是正確的,可以是相對路徑或絕對路徑。對于Web應(yīng)用,可能需要將圖片轉(zhuǎn)換為字節(jié)流加載。

圖片大小調(diào)整: 通過picture.setWidth()picture.setHeight()可以設(shè)置圖片的尺寸。Spire.Doc也會自動(dòng)根據(jù)圖片原始尺寸進(jìn)行一定程度的縮放,但手動(dòng)設(shè)置可以更精確控制。

圖片質(zhì)量: 插入的圖片質(zhì)量取決于原始圖片。如果圖片過大,可能導(dǎo)致文檔文件體積增大,可以考慮在插入前對圖片進(jìn)行壓縮處理。

性能優(yōu)化: 批量插入大量圖片時(shí),可能會影響性能??梢钥紤]分批處理,或優(yōu)化圖片加載和文檔保存邏輯。對于大型文檔,Spire.Doc提供了分段處理等機(jī)制來提高效率。

不支持的圖片格式: 確保插入的圖片格式是Word支持的常見格式(如PNG, JPG, BMP, GIF)。

文本環(huán)繞與定位沖突: 當(dāng)設(shè)置了非嵌入型環(huán)繞方式后,圖片會脫離文本流,此時(shí)可以通過setHorizontalPositionsetVerticalPosition進(jìn)行精確控制。

5.知識擴(kuò)展

下面我們來看看java如何使用spire.doc實(shí)現(xiàn)插入文字、圖片、表格、富文本吧

示例代碼

import com.example.utils.DocxUtil;
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
 
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
 
/**
 * TODO
 *
 * @Description
 * @Author WL
 * @Date 2024/2/28
 **/
public class DocxAddParagraphTest {
 
    public static void main(String[] args) {
        //創(chuàng)建document對象
        Document document = new Document("D:\\temp\\document-blank.docx");
        //獲取最后一個(gè)section
        Section newSec = document.getLastSection();
        //添加文本
        Paragraph textParagtaph = newSec.addParagraph();
        //設(shè)置文本格式
        ParagraphStyle styleContent = new ParagraphStyle(document);
        styleContent.setName("codeStyle");
        styleContent.getCharacterFormat().setFontName("宋體");
        styleContent.getCharacterFormat().setFontSize(10f);
        styleContent.getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        document.getStyles().add(styleContent);
        textParagtaph.applyStyle("codeStyle");
        textParagtaph.appendText("第01號");
 
        Paragraph text1Paragtaph = newSec.addParagraph();
        //設(shè)置文本格式
        ParagraphStyle styleTitle = new ParagraphStyle(document);
        //設(shè)置樣式名稱
        styleTitle.setName("titleStyle");
        //設(shè)置字體
        styleTitle.getCharacterFormat().setFontName("宋體");
        //設(shè)置字體大小
        styleTitle.getCharacterFormat().setFontSize(20f);
        //設(shè)置文本顏色
        styleTitle.getCharacterFormat().setTextColor(Color.CYAN);
        //設(shè)置文本居中
        styleTitle.getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        //添加樣式到文檔
        document.getStyles().add(styleTitle);
        //應(yīng)用樣式
        text1Paragtaph.applyStyle("titleStyle");
        //添加文本
        text1Paragtaph.appendText("關(guān)于******公告");
 
        //添加文本
        Paragraph textPeoParagtaph = newSec.addParagraph();
        //設(shè)置文本格式
        ParagraphStyle stylePeoContent = new ParagraphStyle(document);
        stylePeoContent.setName("peoStyle");
        stylePeoContent.getCharacterFormat().setFontName("宋體");
        stylePeoContent.getCharacterFormat().setFontSize(12f);
        stylePeoContent.getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        document.getStyles().add(stylePeoContent);
        textPeoParagtaph.applyStyle("peoStyle");
        textPeoParagtaph.appendText("姓名:姜XX\t\t\t手機(jī)號碼:13866669999");
 
        //添加文本
        Paragraph textAddParagtaph = newSec.addParagraph();
        //設(shè)置文本格式
        ParagraphStyle styleAddContent = new ParagraphStyle(document);
        styleAddContent.setName("addStyle");
        styleAddContent.getCharacterFormat().setFontName("宋體");
        styleAddContent.getCharacterFormat().setFontSize(12f);
        styleAddContent.getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        document.getStyles().add(styleAddContent);
        textAddParagtaph.applyStyle("addStyle");
        textAddParagtaph.getFormat().setFirstLineIndent(30f);
        textAddParagtaph.appendText("聯(lián)系地址:湖北武漢");
 
        //添加表格
        List<String> headerList = new ArrayList<>();
        headerList.add("姓名");
        headerList.add("電話");
        headerList.add("地址");
        List<List<Object>> dataList = new ArrayList<>();
        List<Object> data1 = new ArrayList<>();
        data1.add("姜XX");
        data1.add("18899996666");
        data1.add("浙江");
        dataList.add(data1);
        List<Object> data2 = new ArrayList<>();
        data2.add("tj");
        data2.add("15549490011");
        data2.add("杭州");
        dataList.add(data2);
        List<Object> data3 = new ArrayList<>();
        data3.add("趙XX");
        data3.add("135****713");
        data3.add("武漢");
        dataList.add(data3);
        String tableTitle = "表格標(biāo)題";
        DocxUtil.createTable(newSec, headerList, dataList, tableTitle);
 
        //添加圖片
        // 創(chuàng)建 DocPicture 類的對象
        DocPicture picture = new DocPicture(document);
        // 從磁盤加載圖片
         String images = "D:\\temp\\123.jpg";
        picture.loadImage(images);
        // 設(shè)置圖片大小
        picture.setWidth(180); //示例:80
        picture.setHeight(180);//示例:50
        picture.setHorizontalPosition(110); //示例:110.0F 水平位置
        picture.setVerticalPosition(220); //示例:110.0F 垂直位置
        Paragraph picParagraph = newSec.addParagraph();
        picParagraph.getChildObjects().add(picture);
 
        //添加圖片
        // 創(chuàng)建 DocPicture 類的對象
        DocPicture picture1 = new DocPicture(document);
        // 從磁盤加載圖片
         String images1 = "D:\\temp\\321.jpg";
        picture1.loadImage(images1);
        // 設(shè)置圖片大小
        picture1.setWidth(500); //示例:80
        picture1.setHeight(180);//示例:50
        picture1.setHorizontalPosition(110); //示例:110.0F 水平位置
        picture1.setVerticalPosition(220); //示例:110.0F 垂直位置
        Paragraph picParagraph1 = newSec.addParagraph();
        picParagraph1.getChildObjects().add(picture1);
 
 
        //添加富文本
        Paragraph tempSectionContentParagraph = newSec.addParagraph();
        String htmlContent = "<p>Spire.Doc for Java 是一款專業(yè)的 Java Word 組件,開發(fā)人員使用它可以輕松地將 Word 文檔創(chuàng)建、讀取、編輯、轉(zhuǎn)換和打印等功能集成到自己的 Java 應(yīng)用程序中。作為一款完全獨(dú)立的組件,Spire.Doc for Java 的運(yùn)行環(huán)境無需安裝 Microsoft Office。</p>
<p>Spire.Doc for Java 能執(zhí)行多種 Word 文檔處理任務(wù),包括生成、讀取、轉(zhuǎn)換和打印 Word 文檔,插入圖片,添加頁眉和頁腳,創(chuàng)建表格,添加表單域和郵件合并域,添加書簽,添加文本和圖片水印,設(shè)置背景顏色和背景圖片,添加腳注和尾注,添加超鏈接,加密和解密 Word 文檔,添加批注,添加形狀等。</p>
<p><img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAAAXNSR0IArs4c6QAABWVJREFUeAHtnF9oW1Ucx3/nJumWZNXRqUh7W+PYFFa6NKAgKLVMHKgg+jARYYgMfaqwl3V7W/cidj46fVBERBHZi3tQx8ANGSKIQpqWPYyOLV1vowirxTaJS5N79vvdQdaO3Oacc+9NbsLJ0/3z/f3O9/fJ+XPvzW0B9EcT0AQ0AU1AE9AENAFNQBNoMwHW5vY3NZ8biJucwwQw9jJw/rhzkrEbuP0TY3AmvVS2NgW0eCc0sGbM+ASCOg0c4g0ZMCgDZ8cyhdInDc+34GAoYM30xz/kAMdF6kXD06OF8gkRrd8aw++EsvmyZmJKFBTlJi3FyLbjh76tPStrJifBtqeVCjGM4xmreFopVjGobbCcOcqGjxV9O2HMgPdHrfIZLzlkYtsCK2cmjnCbf45DylP7GMyZwd5NW6UvZIpW1Xoyq9LorJl8y7btrxGUL/MlFmAbhnF4v1X8VsWPTExLYeHQe53bcBYNRmVMCmirOCTfwCH5vYBWWdIyWLNm4iWb83N4LdWj7HaLQLxorRiMvbbfKp3fQubpVEtg5QZ2HOBQ+xFBbffktkkwAvufQeSV9NLapSZSpdOBw8oO9T7LqtULOEcllRxKBmFBxQhED44UVn+TDG0qDxTW3GDiqWoNLuKi9UBTJ74K2H/RCLwwslj608+0gcHCVW8E56hfOOd9fhoWzcUYW8Y5bBxXyTnRmGa6QGDl+nufxDnqMgf+SDMDQZ5nwP7BOWwsXVi96kc7vlzrbDQyO/Tgbs5qF9sNijyRB/JCnjZ6VN32tWfN9fcN1qCMPQpSqoaCiMMi8xGIj40Ulhe95PcN1pVU8tHKun0Zv869XgwFFstgvidmjA3ni3+rtuHLMLz6RO9D6xX+c2hBER38EskjeVWF5blnZVM7d7L1yiVc9TKqJloZh6tklsd6DmTyKyuy7XrqWVeGH96BoM53CiiCQ17JM3lvGaxF04xXVtZ+wMafkW203XryTN6pBhkvSj1rfs+ebbfs5XM4Dzwv01iotOidaqBaRH1Jw+Lj49G1cuEsXsMcFG0krDqqwakFaxLxKAWLHzoUyc3//g0O/FdFkneEBmuhmqi2Zn6FV0Mc52zGTH6JoN5ulrQjzzP21ahVfAdXS7ymbvwR7lm5gcQHXQuK2GAncGpszMk5KtSzZoZ6n4NqlW5jhPRbtBfqU1gch2h0bPTm6q+NjIr1rFp1ottBERynRqy1ESg6JgYL2ItuCbrvuHutgrBEoXYFOlcmric2l80vbN7v5j33WoVgxWLGUZzar3UzIqc2rNGp1aVQ4dWN7qOW4dZ7+CPp0whuoJ6PQwonxlR9vwM2sOg81pCvW+WwhD/S/tEHuz4btKxy/fh9G8Kw7our7+b6Eydt4FP1Ax2wYQCbShdKp2StCg1D2aTdqtewJL5ZobttiXxKUvrZHW8OvuMMFrZKgHdtj+Gl45tBvwbg5iEUsDhj0xmrNOVmcuNxfEVyAe/jTm481qrtUAxDg7ProgXLaEVziupCAQvNyqzKMlpRDkK6sMASMksiWw6scF4RYcfBEikqKI2GJUFWw9KwJAhISHXP0rAkCEhIdc/SsCQISEh1z9KwJAhISD33LHxisCbRXiikqp49w8I/YrNCQUDGhKJnz7B6YvjSbYd9VD17hrVvofQXPumkP4vriA95Jc8qZj3DokZj27YfwydSrj8hqRgLJAY9Ol4Vk/sCa/j6vzeBG2151CtVN3p0vEoF3RP7AovSZQrFj/A9k0nsYev30odky/FkTN71qO7JN1hkgcxEo5E0/nuUTxHaNZwfbqtb8xbptE2vHKAX8uQVlDc3OloT0AQ0AU1AE+gWAncAtcuNfiX0sWkAAAAASUVORK5CYII=" alt="" width="75" height="75" /></p>";
        htmlContent=htmlContent+"<p>&nbsp;</p>";
        tempSectionContentParagraph.appendHTML(htmlContent);
 
 
        //添加文本
        Paragraph text3Paragtaph = newSec.addParagraph();
        ParagraphStyle styleContent3 = new ParagraphStyle(document);
        styleContent3.setName("codeStyle3");
        styleContent3.getCharacterFormat().setFontName("宋體");
        styleContent3.getCharacterFormat().setFontSize(15f);
        document.getStyles().add(styleContent3);
        text3Paragtaph.applyStyle("codeStyle3");
        text3Paragtaph.appendText("第02號");
 
        Paragraph text4Paragtaph = newSec.addParagraph();
        //設(shè)置文本格式
        ParagraphStyle styleTitle4 = new ParagraphStyle(document);
        styleTitle4.setName("titleStyle4");
        styleTitle4.getCharacterFormat().setFontName("宋體");
        styleTitle4.getCharacterFormat().setFontSize(25f);
        styleTitle4.getCharacterFormat().setTextColor(Color.ORANGE);
        styleTitle4.getParagraphFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        document.getStyles().add(styleTitle4);
        text4Paragtaph.applyStyle("titleStyle4");
        text4Paragtaph.appendText("關(guān)于***************************Text");
 
        DocxUtil.insertHeaderAndFooter(newSec);
 
        document.saveToFile("D:\\temp\\documentNew.docx", FileFormat.Docx_2013);
    }
 
}

使用到的工具

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.TextRange;
import java.awt.*;
import java.security.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
 
/**
 * TODO
 *
 * @Description
 * @Author WL
 * @Date 2024/2/28
 **/
public class DocxUtil {
 
    // 動(dòng)態(tài)創(chuàng)建表格
    public static void createTable(Section section, List<String> header, List<List<Object>> data, String title) {
        //添加表格
        Table table = section.addTable(true);
        //設(shè)置表格的行數(shù)和列數(shù)
        table.resetCells(data.size()+ 2, header.size());
        //設(shè)置第一行作為表格的表頭并添加數(shù)據(jù)
        TableRow row = table.getRows().get(1);
        row.isHeader(true);
        row.setHeight(40);
        row.setHeightType(TableRowHeightType.Exactly);
        TableRow row3 = table.getRows().get(0);
        row3.isHeader(true);
        row3.setHeight(60);
        row3.setHeightType(TableRowHeightType.Exactly);
        row3.getCells().get(0).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
        table.applyHorizontalMerge(0, 0, header.size() - 1);
        Paragraph p1 = row3.getCells().get(0).addParagraph();
        p1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        TextRange range3 = p1.appendText(title);
        range3.getCharacterFormat().setFontName("仿宋_GB2312");
        range3.getCharacterFormat().setFontSize(12f);
        range3.getCharacterFormat().setTextColor(Color.black);
        range3.getCharacterFormat().setBold(true);
 
        for (int i = 0; i < header.size(); i++) {
            row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
            Paragraph p = row.getCells().get(i).addParagraph();
            p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
            TextRange range1 = p.appendText(header.get(i));
            range1.getCharacterFormat().setTextColor(Color.black);
            range1.getCharacterFormat().setFontName("仿宋_GB2312");
            range1.getCharacterFormat().setFontSize(12f);
            range1.getCharacterFormat().setBold(true);
        }
 
        //添加數(shù)據(jù)到剩余行
        try{
            for (int r = 0; r < data.size(); r++) {
                TableRow dataRow = table.getRows().get(r + 2);
                dataRow.setHeight(25);
                dataRow.setHeightType(TableRowHeightType.Exactly);
                dataRow.getRowFormat().setBackColor(Color.white);
                for (int c = 0; c < data.get(r).size(); c++) {
                    dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
                    String s = "";
                    if (data.get(r).get(c) instanceof Timestamp) {
                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定義格式,不顯示毫秒
                        s = df.format((Timestamp) (data.get(r).get(c)));
                    } else if (data.get(r).get(c) instanceof Date) {
                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定義格式,不顯示毫秒
                        s = df.format((Date) (data.get(r).get(c)));
                    } else if (data.get(r).get(c) == null) {
                        s = "";
                    } else {
                        s = data.get(r).get(c).toString();
                    }
 
                    TextRange range2 = dataRow.getCells().get(c).addParagraph().appendText(s);
 
 
                    range2.getCharacterFormat().setFontName("仿宋_GB2312");
                    range2.getCharacterFormat().setFontSize(10f);
                }
            }
        }catch (Exception e){
            e.getMessage();
//            log.info("插入數(shù)據(jù)有異常");
        }
        section.addParagraph();
    }
 
    //生成頁眉和頁腳
    public static void insertHeaderAndFooter(Section section) {
 
        //分別獲取section的頁眉頁腳
        HeaderFooter header = section.getHeadersFooters().getHeader();
        HeaderFooter footer = section.getHeadersFooters().getFooter();
 
        //添加段落到頁眉
        Paragraph headerParagraph = header.addParagraph();
 
        //添加文字到頁眉的段落
        TextRange text = headerParagraph.appendText("頁眉測試");
        text.getCharacterFormat().setFontName("仿宋_GB2312");
        text.getCharacterFormat().setFontSize(10);
        text.getCharacterFormat().setItalic(true);
        headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
 
        //設(shè)置頁眉段落的底部邊線樣式
        headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        headerParagraph.getFormat().getBorders().getBottom().setLineWidth(1f);
 
        //添加段落到頁腳
        Paragraph footerParagraph = footer.addParagraph();
 
        //添加Field_Page和Field_Num_Pages域到頁腳段落,用于顯示當(dāng)前頁碼和總頁數(shù)
        footerParagraph.appendField("page number", FieldType.Field_Page);
        footerParagraph.appendText("/");
        footerParagraph.appendField("number of pages", FieldType.Field_Num_Pages);
        footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
 
        //設(shè)置頁腳段落的頂部邊線樣式
        footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        footerParagraph.getFormat().getBorders().getTop().setLineWidth(1f);
    }
}

6.總結(jié)

通過Spire.Doc for Java庫,我們不僅能夠輕松實(shí)現(xiàn)Word文檔插入圖片的基礎(chǔ)功能,更能通過精細(xì)的API控制圖片環(huán)繞方式和圖片定位,從而滿足復(fù)雜的文檔自動(dòng)化需求。無論是生成報(bào)告、合同,還是批量處理各類文檔,Spire.Doc都提供了強(qiáng)大的支持。掌握這些技巧,將極大地提升你的Java操作Word效率,開啟Word自動(dòng)化的新篇章,期待你在實(shí)際項(xiàng)目中探索更多可能!

到此這篇關(guān)于Java使用Spire.Doc for Java實(shí)現(xiàn)Word自動(dòng)化插入圖片的文章就介紹到這了,更多相關(guān)Java Word插入圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring源碼解析 Bean的實(shí)例化

    Spring源碼解析 Bean的實(shí)例化

    這篇文章主要介紹了Spring源碼解析 Bean的實(shí)例化,文章圍繞主題展開詳細(xì)的內(nèi)容介紹沒具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • springboot集成es插入和查詢的簡單使用示例詳解

    springboot集成es插入和查詢的簡單使用示例詳解

    這篇文章主要介紹了springboot集成es 插入和查詢的簡單使用,本文分步驟結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 詳解使用Spring的restTemplete進(jìn)行Http請求

    詳解使用Spring的restTemplete進(jìn)行Http請求

    本篇文章主要介紹了詳解使用Spring的restTemplete進(jìn)行Http請求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java并發(fā)鎖機(jī)制知識總結(jié)(最新整理)

    Java并發(fā)鎖機(jī)制知識總結(jié)(最新整理)

    Java?的鎖機(jī)制是并發(fā)編程的核心,用于解決多線程共享資源競爭問題,保證數(shù)據(jù)一致性和線程安全,這篇文章給大家介紹Java并發(fā)鎖機(jī)制知識總結(jié),感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • JAVA中的日期時(shí)間類用法總結(jié)

    JAVA中的日期時(shí)間類用法總結(jié)

    這篇文章主要給大家介紹了關(guān)于JAVA中日期時(shí)間類用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中方法重載與重寫的區(qū)別與避坑指南

    Java中方法重載與重寫的區(qū)別與避坑指南

    在 Java 基礎(chǔ)面試中,重載(Overload)和重寫(Override)是必考知識點(diǎn);在實(shí)際開發(fā)中,二者也是實(shí)現(xiàn)多態(tài)、代碼復(fù)用、業(yè)務(wù)擴(kuò)展的核心基礎(chǔ),本文給大家介紹了Java中方法重載與重寫的區(qū)別與避坑指南,需要的朋友可以參考下
    2026-05-05
  • Java構(gòu)造器方法深入理解

    Java構(gòu)造器方法深入理解

    這篇文章主要介紹了Java構(gòu)造器方法深入理解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 基于maven實(shí)現(xiàn)私服搭建步驟圖解

    基于maven實(shí)現(xiàn)私服搭建步驟圖解

    這篇文章主要介紹了基于maven實(shí)現(xiàn)私服搭建步驟圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Spring Boot 使用 WebServiceTemplate 調(diào)用 WebService的完整步驟

    Spring Boot 使用 WebServiceTemplate 調(diào)用&nbs

    文章介紹了使用Spring WebServiceTemplate調(diào)用WebService的方法,包括添加依賴、配置WebServiceTemplate、編寫調(diào)用工具類、注意事項(xiàng)及完整的調(diào)用步驟,特別強(qiáng)調(diào)了調(diào)用.NET的WebService需要添加SOAPAction請求頭,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • 解決IntelliJ IDEA中鼠標(biāo)拖動(dòng)選擇為矩形區(qū)域問題

    解決IntelliJ IDEA中鼠標(biāo)拖動(dòng)選擇為矩形區(qū)域問題

    這篇文章主要介紹了解決IntelliJ IDEA中鼠標(biāo)拖動(dòng)選擇為矩形區(qū)域問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評論

中西区| 海兴县| 延边| 江源县| 平邑县| 开江县| 上思县| 九江市| 万荣县| 阿合奇县| 河北区| 阿勒泰市| 盐源县| 临江市| 罗甸县| 土默特左旗| 兖州市| 广州市| 杭锦后旗| 来凤县| 松原市| 金塔县| 石首市| 天柱县| 清原| 巴东县| 博乐市| 堆龙德庆县| 讷河市| 滨州市| 新竹县| 榆中县| 富宁县| 日喀则市| 凤翔县| 东莞市| 莱州市| 九台市| 林西县| 石屏县| 五常市|