Example usage for com.lowagie.text.pdf PdfStamper close

List of usage examples for com.lowagie.text.pdf PdfStamper close

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfStamper close.

Prototype

public void close() throws DocumentException, IOException 

Source Link

Document

Closes the document.

Usage

From source file:classroom.newspaper_b.Newspaper09.java

public static void main(String[] args) {
    try {//  ww w .  j  a  v a  2 s  .  c o m
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));

        PdfAnnotation annotation1 = PdfAnnotation.createSquareCircle(stamper.getWriter(),
                new Rectangle(LLX1, LLY1, URX1, URY1), MESSAGE, true);
        annotation1.put(PdfName.T, new PdfString("Advertisement 1"));
        annotation1.put(PdfName.C, new PdfArray(new float[] { 1, 0, 0 }));
        stamper.addAnnotation(annotation1, 1);

        PdfAnnotation annotation2 = PdfAnnotation.createText(stamper.getWriter(),
                new Rectangle(LLX2, LLY2, URX2, URY2), "Advertisement 2", MESSAGE, false, null);
        annotation2.put(PdfName.NM, new PdfString("ad2"));
        // the text must be read only, and the annotation set to NOVIEW
        annotation2.put(PdfName.F, new PdfNumber(PdfAnnotation.FLAGS_READONLY | PdfAnnotation.FLAGS_NOVIEW));

        // we create a popup annotation that will define where the rectangle will appear
        PdfAnnotation popup = PdfAnnotation.createPopup(stamper.getWriter(),
                new Rectangle(LLX2 + 50, LLY2 + 120, URX2 - 80, URY2 - 120), null, false);

        // we add a reference to the text annotation to the popup annotation
        popup.put(PdfName.PARENT, annotation2.getIndirectReference());
        // we add a reference to the popup annotation to the text annotation
        annotation2.put(PdfName.POPUP, popup.getIndirectReference());

        // we add both annotations to the writer
        stamper.addAnnotation(annotation2, 1);
        stamper.addAnnotation(popup, 1);

        // the text annotation can't be viewed (it's invisible)
        // we create a widget annotation named mywidget (it's a button field)
        PushbuttonField field = new PushbuttonField(stamper.getWriter(), new Rectangle(LLX2, LLY2, URX2, URY2),
                "button");
        PdfAnnotation widget = field.getField();
        PdfDictionary dict = new PdfDictionary();
        // we write some javascript that makes the popup of the text annotation visible/invisible on mouse enter/exit
        String js1 = "var t = this.getAnnot(this.pageNum, 'ad2'); t.popupOpen = true; var w = this.getField('button'); w.setFocus();";
        PdfAction enter = PdfAction.javaScript(js1, stamper.getWriter());
        dict.put(PdfName.E, enter);
        String js2 = "var t = this.getAnnot(this.pageNum, 'ad2'); t.popupOpen = false;";
        PdfAction exit = PdfAction.javaScript(js2, stamper.getWriter());
        dict.put(PdfName.X, exit);
        // we add the javascript as additional action
        widget.put(PdfName.AA, dict);
        // we add the button field
        stamper.addAnnotation(widget, 1);

        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:classroom.newspaper_b.Newspaper10.java

public static void main(String[] args) {
    try {/*from  w  ww. jav  a 2s  .c  o  m*/
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        PushbuttonField button;
        Rectangle rect;

        rect = new Rectangle(100, 980, 700, 1000);
        button = new PushbuttonField(stamper.getWriter(), rect, "click");
        button.setBackgroundColor(Color.ORANGE);
        button.setText("Click here to close window");
        button.setLayout(PushbuttonField.LAYOUT_LABEL_ONLY);
        button.setAlignment(Element.ALIGN_RIGHT);
        PdfFormField menubar = button.getField();
        String js = "var f1 = getField('click'); f1.display = display.hidden;"
                + "var f2 = getField('advertisement'); f2.display = display.hidden;";
        menubar.setAction(PdfAction.javaScript(js, stamper.getWriter()));
        stamper.addAnnotation(menubar, 1);

        rect = new Rectangle(100, 500, 700, 980);
        button = new PushbuttonField(stamper.getWriter(), rect, "advertisement");
        button.setBackgroundColor(Color.WHITE);
        button.setBorderColor(Color.ORANGE);
        button.setImage(Image.getInstance(IMG));
        button.setText("Buy the book iText in Action");
        button.setLayout(PushbuttonField.LAYOUT_LABEL_TOP_ICON_BOTTOM);
        PdfFormField advertisement = button.getField();
        advertisement.setAction(new PdfAction("http://www.1t3xt.com/docs/book.php"));
        stamper.addAnnotation(advertisement, 1);
        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:classroom.newspaper_b.Newspaper11.java

@SuppressWarnings("unchecked")
public static void main(String[] args) {
    try {//from   www .  jav a 2s  .  c om
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        PdfContentByte canvas = stamper.getOverContent(1);
        canvas.setRGBColorFill(0xFF, 0xFF, 0xFF);
        canvas.rectangle(LLX1, LLY1, W1, H1);
        canvas.rectangle(LLX2, LLY2, W2, H2);
        canvas.fill();
        addTextField(stamper, new Rectangle(LLX1, LLY1, URX1, URY1), "field1", 1);
        addTextField(stamper, new Rectangle(LLX2, LLY2, URX2, URY2), "field2", 1);
        stamper.close();

        reader = new PdfReader(RESULT);
        AcroFields fields = reader.getAcroFields();
        Set<String> fieldnames = fields.getFields().keySet();
        for (String fieldname : fieldnames) {
            System.out.print(fieldname);
            System.out.print(": page ");
            float[] positions = fields.getFieldPositions(fieldname);
            System.out.print(positions[0]);
            System.out.print(" [ ");
            System.out.print(positions[1]);
            System.out.print(", ");
            System.out.print(positions[2]);
            System.out.print(", ");
            System.out.print(positions[3]);
            System.out.print(", ");
            System.out.print(positions[4]);
            System.out.println("]");
        }

    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:classroom.newspaper_b.Newspaper12.java

public static void main(String[] args) {
    Newspaper11.main(args);/*from ww  w. jav a  2 s . c  o  m*/
    try {
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        AcroFields fields = stamper.getAcroFields();
        fields.setField("field1", "Advertissement 1");
        float[] positions1 = fields.getFieldPositions("field1");
        putImage(stamper.getOverContent((int) positions1[0]), IMG1, positions1);
        fields.setField("field2", "Advertissement 2");
        float[] positions2 = fields.getFieldPositions("field2");
        putImage(stamper.getOverContent((int) positions2[0]), IMG2, positions2);
        stamper.setFormFlattening(true);
        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:classroom.newspaper_b.Newspaper13.java

public static void main(String[] args) {
    try {/*  w  w w . jav a2s . co m*/
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        addButton(stamper, new Rectangle(LLX1, LLY1, URX1, URY1), PATH1, "button1", 1);
        addButton(stamper, new Rectangle(LLX2, LLY2, URX2, URY2), PATH2, "button2", 1);
        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:classroom.newspaper_b.Newspaper14.java

public static void main(String[] args) {
    Newspaper13.main(args);/*from  w  w  w  .ja va  2s.  c  o  m*/
    try {
        PdfReader reader = new PdfReader(NEWSPAPER);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        changeField(stamper, "button1", PATH1);
        changeField(stamper, "button2", PATH2);
        stamper.setFormFlattening(true);
        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}

From source file:com.bluexml.side.Framework.alfresco.workflow.pdfGenerator.generate.fill.FillDataPDF.java

License:Open Source License

public static void fillPDF(PdfStamper stamper, HashMap<String, String> exportCommands,
        HashMap<String, Object> data) throws IOException, DocumentException, MissingDateFormatException {
    AcroFields form = stamper.getAcroFields();
    Set<String> exportCommandsKeys = exportCommands.keySet();
    for (String commandKey : exportCommandsKeys) {
        String value = convertToStringAlfrescoType(commandKey, data.get(commandKey), exportCommands);
        form.setField(commandKey, value);
    }//from  w w  w  .  ja  va 2  s .  c o  m
    stamper.close();
}

From source file:com.c6rs.catsix.reg.pdf.PopulatePDF.java

/**
 * @param args//w w  w.j a  v a  2  s.  co m
 * @throws IOException
 * @throws DocumentException
 */
public static void main(String[] args) throws IOException, DocumentException {

    PdfReader reader = new PdfReader(PopulatePDF.class.getResourceAsStream("waiver_form.pdf"));
    FileOutputStream out = new FileOutputStream("/TEMP/waiver.pdf");
    PdfStamper stamp = new PdfStamper(reader, out);

    AcroFields fields = stamp.getAcroFields();
    fields.setField(DATE_FIELD, new Date(System.currentTimeMillis()).toString());
    fields.setField(EVENT_FIELD, "THE STATE FAIR AFFAIR");
    fields.setField(EVENT_DATES_FIELD, new Date(System.currentTimeMillis()).toString());
    fields.setField(LICENSE_FIELD, "123456789");
    fields.setField(RACING_AGE_FIELD, "33");
    fields.setField(FULLNAME_FIELD, "JOE RACER");
    fields.setField(ADDRESS_FIELD, "123 MAIN STREET");
    fields.setField(CITY_FIELD, "MINNEAPOLIS");
    fields.setField(STATE_FIELD, "MN");
    fields.setField(ZIP_FIELD, "5416");
    fields.setField(PHONE_FIELD, "555-555-5555");
    fields.setField(EMAIL_FIELD, "JOE.RACER@GMAIL.COM");
    fields.setField(CONTACT_NAME_FIELD, "JOAN RACER");
    fields.setField(CONTACT_PHONE_FIELD, "555-555-5555");

    // Need to lock fields and prevent further edits?
    //stamp.setFormFlattening(true); 

    stamp.close();

}

From source file:com.homesoft.component.report.pdf.PdfWrappedStamper.java

License:Open Source License

private ByteArrayOutputStream stampInputStream(InputStream is) {
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    PdfReader reader = null;/*w  ww.  ja  va2  s  .co m*/
    PdfStamper stamp = null;
    try {
        reader = new PdfReader(is);
        stamp = new PdfStamper(reader, os);
    } catch (DocumentException e) {
        log.error(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    }

    if (reader == null || stamp == null) {
        return null;
    }

    int total = reader.getNumberOfPages();
    for (int i = 1; i <= total; i++) {
        PdfContentByte over = stamp.getOverContent(i);

        boolean fixedImageEnabled = GlobalConfig.getInstance().getStamperFixedImageEnabled();
        boolean dynamicImageEnabled = GlobalConfig.getInstance().getStamperDynamicImageEnabled();
        if (imageEnabled && fixedImageEnabled) {
            image.setRotationDegrees(GlobalConfig.getInstance().getStamperFixedImageRotationDegree());
            image.setAbsolutePosition(GlobalConfig.getInstance().getStamperFixedImagePositionX(),
                    GlobalConfig.getInstance().getStamperFixedImagePositionY());// position
            over.setGState(gsFixed);
            try {
                over.addImage(image);
            } catch (DocumentException e) {
                log.error(e.getMessage(), e);
            }
        }

        if (imageEnabled && dynamicImageEnabled) {
            int jx = GlobalConfig.getInstance().getStamperDynamicImagePositionXStart();
            int jy = GlobalConfig.getInstance().getStamperDynamicImagePositionYStart();
            while (jy < 800) {
                // img.setRotation(30);
                image.setRotationDegrees(GlobalConfig.getInstance().getStamperDynamicImageRotationDegree());
                image.setAbsolutePosition(jx, jy);
                over.setGState(gsDynamic);
                try {
                    over.addImage(image);
                } catch (DocumentException e) {
                    log.error(e.getMessage(), e);
                }
                jx += GlobalConfig.getInstance().getStamperDynamicImagePositionXStep();
                jy += GlobalConfig.getInstance().getStamperDynamicImagePositionYStep();
            }
        }
    }

    try {
        stamp.close();
    } catch (DocumentException e) {
        log.error(e.getMessage(), e);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    }
    reader.close();
    return os;
}

From source file:com.iana.dver.controller.DverUserController.java

License:Open Source License

private void sendChangePwdEmail(DverUserVO dverUser, DverConfigVO dverConfig, String newPwd)
        throws IOException, DocumentException, AddressException {

    try {//  ww  w  .j av  a 2s.co m
        PdfReader reader = new PdfReader(
                servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_CHANGE_PWD_FORM.pdf"));

        File tempFile = File.createTempFile("DVER_CHANGE_PWD_" + securityObj.getUserName(), ".pdf");

        PdfStamper filledOutForm = new PdfStamper(reader, new FileOutputStream(tempFile));
        AcroFields form = filledOutForm.getAcroFields();
        DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        Date date = new Date();

        form.setField("topmostSubform[0].Page1[0].notif_dt[0]", dateFormat.format(date));
        form.setField("topmostSubform[0].Page1[0].contact_nm[0]",
                dverUser.getFirstName() + " " + dverUser.getLastName());
        form.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName());
        form.setField("topmostSubform[0].Page1[0].address[0]",
                dverUser.getAddress1() + " " + dverUser.getAddress2());
        form.setField("topmostSubform[0].Page1[0].city[0]",
                dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZipCode());

        form.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac());
        form.setField("topmostSubform[0].Page1[0].pwd[0]", newPwd);

        filledOutForm.setFormFlattening(Boolean.TRUE);
        filledOutForm.close();

        DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER - Password Change Confirmation",
                new InternetAddress[] { new InternetAddress(dverUser.getEmail()) },
                "Please see attached to know about your changed password.", tempFile);

        if (!dverConfig.getEmail().equals(dverUser.getEmail())) {

            PdfReader reader1 = new PdfReader(
                    servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_CHANGE_PWD_FORM.pdf"));
            File tempFile1 = File.createTempFile("DVER_CHANGE_PWD_NOTIF_" + securityObj.getUserName(), ".pdf");

            PdfStamper filledOutForm1 = new PdfStamper(reader1, new FileOutputStream(tempFile1));
            AcroFields form1 = filledOutForm1.getAcroFields();

            form1.setField("topmostSubform[0].Page1[0].notif_dt[0]", dateFormat.format(date));
            form1.setField("topmostSubform[0].Page1[0].contact_nm[0]",
                    dverConfig.getFirstName() + " " + dverConfig.getLastName());
            form1.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName());
            form1.setField("topmostSubform[0].Page1[0].address[0]",
                    dverUser.getAddress1() + " " + dverUser.getAddress2());
            form1.setField("topmostSubform[0].Page1[0].city[0]",
                    dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZipCode());

            form1.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac());
            form1.setField("topmostSubform[0].Page1[0].pwd[0]", newPwd);

            filledOutForm1.setFormFlattening(Boolean.TRUE);
            filledOutForm1.close();

            DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org",
                    "DVER - Password Change Confirmation",
                    new InternetAddress[] { new InternetAddress(dverConfig.getEmail()) },
                    "Please see attached to know about your changed password.", tempFile1);
        }

        tempFile.deleteOnExit();

    } catch (Exception ex) {

        logger.error("Error in sendForgotPwdEmail....." + ex);

        DVERUtil.sendExceptionEmails("sendChangePwdEmail method of DverUserController \n " + ex);

    }
}