Java/PDF RTF/Form Control
Form Combo
<source lang="java">
import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfAnnotation; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfFormField; import com.lowagie.text.pdf.PdfWriter; public class FormComboPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("FormComboPDF.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); cb.moveTo(0, 0); String options[] = { "A", "B", "C" }; PdfFormField field = PdfFormField.createCombo(writer, true, options, 0); field.setWidget(new Rectangle(100, 700, 180, 720), PdfAnnotation.HIGHLIGHT_INVERT); field.setFieldName("ACombo"); field.setValueAsString("B"); writer.addAnnotation(field); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>
Form List Control
<source lang="java">
import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.PageSize; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.PdfAnnotation; import com.lowagie.text.pdf.PdfAppearance; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfFormField; import com.lowagie.text.pdf.PdfWriter; public class FormListPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("FormListPDF.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); cb.moveTo(0, 0); String options[] = { "A", "B", "C" }; PdfFormField field = PdfFormField.createList(writer, options, 0); field.setWidget(new Rectangle(100, 700, 180, 760), PdfAnnotation.HIGHLIGHT_OUTLINE); field.setFieldName("AList"); field.setValueAsString("B"); writer.addAnnotation(field); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>
TextFields Demo
<source lang="java">
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; public class TextFieldsPDF {
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate()); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("TextFieldsPDF.pdf")); document.open(); TextField tf = new TextField(writer, new Rectangle(100, 300, 100 + 100, 300 + 50), "asdf"); tf.setBackgroundColor(Color.WHITE); tf.setBorderColor(Color.BLACK); tf.setBorderWidth(1); tf.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED); tf.setText("text..."); tf.setAlignment(Element.ALIGN_CENTER); tf.setOptions(TextField.MULTILINE | TextField.REQUIRED); tf.setRotation(90); PdfFormField field = tf.getTextField(); writer.addAnnotation(field); } catch (Exception e) { System.err.println(e.getMessage()); } document.close(); }
}
</source>