Các hình thức tương tác
Hướng dẫn này cho bạn thấy cách tạo và quản lý các trường AcroForm trong tài liệu PDF bằng cách sử dụng Aspose.PDF FOSS for Java. Bạn sẽ học thêm nút radio, hộp kiểm tra, trường văn bản, các hộpon hợp tác và hộps danh sách, và để lấy lại giá trị của các lĩnh vực được gửi.
Áp dụng API
Các Form lớp học, có thể truy cập qua Document.getForm(), quản lý tất cả các trường AcroForm trong tài liệu.Thông tin được thêm bằng cách gọi Form.add(field, pageNumber).
RadioButtonField
Tạo một nhóm các nút radio, mỗi tùy chọn riêng của mình Rectangle.Mỗi lựa chọn là thêm với một nhãn và hộp giới hạn. setValue() Để chọn một tùy chọn:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
RadioButtonField radio = new RadioButtonField(page);
radio.setPartialName("color");
radio.addOption("Red", new Rectangle(50, 50, 70, 70));
radio.addOption("Blue", new Rectangle(50, 80, 70, 100));
doc.getForm().add(radio, 1);
radio.setValue("Red");
doc.save("form.pdf");
}setValue() Chọn một tùy chọn theo lập trình. getValue() Trở lại hiện tại Tên tùy chọn được lựa chọn.
CheckboxField
CheckboxField đại diện cho một trường nhập boolean duy nhất trong biểu mẫu PDF. setChecked(true) để làm cho trường được kiểm tra theo mặc định. thêm vào biểu mẫu tại a Số trang cụ thể (1-indexed):
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
CheckboxField cb = new CheckboxField(page, new Rectangle(100, 100, 120, 120));
cb.setPartialName("agree");
cb.setChecked(true);
doc.getForm().add(cb, 1);
doc.save("form.pdf");
}TextBoxField
TextBoxField chấp nhận nhập văn bản tự do. thiết lập giá trị mặc định với setValue() và Đăng ký trường với biểu mẫu trước khi tiết kiệm:
try (Document doc = new Document()) {
PageCollection pages = doc.getPages();
Page page = pages.add();
TextBoxField text = new TextBoxField(page, new Rectangle(50, 200, 250, 220));
text.setPartialName("name");
text.setValue("Default text");
doc.getForm().add(text, 1);
doc.save("form.pdf");
}Tải về ComboBoxField và ListBoxFeld
ComboBoxField và ListBoxField Danh sách tùy chọn có sẵn. cả hai chấp nhận Lựa chọn qua addOption() và triển khai getValue() để lấy lại sự lựa chọn.
FormEditor
FormEditor là một lớp facade để làm việc với các trường AcroForm. Liên kết tài liệu Với bindPdf(), áp dụng thay đổi, sau đó gọi save().
Đọc giá trị lĩnh vực
Sau khi tải một biểu mẫu đã điền, lấy giá trị hiện tại của một trường được đặt tên bằng cách gọi doc.getForm().get(name) và ném vào loại trường cụ thể:
try (Document doc = new Document("form.pdf")) {
RadioButtonField radio = (RadioButtonField) doc.getForm().get("color");
String selected = radio.getValue();
System.out.println("Selected: " + selected);
}