Inhaltsverzeichnis
Mit Maven installieren
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>12.2.2</version>
</dependency>
verwandte Links
Mit Word können Sie Formulare erstellen, mit denen andere Personen Informationen eingeben können. Ausfüllbare Formulare werden für verschiedene Zwecke verwendet. Die Personalabteilung verwendet Formulare, um Mitarbeiter- und Beraterinformationen zu sammeln. Marketingabteilungen nutzen Formulare, um die Kundenzufriedenheit mit ihren Produkten und Dienstleistungen zu erheben. Organisationen verwenden Formulare, um Mitglieder, Studenten oder Kunden zu registrieren. Zu den Tools, die Sie beim Erstellen eines Formulars verwenden, gehören:
- Inhaltssteuerelemente: Die Bereiche, in denen Benutzer Informationen in ein Formular eingeben.
- Tabellen: Tabellen werden in Formularen verwendet, um Text und Formularfelder auszurichten sowie Rahmen und Felder zu erstellen.
- Schutz: Ermöglicht Benutzern das Ausfüllen von Feldern, jedoch keine Änderungen am Rest des Dokuments.
Inhaltssteuerelemente in Word sind Container für Inhalte, mit denen Benutzer strukturierte Dokumenteerstellen können. Ein strukturiertes Dokument steuert, wo Inhalte im Dokument angezeigt werden. Grundsätzlich stehen in Word 2013 zehn Arten von Inhaltssteuerelementen zur Verfügung. Dieser Artikel konzentriert sich auf die Vorgehensweise Erstellen Sie ein ausfüllbares Formular in Word bestehend aus den folgenden sieben allgemeinen Inhaltssteuerelementen unter Verwendung von Spire.Doc for Java.
| Inhaltskontrolle | Beschreibung |
| Klartext | Ein Textfeld, das auf reinen Text beschränkt ist und daher keine Formatierung enthalten kann. |
| Rich-Text | Ein Textfeld, das formatierten Text oder andere Elemente wie Tabellen, Bilder oder andere Inhaltssteuerelemente enthalten kann. |
| Bild | Akzeptiert ein einzelnes Bild. |
| Dropdown-Liste | Eine Dropdown-Liste zeigt eine vordefinierte Liste von Elementen an, aus denen der Benutzer auswählen kann. |
| Kombinationsfeld | Über ein Kombinationsfeld können Benutzer einen vordefinierten Wert aus einer Liste auswählen oder einen eigenen Wert in das Textfeld des Steuerelements eingeben. |
| Kontrollkästchen | Ein Kontrollkästchen stellt ein grafisches Widget bereit, mit dem der Benutzer eine binäre Auswahl treffen kann: Ja (aktiviert) oder Nein (nicht aktiviert). |
| Datumsauswahl | Enthält ein Kalendersteuerelement, aus dem der Benutzer ein Datum auswählen kann. |
Installieren Sie Spire.Doc for Java
Zunächst müssen Sie die Datei Spire.Doc.jar als Abhängigkeit zu Ihrem Java-Programm hinzufügen. Die JAR-Datei kann über diesen Link heruntergeladen werden. Wenn Sie Maven verwenden, können Sie die JAR-Datei einfach in Ihre Anwendung importieren, indem Sie den folgenden Code zur pom.xml-Datei Ihres Projekts hinzufügen.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>14.1.0</version>
</dependency>
</dependencies>
Erstellen Sie ein ausfüllbares Formular in Word in Java
Die von Spire.Doc for Java bereitgestellte StructureDocumentTagInline-Klasse wird zum Erstellen strukturierter Dokument-Tags für Strukturen auf Inline-Ebene (DrawingML-Objekt, Felder usw.) in einem Absatz verwendet. Die SDTProperties-Eigenschaft und die SDTContent-Eigenschaft dieser Klasse werden verwendet, um die Eigenschaften und den Inhalt des aktuellen strukturierten Dokument-Tags anzugeben. Im Folgenden finden Sie die detaillierten Schritte zum Erstellen eines ausfüllbaren Formulars mit Inhaltssteuerelementen in Word.
- Erstellen Sie ein Document-Objekt.
- Fügen Sie einen Abschnitt mit der Methode Document.addSection() hinzu.
- Fügen Sie eine Tabelle mit der Methode Section.addTable() hinzu.
- Fügen Sie mit der Methode TableCell.addParagraph() einen Absatz zu einer bestimmten Tabellenzelle hinzu.
- Erstellen Sie eine Instanz der StructureDocumentTagInline-Klasse und fügen Sie sie mit der Methode Paragraph.getChildObjects().add() als untergeordnetes Objekt zum Absatz hinzu.
- Geben Sie die Eigenschaften und den Inhalt des strukturierten Dokumenttags mithilfe der Methoden unter der SDTProperties-Eigenschaft und der SDTContent-Eigenschaft des StructureDocumentTagInline-Objekts an. Der Typ des strukturierten Dokument-Tags wird über die Methode SDTProperties.setSDTType() festgelegt.
- Verhindern Sie, dass Benutzer Inhalte außerhalb von Formularfeldern bearbeiten, indem Sie die Methode Document.protect() verwenden.
- Speichern Sie das Dokument mit der Methode Document.saveToFile().
- Java
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) {
//Create a Document object
Document doc = new Document();
//Add a section
Section section = doc.addSection();
//add a table
Table table = section.addTable(true);
table.resetCells(7, 2);
//Add text to the cells of the first column
Paragraph paragraph = table.getRows().get(0).getCells().get(0).addParagraph();
paragraph.appendText("Plain Text Content Control");
paragraph = table.getRows().get(1).getCells().get(0).addParagraph();
paragraph.appendText("Rich Text Content Control");
paragraph = table.getRows().get(2).getCells().get(0).addParagraph();
paragraph.appendText("Picture Content Control");
paragraph = table.getRows().get(3).getCells().get(0).addParagraph();
paragraph.appendText("Drop-Down List Content Control");
paragraph = table.getRows().get(4).getCells().get(0).addParagraph();
paragraph.appendText("Check Box Content Control");
paragraph = table.getRows().get(5).getCells().get(0).addParagraph();
paragraph.appendText("Combo box Content Control");
paragraph = table.getRows().get(6).getCells().get(0).addParagraph();
paragraph.appendText("Date Picker Content Control");
//Add a plain text content control to the cell (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("Plain Text");
sdt.getSDTProperties().setTag("Plain Text");
sdt.getSDTProperties().isShowingPlaceHolder(true);
SdtText text = new SdtText(true);
text.isMultiline(false);
sdt.getSDTProperties().setControlProperties(text);
TextRange tr = new TextRange(doc);
tr.setText("Click or tap here to enter text.");
sdt.getSDTContent().getChildObjects().add(tr);
//Add a rich text content control to the cell (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("Rich Text");
sdt.getSDTProperties().setTag("Rich Text");
sdt.getSDTProperties().isShowingPlaceHolder(true);
text = new SdtText(true);
text.isMultiline(false);
sdt.getSDTProperties().setControlProperties(text);
tr = new TextRange(doc);
tr.setText("Click or tap here to enter text.");
sdt.getSDTContent().getChildObjects().add(tr);
//Add a picture content control to the cell (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("Picture");
sdt.getSDTProperties().setTag("Picture");
SdtPicture sdtPicture = new SdtPicture();
sdt.getSDTProperties().setControlProperties(sdtPicture);
DocPicture pic = new DocPicture(doc);
pic.loadImage("C:\\Users\\Administrator\\Desktop\\ChooseImage.png");
sdt.getSDTContent().getChildObjects().add(pic);
//Add a dropdown list content control to the cell(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("Dropdown List");
sdt.getSDTProperties().setTag("Dropdown List");
paragraph.getChildObjects().add(sdt);
SdtDropDownList sddl = new SdtDropDownList();
sddl.getListItems().add(new SdtListItem("Choose an item.", "1"));
sddl.getListItems().add(new SdtListItem("Item 2", "2"));
sddl.getListItems().add(new SdtListItem("Item 3", "3"));
sddl.getListItems().add(new SdtListItem("Item 4", "4"));
sdt.getSDTProperties().setControlProperties(sddl);
tr = new TextRange(doc);
tr.setText(sddl.getListItems().get(0).getDisplayText());
sdt.getSDTContent().getChildObjects().add(tr);
//Add two check box content controls to the cell (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(" Option 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(" Option 2");
//Add a combo box content control to the cell (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("Combo Box");
sdt.getSDTProperties().setTag("Combo Box");
SdtComboBox cb = new SdtComboBox();
cb.getListItems().add(new SdtListItem("Choose an item."));
cb.getListItems().add(new SdtListItem("Item 2"));
cb.getListItems().add(new SdtListItem("Item 3"));
sdt.getSDTProperties().setControlProperties(cb);
tr = new TextRange(doc);
tr.setText(cb.getListItems().get(0).getDisplayText());
sdt.getSDTContent().getChildObjects().add(tr);
//Add a date picker content control to the cell (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("Date Picker");
sdt.getSDTProperties().setTag("Date Picker");
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("Click or tap to enter a date.");
sdt.getSDTContent().getChildObjects().add(tr);
//Allow users to edit the form fields only
doc.protect(ProtectionType.Allow_Only_Form_Fields, "permission-psd");
//Save to file
doc.saveToFile("output/WordForm.docx", FileFormat.Docx_2013);
}
}

Beantragen Sie eine temporäre Lizenz
Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.