Java ajoute des champs de formulaire au PDF

Les champs de formulaire PDF, également appelés champs interactifs, sont principalement utilisés pour collecter des informations sur les utilisateurs. Les champs de formulaire courants comprennent les boutons radio, les cases à cocher, les zones de liste et les zones de liste déroulante. Ce texte vous montrera comment utiliser Free Spire.PDF pour Java pour créer des champs de formulaire PDF dans votre programme Java.

** Importer le package JAR ** ** Méthode 1: ** Téléchargez Free Spire.PDF pour Java, décompressez-le et dans le dossier lib Importez le package jar directement dans votre application Java en tant que dépendance.

** Méthode 2: ** Installez le package jar à partir du référentiel Maven et configurez le code dans le fichier pom.xml comme suit:

<repositories>
   <repository>
      <id>com.e-iceblue</id>
      <name>e-iceblue</name>
      <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>e-iceblue</groupId>
      <artifactId>spire.pdf.free</artifactId>
      <version>2.6.3</version>
   </dependency>
</dependencies>

** Code Java **

import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.fields.*;
import com.spire.pdf.graphics.*;

public class AddFormFields {
    public static void main(String[] args) throws Exception {

        //Créer un objet PdfDocument
        PdfDocument doc = new PdfDocument();

        //Ajouter une page
        PdfPageBase page = doc.getPages().add();

        //Initialiser les variables de position
        float baseX = 100;
        float baseY = 0;

        //Créer un objet pinceau
        PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));
        PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.black));

        //Créer une police TrueType
        PdfTrueTypeFont font= new PdfTrueTypeFont(new Font("MS Mincho",Font.PLAIN,12),true);

        //Ajouter une case à cocher
        page.getCanvas().drawString("Case à cocher:", font, brush1, new Point2D.Float(0, baseY));
        java.awt.geom.Rectangle2D.Float rec1 = new java.awt.geom.Rectangle2D.Float(baseX, baseY, 15, 15);
        PdfCheckBoxField checkBoxField = new PdfCheckBoxField(page, "CheckBox1");
        checkBoxField.setBounds(rec1);
        checkBoxField.setChecked(false);
        page.getCanvas().drawString("Option 2", font, brush2, new Point2D.Float(baseX + 20, baseY));
        java.awt.geom.Rectangle2D.Float rec2 = new java.awt.geom.Rectangle2D.Float(baseX + 70, baseY, 15, 15);
        PdfCheckBoxField checkBoxField1 = new PdfCheckBoxField(page, "CheckBox2");
        checkBoxField1.setBounds(rec2);
        checkBoxField1.setChecked(false);
        page.getCanvas().drawString("Option 2", font,  brush2, new Point2D.Float(baseX+90, baseY));
        doc.getForm().getFields().add(checkBoxField);
        baseY += 25;

        //Ajouter une zone de liste
        page.getCanvas().drawString("zone de liste:", font, brush1, new Point2D.Float(0, baseY));
        java.awt.geom.Rectangle2D.Float rec = new java.awt.geom.Rectangle2D.Float(baseX, baseY, 150, 50);
        PdfListBoxField listBoxField = new PdfListBoxField(page, "ListBox");
        listBoxField.getItems().add(new PdfListFieldItem("Objet 1", "item1"));
        listBoxField.getItems().add(new PdfListFieldItem("Point 2", "item2"));
        listBoxField.getItems().add(new PdfListFieldItem("Point 3", "item3"));;
        listBoxField.setBounds(rec);
        listBoxField.setFont(font);
        listBoxField.setSelectedIndex(0);
        doc.getForm().getFields().add(listBoxField);
        baseY += 60;

        //Ajouter un bouton radio
        page.getCanvas().drawString("Boutons radio:", font, brush1, new Point2D.Float(0, baseY));
        PdfRadioButtonListField radioButtonListField = new PdfRadioButtonListField(page, "Radio");
        PdfRadioButtonListItem radioItem1 = new PdfRadioButtonListItem("Item1");
        radioItem1.setBounds(new Rectangle2D.Float(baseX, baseY, 15, 15));
        page.getCanvas().drawString("Option 1", font, brush2, new Point2D.Float(baseX + 20, baseY));
        PdfRadioButtonListItem radioItem2 = new PdfRadioButtonListItem("Item2");
        radioItem2.setBounds(new Rectangle2D.Float(baseX + 70, baseY, 15, 15));
        page.getCanvas().drawString("Option 2", font, brush2, new Point2D.Float(baseX + 90, baseY));
        radioButtonListField.getItems().add(radioItem1);radioButtonListField.getItems().add(radioItem2);
        radioButtonListField.setSelectedIndex(0);
        doc.getForm().getFields().add(radioButtonListField);
        baseY += 25;

        //Ajouter une zone de liste déroulante
        page.getCanvas().drawString("boîte combo:", font, brush1, new Point2D.Float(0, baseY));
        Rectangle2D.Float cmbBounds = new Rectangle2D.Float(baseX, baseY, 150, 15);
        PdfComboBoxField comboBoxField = new PdfComboBoxField(page, "ComboBox");
        comboBoxField.setBounds(cmbBounds);
        comboBoxField.getItems().add(new PdfListFieldItem("Objet 1", "item1"));
        comboBoxField.getItems().add(new PdfListFieldItem("Point 2", "itme2"));
        comboBoxField.getItems().add(new PdfListFieldItem("Point 3", "item3"));
        comboBoxField.getItems().add(new PdfListFieldItem("Point 4", "item4"));
        comboBoxField.setSelectedIndex(0);
        comboBoxField.setFont(font);
        doc.getForm().getFields().add(comboBoxField);
        baseY += 25;

        //Ajouter un champ de signature
        page.getCanvas().drawString("Domaine de signature:", font, brush1, new Point2D.Float(0, baseY));
        PdfSignatureField sgnField= new PdfSignatureField(page,"sgnField");
        Rectangle2D.Float sgnBounds = new Rectangle2D.Float(baseX, baseY, 150, 80);
        sgnField.setBounds(sgnBounds);
        doc.getForm().getFields().add(sgnField);
        baseY += 90;

        //Ajouter un bouton
        page.getCanvas().drawString("Bouton de soumission:", font, brush1, new Point2D.Float(0, baseY));
        Rectangle2D.Float btnBounds = new Rectangle2D.Float(baseX, baseY, 50, 15);
        PdfButtonField buttonField = new PdfButtonField(page, "Button");
        buttonField.setBounds(btnBounds);buttonField.setText("envoyer");
        buttonField.setFont(font);
        doc.getForm().getFields().add(buttonField);

        //Sauvegarder le document
        doc.saveToFile("AddFormField.pdf", FileFormat.PDF);
    }
}

p

Recommended Posts

Java ajoute des champs de formulaire au PDF
Java ajoute un tableau au PDF
Java ajoute des numéros de page aux documents PDF existants
Java pour extraire le contenu de texte PDF
Java ajoute des graphiques SmartArt à PowerPoint
Java ajoute des hyperliens aux documents Word
Ajouter un filigrane à Java au document PDF
[Java] Introduction à Java
Introduction à Java
Comment masquer les champs nuls en réponse en Java
Java ajoute une zone de texte aux diapositives PowerPoint
Comment accéder aux méthodes et champs Java Private
[Java] Convertir la version PDF
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Document PDF compressé Java
[Java] Connectez-vous à MySQL
Améliorations de Kotlin à Java
[Java] Paramètres d'affichage PDF
Pour les applications Java, convertissez des documents Word (DOC / DOCX) en PDF
De Java à Ruby !!
Introduction à la commande java
Comment simuler le téléchargement de formulaires post-objet vers OSS en Java
Comment abaisser la version java
Migration de Cobol vers JAVA
[Java] Comment utiliser Map
Comment désinstaller Java 8 (Mac)
Java pour jouer avec Function
Java - Comment créer JTable
Comment utiliser java Facultatif
Nouvelles fonctionnalités de Java7 à Java8
Comment réduire les images Java
Comment rédiger un commentaire java
Connectez-vous de Java à PostgreSQL
[Java] Comment utiliser removeAll ()
Java transforme Excel en PDF
[Java] Introduction à l'expression lambda
Shell pour tuer les processus Java
Comment utiliser Java Map
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
[Java] Introduction à l'API Stream
Java8 pour démarrer maintenant ~ Facultatif ~
Comment convertir la base Java
[Java] Convertir ArrayList en tableau
Thread Java pour comprendre vaguement
[Java] Comment implémenter le multithreading
De Java inefficace à Java efficace
Comment initialiser un tableau Java
Formulaire de réservation d'échantillons de sélénium (Java)
[Introduction aux jeux Janken (comme)] Java
Entrée dans la console Java
J'ai essayé d'exécuter le formulaire FaaS compatible Java "Fn Project"