Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

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

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();
  }
}