/* * $Id$ * * This code is part of the 'iText Tutorial'. * You can find the complete tutorial at the following address: * http://itextdocs.lowagie.com/tutorial/ * * This code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * itext-questions@lists.sourceforge.net */ package com.lowagie.examples.forms; import java.awt.Color; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.PageSize; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfBorderDictionary; import com.lowagie.text.pdf.PdfFormField; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.TextField; /** * Demonstrates the use of PageSize. * @author blowagie */ public class TextFields { /** * Creates a PDF document with a certain pagesize * @param args no arguments needed here */ public static void main(String[] args) { System.out.println("Textfields"); // step 1: creation of a document-object Document document = new Document(PageSize.A4.rotate()); try { // step 2: PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TextFields.pdf")); // step 3: we open the document document.open(); // step 4: TextField tf = new TextField(writer, new Rectangle(100, 300, 100 + 100, 300 + 50), "Dickens"); tf.setBackgroundColor(Color.RED); tf.setBorderColor(Color.BLUE); tf.setBorderWidth(2); tf.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED); tf.setText("It was the best of times, it was the worst of times, it was the age of wisdom..."); tf.setAlignment(Element.ALIGN_CENTER); tf.setOptions(TextField.MULTILINE | TextField.REQUIRED); tf.setRotation(90); PdfFormField field = tf.getTextField(); writer.addAnnotation(field); tf = new TextField(writer, new Rectangle(250, 300, 250 + 100, 300 + 20), "Combos"); tf.setBackgroundColor(Color.RED); tf.setBorderColor(Color.BLUE); tf.setBorderWidth(2); tf.setFontSize(10); tf.setBorderStyle(PdfBorderDictionary.STYLE_INSET); tf.setVisibility(TextField.VISIBLE_BUT_DOES_NOT_PRINT); tf.setChoices(new String[]{"First", "Second"}); tf.setChoiceExports(new String[]{"value1", "value2"}); tf.setRotation(90); field = tf.getComboField(); writer.addAnnotation(field); tf = new TextField(writer, new Rectangle(400, 300, 400 + 100, 300 + 50), "Lists"); tf.setBackgroundColor(Color.YELLOW); tf.setBorderColor(Color.RED); tf.setBorderWidth(2); tf.setBorderStyle(PdfBorderDictionary.STYLE_DASHED); tf.setFontSize(10); tf.setChoices(new String[]{"a", "b", "c", "d", "e", "f", "g", "h"}); tf.setRotation(90); tf.setChoiceSelection(4); field = tf.getListField(); writer.addAnnotation(field); } catch(DocumentException de) { System.err.println(de.getMessage()); } catch(IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); } }