Créer AcroForm - Créer un PDF remplissable en Java
Aspose.PDF for Java vous permet de créer une large gamme de types de champs AcroForm à partir de zéro.
Créer un champ de zone de texte
Utilisez cet exemple lorsque vous devez ajouter un champ de saisie de texte sur une seule ligne à un nouveau formulaire PDF.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un TextBoxField avec un rectangle cible et configurez son apparence.
- Ajoutez le champ au formulaire et enregistrez le document.
public static void addTextBoxField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Rectangle rectangle = new Rectangle(10, 600, 110, 620, true);
TextBoxField textBoxField = new TextBoxField(page, rectangle);
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
textBoxField.setDefaultAppearance(new DefaultAppearance("Arial", 10, Color.getDarkBlue().toRgb()));
Border border = new Border(textBoxField);
border.setWidth(1);
border.setStyle(BorderStyle.Dashed);
border.setDash(new Dash(3, 3));
textBoxField.setBorder(border);
textBoxField.getCharacteristics().setBorder(Color.getRed());
textBoxField.getCharacteristics().setBackground(Color.getYellow().toRgb());
document.getForm().add(textBoxField, 1);
document.save(outputFile.toString());
}
}
Créer un champ de zone de texte avec plusieurs widgets
Utilisez cet exemple lorsque la même valeur de champ de texte doit apparaître à plusieurs positions sur la page.
- Créez un nouveau document PDF Document et ajoutez une page.
- Définissez plusieurs rectangles et apparences pour les widgets de champ.
- Créez le TextBoxField, configurez chaque widget et enregistrez le document.
public static void addTextBoxFieldNt(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
Rectangle[] rects = {
new Rectangle(10, 600, 110, 620, true),
new Rectangle(10, 630, 110, 650, true),
new Rectangle(10, 660, 110, 680, true)
};
DefaultAppearance[] defaultAppearances = {
new DefaultAppearance("Arial", 10, Color.getDarkBlue().toRgb()),
new DefaultAppearance("Helvetica", 12, Color.getDarkGreen().toRgb()),
new DefaultAppearance(FontRepository.findFont("Calibri"), 14, Color.getDarkMagenta().toRgb())
};
TextBoxField textBoxField = new TextBoxField(page, rects);
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Some text");
int index = 0;
for (WidgetAnnotation widget : textBoxField) {
widget.setDefaultAppearance(defaultAppearances[index]);
index++;
}
Border border = new Border(textBoxField);
border.setWidth(1);
border.setStyle(BorderStyle.Dashed);
border.setDash(new Dash(3, 3));
textBoxField.setBorder(border);
textBoxField.getCharacteristics().setBorder(Color.getRed());
textBoxField.getCharacteristics().setBackground(Color.getYellow().toRgb());
document.getForm().add(textBoxField);
document.save(outputFile.toString());
}
}
Créer un champ de bouton radio
Utilisez cet exemple lorsque le formulaire doit permettre à l’utilisateur de choisir une option parmi un ensemble prédéfini.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un RadioButtonField et ajoutez les options requises.
- Ajoutez le champ au formulaire et enregistrez le PDF.
public static void addRadioButton(Path outputFile) {
try (Document document = new Document()) {
document.getPages().add();
RadioButtonField radio = new RadioButtonField(document.getPages().get_Item(1));
radio.addOption("Option 1", new Rectangle(100, 640, 120, 680, true));
radio.addOption("Option 2", new Rectangle(140, 640, 160, 680, true));
document.getForm().add(radio);
document.save(outputFile.toString());
}
}
Créer un champ de zone de liste déroulante
Utilisez cet exemple lorsque l’utilisateur doit choisir une valeur dans une liste déroulante.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un ComboBoxField et ajoutez ses options sélectionnables.
- Définissez la sélection par défaut et enregistrez le document.
public static void addComboBox(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
ComboBoxField combo = new ComboBoxField(page, new Rectangle(100, 640, 150, 656, true));
combo.addOption("Red");
combo.addOption("Yellow");
combo.addOption("Green");
combo.addOption("Blue");
combo.setSelected(3);
document.getForm().add(combo);
document.save(outputFile.toString());
}
}
Créer un champ de case à cocher
Utilisez cet exemple lorsque le formulaire nécessite une option vrai ou faux telle que le consentement ou la sélection de fonctionnalités.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un CheckboxField et configurez son apparence.
- Ajoutez la case à cocher au formulaire et enregistrez le fichier de sortie.
public static void addCheckboxFieldToPdf(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
CheckboxField checkbox = new CheckboxField(page, new Rectangle(50, 620, 100, 650, true));
checkbox.getCharacteristics().setBackground(Color.getAqua().toRgb());
checkbox.setStyle(BoxStyle.Circle);
document.getForm().add(checkbox);
document.save(outputFile.toString());
}
}
Créer un champ de zone de liste
Utilisez cet exemple lorsque le formulaire doit afficher plusieurs choix disponibles dans une liste visible.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un ListBoxField et ajoutez les options disponibles.
- Ajoutez le champ au formulaire et enregistrez le document.
public static void addListBoxFieldToPdf(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
ListBoxField listBox = new ListBoxField(page, new Rectangle(50, 650, 100, 700, true));
listBox.setPartialName("list");
listBox.addOption("Red");
listBox.addOption("Green");
listBox.addOption("Blue");
document.getForm().add(listBox);
document.save(outputFile.toString());
}
}
Créer un champ de signature
Utilisez cet exemple lorsque le document doit réserver une zone visible pour une signature numérique.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un SignatureField dans le rectangle requis.
- Ajoutez le champ au formulaire et enregistrez le PDF de sortie.
public static void addSignatureField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
SignatureField signatureField = new SignatureField(page, new Rectangle(100, 700, 200, 800, true));
signatureField.setPartialName("Signature1");
document.getForm().add(signatureField);
document.save(outputFile.toString());
}
}
Créer un champ de code-barres
Utilisez cet exemple lorsque le formulaire doit afficher des données lisibles par machine dans un champ de code-barres.
- Créez un nouveau document PDF Document et ajoutez une page.
- Créez un BarcodeField et ajoutez la valeur du code-barres.
- Ajoutez le champ au formulaire et enregistrez le document.
public static void addBarcodeField(Path outputFile) {
try (Document document = new Document()) {
Page page = document.getPages().add();
BarcodeField barcode = new BarcodeField(page, new Rectangle(100, 700, 200, 740, true));
barcode.setPartialName("Barcode1");
barcode.addBarcode("1234567890");
document.getForm().add(barcode);
document.save(outputFile.toString());
}
}