Java PDF: Ajouter un champ de texte dans un document PDF

Author:

Java PDF: Ajouter un champ de texte dans un document PDF
{filelink=10429}

/***** Code de MesExemples.com *******/
/**
 * @(#)ExempleTextFieldPDF.java
 *
 *
 * @author 
 *sakoba(java.mesexemples.com) @version 1.00 2013/4/30
 */

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfBorderDictionary;
import com.itextpdf.text.pdf.PdfFormField;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.TextField;
import com.itextpdf.text.BaseColor;

public class ExempleTextFieldPDF {
  public static void main(String[] args) {
    Document document = new Document(PageSize.A4.rotate());
    try {
      PdfWriter pdf_writer = PdfWriter.getInstance(document, 
      	new FileOutputStream("c:/TextFieldsPDF.pdf"));
      document.open();
      
      // Créer un textfield et modifier ses propriétés
      TextField tf = new TextField(pdf_writer, new Rectangle(100, 300, 100 + 
    100, 300 + 50), "asdf");
      tf.setBackgroundColor(BaseColor.WHITE);
      tf.setBorderColor(BaseColor.BLACK);
      tf.setBorderWidth(1);
      tf.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED);
      tf.setText("Bienvenu sur PDF dynamique");
      tf.setAlignment(Element.ALIGN_CENTER);
      tf.setOptions(TextField.MULTILINE | TextField.REQUIRED);
      tf.setRotation(90);
      PdfFormField field = tf.getTextField();
      pdf_writer.addAnnotation(field);

    } catch (Exception err) {
      System.err.println(err.getMessage());
    }
    document.close();
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *