91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么通過Java實現在Word中創建可填充表單

發布時間:2023-03-21 16:52:45 來源:億速云 閱讀:142 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么通過Java實現在Word中創建可填充表單”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么通過Java實現在Word中創建可填充表單”吧!

程序環境

方法1:手動引入。將 Free Spire.Doc for Java 下載到本地,解壓,找到lib文件夾下的Spire.Doc.jar文件。在IDEA中打開如下界面,將本地路徑中的jar文件引入Java程序

怎么通過Java實現在Word中創建可填充表單

方法2: 如果您想通過 Maven安裝,則可以在 pom.xml 文件中添加以下代碼導入 JAR 文件。

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.doc.free</artifactId>

        <version>5.2.0</version>

    </dependency>

</dependencies>

在Word中創建可填充表單

用戶打開下面的生成文檔,只能編輯表格中的窗體,不能修改其他內容。詳細步驟如下:

  • 創建Document對象。

  • 使用 Document.addSection() 方法添加一個節。

  • 使用 Section.addTable() 方法添加表格。

  • 使用 TableCell.addParagraph() 方法將段落添加到特定的表格單元格。

  • 創建 StructureDocumentTagInline 類的實例,并使用 Paragraph.getChildObjects().add() 方法將其作為子對象添加到段落中。

  • 使用 StructureDocumentTagInline 對象的 SDTProperties 屬性和 SDTContent 屬性下的方法指定結構化文檔標記的屬性和內容。結構化文檔標簽的類型可通過 SDTProperties.setSDTType() 方法設置。

  • 使用 Document.protect() 方法防止用戶編輯表單域之外的內容。

  • 使用 Document.saveToFile() 方法保存文檔。

完整代碼

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

import java.util.Date;

public class CreateFillableForm {

    public static void main(String[] args) {

        //創建文檔對象
        Document doc = new Document();

        //添加一個節
        Section section = doc.addSection();

        //添加一個表格
        Table table = section.addTable(true);
        table.resetCells(7, 2);

        //將文本添加到第一列的單元格
        Paragraph paragraph = table.getRows().get(0).getCells().get(0).addParagraph();
        paragraph.appendText("純文本內容控件");
        paragraph = table.getRows().get(1).getCells().get(0).addParagraph();
        paragraph.appendText("富文本內容控件");
        paragraph = table.getRows().get(2).getCells().get(0).addParagraph();
        paragraph.appendText("圖片內容控件");
        paragraph = table.getRows().get(3).getCells().get(0).addParagraph();
        paragraph.appendText("下拉列表內容控件");
        paragraph = table.getRows().get(4).getCells().get(0).addParagraph();
        paragraph.appendText("復選框內容控件");
        paragraph = table.getRows().get(5).getCells().get(0).addParagraph();
        paragraph.appendText("組合框內容控件");
        paragraph = table.getRows().get(6).getCells().get(0).addParagraph();
        paragraph.appendText("日期選擇器內容控件");

        //向單元格添加純文本內容控件 (0,1)
        paragraph = table.getRows().get(0).getCells().get(1).addParagraph();
        StructureDocumentTagInline sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Text);
        sdt.getSDTProperties().setAlias("純文本");
        sdt.getSDTProperties().setTag("純文本");
        sdt.getSDTProperties().isShowingPlaceHolder(true);
        SdtText text = new SdtText(true);
        text.isMultiline(false);
        sdt.getSDTProperties().setControlProperties(text);
        TextRange tr = new TextRange(doc);
        tr.setText("單擊或點擊此處輸入文本。");
        sdt.getSDTContent().getChildObjects().add(tr);

        //向單元格添加富文本內容控件 (1,1)
        paragraph = table.getRows().get(1).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Rich_Text);
        sdt.getSDTProperties().setAlias("富文本");
        sdt.getSDTProperties().setTag("富文本");
        sdt.getSDTProperties().isShowingPlaceHolder(true);
        text = new SdtText(true);
        text.isMultiline(false);
        sdt.getSDTProperties().setControlProperties(text);
        tr = new TextRange(doc);
        tr.setText("單擊或點擊此處輸入文本。");
        sdt.getSDTContent().getChildObjects().add(tr);

        //向單元格添加圖片內容控件 (2,1)
        paragraph = table.getRows().get(2).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Picture);
        sdt.getSDTProperties().setAlias("圖片");
        sdt.getSDTProperties().setTag("圖片");
        SdtPicture sdtPicture = new SdtPicture();
        sdt.getSDTProperties().setControlProperties(sdtPicture);
        DocPicture pic = new DocPicture(doc);
        pic.loadImage("圖片2.jpg");
        sdt.getSDTContent().getChildObjects().add(pic);

        //向單元格添加下拉列表內容控件(3,1)
        paragraph = table.getRows().get(3).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        sdt.getSDTProperties().setSDTType(SdtType.Drop_Down_List);
        sdt.getSDTProperties().setAlias("下拉列表");
        sdt.getSDTProperties().setTag("下拉列表");
        paragraph.getChildObjects().add(sdt);
        SdtDropDownList sddl = new SdtDropDownList();
        sddl.getListItems().add(new SdtListItem("選擇一個項目。", "1"));
        sddl.getListItems().add(new SdtListItem("項目2", "2"));
        sddl.getListItems().add(new SdtListItem("項目3", "3"));
        sddl.getListItems().add(new SdtListItem("項目4", "4"));
        sdt.getSDTProperties().setControlProperties(sddl);
        tr = new TextRange(doc);
        tr.setText(sddl.getListItems().get(0).getDisplayText());
        sdt.getSDTContent().getChildObjects().add(tr);

        //向單元格添加兩個復選框內容控件 (4,1)
        paragraph = table.getRows().get(4).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Check_Box);
        SdtCheckBox scb = new SdtCheckBox();
        sdt.getSDTProperties().setControlProperties(scb);
        tr = new TextRange(doc);
        sdt.getChildObjects().add(tr);
        scb.setChecked(false);
        paragraph.appendText(" 選項 1");

        paragraph = table.getRows().get(4).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Check_Box);
        scb = new SdtCheckBox();
        sdt.getSDTProperties().setControlProperties(scb);
        tr = new TextRange(doc);
        sdt.getChildObjects().add(tr);
        scb.setChecked(false);
        paragraph.appendText(" 選項 2");

        //將組合框內容控件添加到單元格 (5,1)
        paragraph = table.getRows().get(5).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Combo_Box);
        sdt.getSDTProperties().setAlias("組合框");
        sdt.getSDTProperties().setTag("組合框");
        SdtComboBox cb = new SdtComboBox();
        cb.getListItems().add(new SdtListItem("選擇一個項目."));
        cb.getListItems().add(new SdtListItem("項目 2"));
        cb.getListItems().add(new SdtListItem("項目 3"));
        sdt.getSDTProperties().setControlProperties(cb);
        tr = new TextRange(doc);
        tr.setText(cb.getListItems().get(0).getDisplayText());
        sdt.getSDTContent().getChildObjects().add(tr);

        //將日期選擇器內容控件添加到單元格(6,1)
        paragraph = table.getRows().get(6).getCells().get(1).addParagraph();
        sdt = new StructureDocumentTagInline(doc);
        paragraph.getChildObjects().add(sdt);
        sdt.getSDTProperties().setSDTType(SdtType.Date_Picker);
        sdt.getSDTProperties().setAlias("日期選擇器");
        sdt.getSDTProperties().setTag("日期選擇器");
        SdtDate date = new SdtDate();
        date.setCalendarType(CalendarType.Default);
        date.setDateFormat("yyyy.MM.dd");
        date.setFullDate(new Date());
        sdt.getSDTProperties().setControlProperties(date);
        tr = new TextRange(doc);
        tr.setText("單擊或輕按以輸入日期。");
        sdt.getSDTContent().getChildObjects().add(tr);

        //僅允許用戶編輯表單域
        doc.protect(ProtectionType.Allow_Only_Form_Fields, "permission-psd");

        //保存結果文檔
        doc.saveToFile("WordForm.docx", FileFormat.Docx_2013);
    }
}

效果圖

怎么通過Java實現在Word中創建可填充表單

感謝各位的閱讀,以上就是“怎么通過Java實現在Word中創建可填充表單”的內容了,經過本文的學習后,相信大家對怎么通過Java實現在Word中創建可填充表單這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奇台县| 大城县| 永寿县| 固始县| 武隆县| 车致| 平陆县| 友谊县| 绥宁县| 石阡县| 平塘县| 太白县| 杂多县| 方正县| 广昌县| 固安县| 公安县| 南通市| 南雄市| 台南县| 纳雍县| 麻阳| 阳春市| 高碑店市| 宜州市| 石狮市| 双鸭山市| 运城市| 岑溪市| 西藏| 永春县| 灵寿县| 侯马市| 西乌珠穆沁旗| 明溪县| 浮梁县| 阿尔山市| 会昌县| 枣强县| 韩城市| 新乡市|