Bekerja dengan Bidang Formulir
Dokumen yang berisi isian kosong (kolom) dikenal sebagai formulir. Misalnya, Anda dapat membuat formulir pendaftaran di Microsoft Word yang menggunakan daftar tarik-turun tempat pengguna dapat memilih entri. Bidang Form
adalah lokasi penyimpanan jenis data tertentu, seperti nama atau alamat. Kolom formulir di Microsoft Word menyertakan input teks, combobox, dan checkbox.
Anda dapat menggunakan bidang formulir di proyek Anda untuk “berkomunikasi” dengan pengguna Anda. Misalnya, Anda membuat dokumen yang kontennya dilindungi, tetapi hanya bidang formulir yang dapat diedit. Pengguna dapat memasukkan data di kolom formulir dan mengirimkan dokumen. Aplikasi Anda yang menggunakan Aspose.Words dapat mengambil data dari kolom formulir dan memprosesnya.
Menempatkan bidang formulir ke dalam dokumen melalui kode itu mudah. DocumentBuilder memiliki metode khusus untuk memasukkannya, satu untuk setiap jenis bidang formulir. Masing-masing metode menerima parameter string yang mewakili nama bidang formulir. Nama bisa berupa string kosong. Namun, jika Anda menentukan nama untuk bidang formulir, maka bookmark akan dibuat secara otomatis dengan nama yang sama.
Sisipkan Kolom Formulir
Bidang formulir adalah kasus khusus dari bidang Word yang memungkinkan “interaksi” dengan pengguna. Kolom formulir di Microsoft Word termasuk kotak teks, kotak kombo, dan checkbox.
DocumentBuilder
Contoh kode berikut menunjukkan cara menyisipkan bidang formulir combobox ke dalam dokumen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(InsertFormFields.class); | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
String[] items = {"One", "Two", "Three"}; | |
builder.insertComboBox("DropDown", items, 0); | |
doc.save(dataDir + "output.docx"); |
Sisipkan Masukan Teks
Gunakan metode insertTextInput untuk menyisipkan kotak teks ke dalam dokumen.
Contoh kode berikut menunjukkan cara menyisipkan bidang formulir input teks ke dalam dokumen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertTextInputFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.insertTextInput("TextInput", TextFormFieldType.REGULAR, "", "Hello", 0); | |
doc.save(dataDir + "output.doc"); |
Sisipkan Kotak Centang
Panggil insertCheckBox untuk menyisipkan checkbox ke dalam dokumen.
Contoh kode berikut menunjukkan cara menyisipkan bidang formulir checkbox ke dalam dokumen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertCheckBoxFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.insertCheckBox("CheckBox", true, true, 0); | |
doc.save(dataDir + "output.doc"); |
Sisipkan Kotak Kombo
Panggil insertComboBox untuk menyisipkan combobox ke dalam dokumen.
Contoh kode berikut menunjukkan cara menyisipkan bidang formulir Combobox ke dalam dokumen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertComboBoxFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
String[] items = {"One", "Two", "Three"}; | |
builder.insertComboBox("DropDown", items, 0); | |
doc.save(dataDir + "output.doc"); |
Dapatkan Bidang Formulir
Kumpulan bidang formulir diwakili oleh kelas FormFieldCollection yang dapat diambil menggunakan properti Range.getFormFields. Ini berarti Anda dapat memperoleh bidang formulir yang terdapat di simpul dokumen apa pun termasuk dokumen itu sendiri.
Contoh kode berikut menunjukkan cara mendapatkan kumpulan bidang formulir:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsGetFormFieldsCollection.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
FormFieldCollection formFields = doc.getRange().getFormFields(); | |
doc.save(dataDir + "output.docx"); |
Anda bisa mendapatkan bidang formulir tertentu dengan indeks atau namanya.
Contoh kode berikut menunjukkan cara mengakses bidang formulir:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsGetByName.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// FormFieldCollection formFields = doc.getRange().getFormFields(); | |
FormFieldCollection documentFormFields = doc.getRange().getFormFields(); | |
FormField formField1 = documentFormFields.get(3); | |
FormField formField2 = documentFormFields.get("Text2"); | |
System.out.println("Name: " + formField2.getName()); | |
doc.save(dataDir + "output.docx"); |
Properti FormField memungkinkan Anda bekerja dengan nama, jenis, dan hasil bidang formulir.
Contoh kode berikut menunjukkan cara bekerja dengan nama bidang formulir, jenis, dan hasil:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsWorkWithProperties.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
FormFieldCollection documentFormFields = doc.getRange().getFormFields(); | |
FormField formField = doc.getRange().getFormFields().get(3); | |
if (formField.getType() == FieldType.FIELD_FORM_TEXT_INPUT) | |
formField.setResult("Field Name :" + formField.getName()); | |
doc.save(dataDir + "output.docx"); |