Search in sources :

Example 1 with PdfBorderDictionary

use of com.lowagie.text.pdf.PdfBorderDictionary in project itext2 by albfernandez.

the class FormTextFieldTest method main.

/**
 * Generates an Acroform with a TextField
 */
@Test
public void main() throws Exception {
    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);
    // step 2:
    PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("textfield.pdf"));
    // step 3: we open the document
    document.open();
    // step 4:
    BaseFont helv = BaseFont.createFont("Helvetica", "winansi", false);
    PdfContentByte cb = writer.getDirectContent();
    cb.moveTo(0, 0);
    String text = "Some start text";
    float fontSize = 12;
    Color textColor = new GrayColor(0f);
    PdfFormField field = PdfFormField.createTextField(writer, false, false, 0);
    field.setWidget(new Rectangle(171, 750, 342, 769), PdfAnnotation.HIGHLIGHT_INVERT);
    field.setFlags(PdfAnnotation.FLAGS_PRINT);
    field.setFieldName("ATextField");
    field.setValueAsString(text);
    field.setDefaultValueAsString(text);
    field.setBorderStyle(new PdfBorderDictionary(2, PdfBorderDictionary.STYLE_SOLID));
    field.setPage();
    PdfAppearance tp = cb.createAppearance(171, 19);
    PdfAppearance da = (PdfAppearance) tp.getDuplicate();
    da.setFontAndSize(helv, fontSize);
    da.setColorFill(textColor);
    field.setDefaultAppearanceString(da);
    tp.beginVariableText();
    tp.saveState();
    tp.rectangle(2, 2, 167, 15);
    tp.clip();
    tp.newPath();
    tp.beginText();
    tp.setFontAndSize(helv, fontSize);
    tp.setColorFill(textColor);
    tp.setTextMatrix(4, 5);
    tp.showText(text);
    tp.endText();
    tp.restoreState();
    tp.endVariableText();
    field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, tp);
    writer.addAnnotation(field);
    // step 5: we close the document
    document.close();
}
Also used : PdfFormField(com.lowagie.text.pdf.PdfFormField) PdfWriter(com.lowagie.text.pdf.PdfWriter) Color(java.awt.Color) GrayColor(com.lowagie.text.pdf.GrayColor) BaseFont(com.lowagie.text.pdf.BaseFont) Rectangle(com.lowagie.text.Rectangle) PdfAppearance(com.lowagie.text.pdf.PdfAppearance) PdfContentByte(com.lowagie.text.pdf.PdfContentByte) GrayColor(com.lowagie.text.pdf.GrayColor) PdfBorderDictionary(com.lowagie.text.pdf.PdfBorderDictionary) Document(com.lowagie.text.Document) Test(org.junit.Test)

Example 2 with PdfBorderDictionary

use of com.lowagie.text.pdf.PdfBorderDictionary in project OpenPDF by LibrePDF.

the class FormTextField method main.

/**
 * Generates an Acroform with a TextField
 * @param args no arguments needed here
 */
public static void main(String[] args) {
    System.out.println("Textfield");
    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);
    try {
        // step 2:
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("textfield.pdf"));
        // step 3: we open the document
        document.open();
        // step 4:
        BaseFont helv = BaseFont.createFont("Helvetica", "winansi", false);
        PdfContentByte cb = writer.getDirectContent();
        cb.moveTo(0, 0);
        String text = "Some start text";
        float fontSize = 12;
        Color textColor = new GrayColor(0f);
        PdfFormField field = PdfFormField.createTextField(writer, false, false, 0);
        field.setWidget(new Rectangle(171, 750, 342, 769), PdfAnnotation.HIGHLIGHT_INVERT);
        field.setFlags(PdfAnnotation.FLAGS_PRINT);
        field.setFieldName("ATextField");
        field.setValueAsString(text);
        field.setDefaultValueAsString(text);
        field.setBorderStyle(new PdfBorderDictionary(2, PdfBorderDictionary.STYLE_SOLID));
        field.setPage();
        PdfAppearance tp = cb.createAppearance(171, 19);
        PdfAppearance da = (PdfAppearance) tp.getDuplicate();
        da.setFontAndSize(helv, fontSize);
        da.setColorFill(textColor);
        field.setDefaultAppearanceString(da);
        tp.beginVariableText();
        tp.saveState();
        tp.rectangle(2, 2, 167, 15);
        tp.clip();
        tp.newPath();
        tp.beginText();
        tp.setFontAndSize(helv, fontSize);
        tp.setColorFill(textColor);
        tp.setTextMatrix(4, 5);
        tp.showText(text);
        tp.endText();
        tp.restoreState();
        tp.endVariableText();
        field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, tp);
        writer.addAnnotation(field);
    } catch (DocumentException | IOException de) {
        System.err.println(de.getMessage());
    }
    // step 5: we close the document
    document.close();
}
Also used : PdfFormField(com.lowagie.text.pdf.PdfFormField) PdfWriter(com.lowagie.text.pdf.PdfWriter) Color(java.awt.Color) GrayColor(com.lowagie.text.pdf.GrayColor) Rectangle(com.lowagie.text.Rectangle) PdfAppearance(com.lowagie.text.pdf.PdfAppearance) PdfBorderDictionary(com.lowagie.text.pdf.PdfBorderDictionary) IOException(java.io.IOException) Document(com.lowagie.text.Document) FileOutputStream(java.io.FileOutputStream) DocumentException(com.lowagie.text.DocumentException) BaseFont(com.lowagie.text.pdf.BaseFont) PdfContentByte(com.lowagie.text.pdf.PdfContentByte) GrayColor(com.lowagie.text.pdf.GrayColor)

Aggregations

Document (com.lowagie.text.Document)2 Rectangle (com.lowagie.text.Rectangle)2 BaseFont (com.lowagie.text.pdf.BaseFont)2 GrayColor (com.lowagie.text.pdf.GrayColor)2 PdfAppearance (com.lowagie.text.pdf.PdfAppearance)2 PdfBorderDictionary (com.lowagie.text.pdf.PdfBorderDictionary)2 PdfContentByte (com.lowagie.text.pdf.PdfContentByte)2 PdfFormField (com.lowagie.text.pdf.PdfFormField)2 PdfWriter (com.lowagie.text.pdf.PdfWriter)2 Color (java.awt.Color)2 DocumentException (com.lowagie.text.DocumentException)1 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 Test (org.junit.Test)1