Java 类com.lowagie.text.pdf.PdfAppearance 实例源码

项目:dhis2-core    文件:DefaultPdfDataEntryFormService.java   
private void setCheckboxAppearance( PdfFormField checkboxfield, PdfContentByte canvas, float width )
{
    PdfAppearance[] onOff = new PdfAppearance[2];
    onOff[0] = canvas.createAppearance( width + 2, width + 2 );
    onOff[0].rectangle( 1, 1, width, width );
    onOff[0].stroke();
    onOff[1] = canvas.createAppearance( width + 2, width + 2 );
    onOff[1].setRGBColorFill( 255, 128, 128 );
    onOff[1].rectangle( 1, 1, width, width );
    onOff[1].fillStroke();
    onOff[1].moveTo( 1, 1 );
    onOff[1].lineTo( width + 1, width + 1 );
    onOff[1].moveTo( 1, width + 1 );
    onOff[1].lineTo( width + 1, 1 );
    onOff[1].stroke();

    checkboxfield.setAppearance( PdfAnnotation.APPEARANCE_NORMAL, "Off", onOff[0] );
    checkboxfield.setAppearance( PdfAnnotation.APPEARANCE_NORMAL, "On", onOff[1] );
}
项目:AgileAlligators    文件:DefaultPdfDataEntryFormService.java   
private void setCheckboxAppearance( PdfFormField checkboxfield, PdfContentByte canvas, float width )
{
    PdfAppearance[] onOff = new PdfAppearance[2];
    onOff[0] = canvas.createAppearance( width + 2, width + 2 );
    onOff[0].rectangle( 1, 1, width, width );
    onOff[0].stroke();
    onOff[1] = canvas.createAppearance( width + 2, width + 2 );
    onOff[1].setRGBColorFill( 255, 128, 128 );
    onOff[1].rectangle( 1, 1, width, width );
    onOff[1].fillStroke();
    onOff[1].moveTo( 1, 1 );
    onOff[1].lineTo( width + 1, width + 1 );
    onOff[1].moveTo( 1, width + 1 );
    onOff[1].lineTo( width + 1, 1 );
    onOff[1].stroke();

    checkboxfield.setAppearance( PdfAnnotation.APPEARANCE_NORMAL, "Off", onOff[0] );
    checkboxfield.setAppearance( PdfAnnotation.APPEARANCE_NORMAL, "On", onOff[1] );
}
项目:itext2    文件:FormPushButtonTest.java   
/**
 * Generates an Acroform with a PushButton
 */
@Test
public void main() throws Exception {

    Document.compress = false;
    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);

    // step 2:
    PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("pushbutton.pdf"));

    // step 3: we open the document
    document.open();

    // step 4:
    PdfFormField pushbutton = PdfFormField.createPushButton(writer);
    PdfContentByte cb = writer.getDirectContent();
    cb.moveTo(0, 0);
    PdfAppearance normal = cb.createAppearance(100, 50);
    normal.setColorFill(Color.GRAY);
    normal.rectangle(5, 5, 90, 40);
    normal.fill();
    PdfAppearance rollover = cb.createAppearance(100, 50);
    rollover.setColorFill(Color.RED);
    rollover.rectangle(5, 5, 90, 40);
    rollover.fill();
    PdfAppearance down = cb.createAppearance(100, 50);
    down.setColorFill(Color.BLUE);
    down.rectangle(5, 5, 90, 40);
    down.fill();
    pushbutton.setFieldName("PushMe");
    pushbutton.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, normal);
    pushbutton.setAppearance(PdfAnnotation.APPEARANCE_ROLLOVER, rollover);
    pushbutton.setAppearance(PdfAnnotation.APPEARANCE_DOWN, down);
    pushbutton.setWidget(new Rectangle(100, 700, 200, 750), PdfAnnotation.HIGHLIGHT_PUSH);
    writer.addAnnotation(pushbutton);

    // step 5: we close the document
    document.close();
}
项目:itext2    文件:FormCheckboxTest.java   
/**
 * Generates an Acroform with a Checkbox
 */
@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("checkbox.pdf"));

    // step 3: we open the document
    document.open();

    // step 4:
    PdfContentByte cb = writer.getDirectContent();
    cb.moveTo(0, 0);
    PdfFormField field = PdfFormField.createCheckBox(writer);
    PdfAppearance tpOff = cb.createAppearance(20, 20);
    PdfAppearance tpOn = cb.createAppearance(20, 20);
    tpOff.rectangle(1, 1, 18, 18);
    tpOff.stroke();

    tpOn.setRGBColorFill(255, 128, 128);
    tpOn.rectangle(1, 1, 18, 18);
    tpOn.fillStroke();
    tpOn.moveTo(1, 1);
    tpOn.lineTo(19, 19);
    tpOn.moveTo(1, 19);
    tpOn.lineTo(19, 1);
    tpOn.stroke();

    field.setWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
    field.setFieldName("Urgent");
    field.setValueAsName("Off");
    field.setAppearanceState("Off");
    field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
    field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", tpOn);
    writer.addAnnotation(field);

    // step 5: we close the document
    document.close();
}
项目:itext2    文件:FormTextFieldTest.java   
/**
 * 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();
}
项目:itext2    文件:FormRadioButtonTest.java   
/**
 * Generates an Acroform with a RadioButton
 */
@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("radiobutton.pdf"));

    // step 3: we open the document
    document.open();

    // step 4:
    PdfContentByte cb = writer.getDirectContent();
    cb.moveTo(0, 0);
    PdfFormField radio = PdfFormField.createRadioButton(writer, true);
    PdfAppearance tpOff = cb.createAppearance(20, 20);
    PdfAppearance tpOn = cb.createAppearance(20, 20);

    tpOff.circle(10, 10, 9);
    tpOff.stroke();

    tpOn.circle(10, 10, 9);
    tpOn.stroke();
    tpOn.circle(10, 10, 3);
    tpOn.fillStroke();

    radio.setFieldName("CreditCard");
    radio.setValueAsName("MasterCard");

    PdfFormField radio1 = PdfFormField.createEmpty(writer);
    radio1.setWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
    radio1.setAppearanceState("MasterCard");
    radio1.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
    radio1.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "MasterCard", tpOn);
    radio.addKid(radio1);

    PdfFormField radio2 = PdfFormField.createEmpty(writer);
    radio2.setWidget(new Rectangle(100, 660, 120, 680), PdfAnnotation.HIGHLIGHT_INVERT);
    radio2.setAppearanceState("Off");
    radio2.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
    radio2.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Visa", tpOn);
    radio.addKid(radio2);

    PdfFormField radio3 = PdfFormField.createEmpty(writer);
    radio3.setWidget(new Rectangle(100, 620, 120, 640), PdfAnnotation.HIGHLIGHT_INVERT);
    radio3.setAppearanceState("Off");
    radio3.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
    radio3.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "American", tpOn);
    radio.addKid(radio3);

    writer.addAnnotation(radio);

    // step 5: we close the document
    document.close();
}
项目:PDFTestForAndroid    文件:FormList.java   
/**
 * Generates an Acroform with a list
 * 
 * @param args
 *            no arguments needed here
 */
public static void main(String[] args) {

    System.out.println("List");

    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);

    try {

        // step 2:
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "list.pdf"));

        // step 3: we open the document
        document.open();

        // step 4:
        PdfContentByte cb = writer.getDirectContent();
        cb.moveTo(0, 0);
        String options[] = { "Red", "Green", "Blue" };
        PdfFormField field = PdfFormField.createList(writer, options, 0);
        PdfAppearance app = cb.createAppearance(80, 60);
        app.rectangle(1, 1, 78, 58);
        app.setGrayFill(0.8f);
        app.fill();
        app.resetGrayFill();
        field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, app);
        field.setWidget(new Rectangle(100, 700, 180, 760), PdfAnnotation.HIGHLIGHT_OUTLINE);
        field.setFieldName("AList");
        field.setValueAsString("Red");
        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();
}
项目:PDFTestForAndroid    文件:FormCheckbox.java   
/**
 * Generates an Acroform with a Checkbox
 * 
 * @param args
 *            no arguments needed here
 */
public static void main(String[] args) {

    System.out.println("Checkbox");

    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);

    try {

        // step 2:
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "checkbox.pdf"));

        // step 3: we open the document
        document.open();

        // step 4:
        PdfContentByte cb = writer.getDirectContent();
        cb.moveTo(0, 0);
        PdfFormField field = PdfFormField.createCheckBox(writer);
        PdfAppearance tpOff = cb.createAppearance(20, 20);
        PdfAppearance tpOn = cb.createAppearance(20, 20);
        tpOff.rectangle(1, 1, 18, 18);
        tpOff.stroke();

        tpOn.setRGBColorFill(255, 128, 128);
        tpOn.rectangle(1, 1, 18, 18);
        tpOn.fillStroke();
        tpOn.moveTo(1, 1);
        tpOn.lineTo(19, 19);
        tpOn.moveTo(1, 19);
        tpOn.lineTo(19, 1);
        tpOn.stroke();

        field.setWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
        field.setFieldName("Urgent");
        field.setValueAsName("Off");
        field.setAppearanceState("Off");
        field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
        field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", tpOn);
        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();
}
项目:PDFTestForAndroid    文件:FormPushButton.java   
/**
 * Generates an Acroform with a PushButton
 * 
 * @param args
 *            no arguments needed here
 */
public static void main(String[] args) {

    System.out.println("PushButton");
    Document.compress = false;
    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);

    try {

        // step 2:
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "pushbutton.pdf"));

        // step 3: we open the document
        document.open();

        // step 4:
        PdfFormField pushbutton = PdfFormField.createPushButton(writer);
        PdfContentByte cb = writer.getDirectContent();
        cb.moveTo(0, 0);
        PdfAppearance normal = cb.createAppearance(100, 50);
        normal.setColorFill(Color.GRAY);
        normal.rectangle(5, 5, 90, 40);
        normal.fill();
        PdfAppearance rollover = cb.createAppearance(100, 50);
        rollover.setColorFill(Color.RED);
        rollover.rectangle(5, 5, 90, 40);
        rollover.fill();
        PdfAppearance down = cb.createAppearance(100, 50);
        down.setColorFill(Color.BLUE);
        down.rectangle(5, 5, 90, 40);
        down.fill();
        pushbutton.setFieldName("PushMe");
        pushbutton.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, normal);
        pushbutton.setAppearance(PdfAnnotation.APPEARANCE_ROLLOVER, rollover);
        pushbutton.setAppearance(PdfAnnotation.APPEARANCE_DOWN, down);
        pushbutton.setWidget(new Rectangle(100, 700, 200, 750), PdfAnnotation.HIGHLIGHT_PUSH);
        writer.addAnnotation(pushbutton);

    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }

    // step 5: we close the document
    document.close();
}
项目:PDFTestForAndroid    文件:FormRadioButton.java   
/**
 * Generates an Acroform with a RadioButton
 * 
 * @param args
 *            no arguments needed here
 */
public static void main(String[] args) {

    System.out.println("RadioButton");

    // step 1: creation of a document-object
    Document document = new Document(PageSize.A4);

    try {

        // step 2:
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "radiobutton.pdf"));

        // step 3: we open the document
        document.open();

        // step 4:
        PdfContentByte cb = writer.getDirectContent();
        cb.moveTo(0, 0);
        PdfFormField radio = PdfFormField.createRadioButton(writer, true);
        PdfAppearance tpOff = cb.createAppearance(20, 20);
        PdfAppearance tpOn = cb.createAppearance(20, 20);

        tpOff.circle(10, 10, 9);
        tpOff.stroke();

        tpOn.circle(10, 10, 9);
        tpOn.stroke();
        tpOn.circle(10, 10, 3);
        tpOn.fillStroke();

        radio.setFieldName("CreditCard");
        radio.setValueAsName("MasterCard");

        PdfFormField radio1 = PdfFormField.createEmpty(writer);
        radio1.setWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);
        radio1.setAppearanceState("MasterCard");
        radio1.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
        radio1.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "MasterCard", tpOn);
        radio.addKid(radio1);

        PdfFormField radio2 = PdfFormField.createEmpty(writer);
        radio2.setWidget(new Rectangle(100, 660, 120, 680), PdfAnnotation.HIGHLIGHT_INVERT);
        radio2.setAppearanceState("Off");
        radio2.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
        radio2.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Visa", tpOn);
        radio.addKid(radio2);

        PdfFormField radio3 = PdfFormField.createEmpty(writer);
        radio3.setWidget(new Rectangle(100, 620, 120, 640), PdfAnnotation.HIGHLIGHT_INVERT);
        radio3.setAppearanceState("Off");
        radio3.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);
        radio3.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "American", tpOn);
        radio.addKid(radio3);

        writer.addAnnotation(radio);

    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }

    // step 5: we close the document
    document.close();
}
项目:PDFTestForAndroid    文件:FormTextField.java   
/**
 * 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(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "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 de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }

    // step 5: we close the document
    document.close();
}