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

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

Introduction

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

Prototype

public void setFormFlattening(boolean flat) 

Source Link

Document

Determines if the fields are flattened on close.

Usage

From source file:classroom.filmfestival_c.Movies23.java

public static void fillForm(String filename, AccreditationData data, OutputStream out)
        throws IOException, DocumentException {

    PdfReader reader = new PdfReader(filename);
    PdfStamper stamper = new PdfStamper(reader, out);

    AcroFields form = stamper.getAcroFields();
    form.setField("name", data.getName());
    form.setFieldProperty("type", "textcolor", data.getTypeColor(), null);
    form.setField("type", data.getTypeName());
    form.setField("number", data.getNumber(false));
    form.setFieldProperty("filmfestival", "bgcolor", data.getTypeColor(), null);
    form.regenerateField("filmfestival");

    if (data.getPhoto() != null) {
        PushbuttonField bt = form.getNewPushbuttonFromField("photo");
        bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
        bt.setProportionalIcon(true);//from  ww w . jav a 2s .  c o  m
        bt.setImage(data.getPhoto());
        form.replacePushbuttonField("photo", bt.getField());
    }

    try {
        BarcodeInter25 code = new BarcodeInter25();
        code.setGenerateChecksum(true);
        code.setBarHeight(mm2pt(3));
        code.setCode(data.getNumber(true));
        code.setFont(null);
        PdfContentByte cb = new PdfContentByte(stamper.getWriter());
        PdfTemplate template = code.createTemplateWithBarcode(cb, null, null);
        PushbuttonField bt = form.getNewPushbuttonFromField("barcode");
        bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
        bt.setProportionalIcon(false);
        bt.setTemplate(template);
        form.replacePushbuttonField("barcode", bt.getField());
    } catch (Exception e) {
        // not a valid code, do nothing
    }

    stamper.setFormFlattening(data.isFlatten());
    stamper.close();
}

From source file:classroom.filmfestival_c.Movies24.java

@SuppressWarnings("unchecked")
public static void main(String[] args) {
    Session session = null;//from w w  w.  j  a  v a2 s  . c  om
    try {
        session = (Session) MySessionFactory.currentSession();
        Query q = session.createQuery("from FilmTitle order by title");
        List<FilmTitle> results = q.list();
        Document document = new Document();
        PdfSmartCopy copy = new PdfSmartCopy(document, new FileOutputStream(RESULT));
        document.open();
        PdfReader reader;
        PdfStamper stamper;
        AcroFields form;
        ByteArrayOutputStream baos;
        for (FilmTitle movie : results) {
            baos = new ByteArrayOutputStream();
            reader = new PdfReader(DATASHEET);
            stamper = new PdfStamper(reader, baos);
            form = stamper.getAcroFields();
            form.setField("title", movie.getTitle());
            form.setField("director", getDirectors(movie));
            form.setField("year", String.valueOf(movie.getYear()));
            form.setField("duration", String.valueOf(movie.getDuration()));
            form.setField("category", "c" + getCategory(movie));
            Set<FestivalScreening> screenings = (Set<FestivalScreening>) movie.getFestivalScreenings();
            for (FestivalScreening screening : screenings) {
                form.setField(screening.getId().getPlace(), "Yes");
            }
            stamper.setFormFlattening(true);
            stamper.close();
            reader = new PdfReader(baos.toByteArray());
            copy.addPage(copy.getImportedPage(reader, 1));
        }
        document.close();
    } catch (HibernateException e) {
        LOGGER.warn("HibernateException: " + e);
    } catch (IOException e) {
        LOGGER.warn("IOException: " + e);
    } catch (DocumentException e) {
        LOGGER.warn("DocumentException: " + e);
    } finally {
        try {
            if (session != null) {
                session.close();
            }
        } catch (HibernateException e) {
            LOGGER.warn("HibernateTest - Closing session: " + e);
        }
    }
}

From source file:classroom.filmfestival_c.Movies25.java

@SuppressWarnings("unchecked")
public static void main(String[] args) {
    createTemplate();//w  w w  .j  a  v  a  2s .c o  m
    Session session = (Session) MySessionFactory.currentSession();
    Query q = session.createQuery("from FilmTitle order by title");
    java.util.List<FilmTitle> results = q.list();
    try {
        Document document = new Document();
        PdfSmartCopy copy = new PdfSmartCopy(document, new FileOutputStream(RESULT));
        document.open();

        PdfReader reader;
        PdfStamper stamper = null;
        ByteArrayOutputStream baos = null;
        AcroFields form = null;
        int count = 0;
        for (FilmTitle movie : results) {
            if (count == 0) {
                baos = new ByteArrayOutputStream();
                reader = new PdfReader(BACKGROUND);
                stamper = new PdfStamper(reader, baos);
                stamper.setFormFlattening(true);
                form = stamper.getAcroFields();
            }
            count++;
            byte[] pdf = createPdf(movie);
            reader = new PdfReader(pdf);
            PdfImportedPage page = stamper.getImportedPage(reader, 1);
            PushbuttonField bt = form.getNewPushbuttonFromField("movie_" + count);
            bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
            bt.setProportionalIcon(true);
            bt.setTemplate(page);
            form.replacePushbuttonField("movie_" + count, bt.getField());
            if (count == 16) {
                stamper.close();
                reader = new PdfReader(baos.toByteArray());
                copy.addPage(copy.getImportedPage(reader, 1));
                count = 0;
            }
        }
        if (count > 0) {
            stamper.close();
            reader = new PdfReader(baos.toByteArray());
            copy.addPage(copy.getImportedPage(reader, 1));
            count = 0;
        }
        document.close();
    } catch (IOException ioe) {
        LOGGER.error("IOException: ", ioe);
    } catch (DocumentException de) {
        LOGGER.error("DocumentException: ", de);
    }
}

From source file:classroom.filmfestival_c.Movies25.java

public static byte[] createPdf(FilmTitle movie) throws IOException, DocumentException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PdfReader reader = new PdfReader(TEMPLATE);
    PdfStamper stamper = new PdfStamper(reader, baos);
    AcroFields form = stamper.getAcroFields();

    File file = new File("resources/classroom/filmposters/" + movie.getFilmId() + ".jpg");
    if (file.exists()) {
        PushbuttonField bt = form.getNewPushbuttonFromField(POSTER);
        bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY);
        bt.setProportionalIcon(true);//from  w  ww . ja  v  a 2  s  .co  m
        bt.setImage(Image.getInstance(file.getPath()));
        form.replacePushbuttonField(POSTER, bt.getField());
    }

    String s = createHtml(movie);
    PdfContentByte canvas = stamper.getOverContent(1);
    float size = 12;
    float[] f = form.getFieldPositions(TEXT);
    while (addText(s, canvas, f, size, true) && size > 6) {
        size -= 0.2;
    }
    addText(s, canvas, f, size, false);

    form.setField(YEAR, String.valueOf(movie.getYear()));

    stamper.setFormFlattening(true);
    stamper.close();
    return baos.toByteArray();
}

From source file:classroom.newspaper_b.Newspaper12.java

public static void main(String[] args) {
    Newspaper11.main(args);/* w  w  w. j a  va  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.Newspaper14.java

public static void main(String[] args) {
    Newspaper13.main(args);//w  ww . jav  a2  s .  c om
    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.iana.dver.controller.DverUserController.java

License:Open Source License

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

    try {/*from   w w w.j  a v  a  2s . c o  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);

    }
}

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

License:Open Source License

private void sendForgotPwdEmail(DverUsers dverUser, DverConfig dverConfig, UserLogin dverUserLogin)
        throws IOException, DocumentException, AddressException {

    try {/*from  ww  w .j  a v a2s. com*/
        PdfReader reader = new PdfReader(
                servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_FORGOT_PWD_FORM.pdf"));

        File tempFile = File.createTempFile("DVER_FORGOT_PWD_" + dverUserLogin.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.getFname() + " " + dverUser.getLname());
        form.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName());
        form.setField("topmostSubform[0].Page1[0].address[0]", dverUser.getAddr1() + " " + dverUser.getAddr2());
        form.setField("topmostSubform[0].Page1[0].city[0]",
                dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZip());

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

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

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

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

            PdfReader reader1 = new PdfReader(
                    servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_FORGOT_PWD_FORM.pdf"));
            File tempFile1 = File.createTempFile("DVER_FORGOT_PWD_NOTIF_" + dverUserLogin.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.getFname() + " " + dverConfig.getLname());
            form1.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName());
            form1.setField("topmostSubform[0].Page1[0].address[0]",
                    dverUser.getAddr1() + " " + dverUser.getAddr2());
            form1.setField("topmostSubform[0].Page1[0].city[0]",
                    dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZip());

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

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

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

        tempFile.deleteOnExit();

    } catch (Exception ex) {

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

        DVERUtil.sendExceptionEmails("sendForgotPwdEmail method of LoginController \n " + ex);

    }
}

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

License:Open Source License

private void sendRegDetailEmail(DverUserVO dverUserVO, DverUserLoginVO dverUserLoginVO,
        DverConfigVO dverConfigVO) throws IOException, DocumentException, AddressException {

    logger.info("Send Registration Email.....");
    try {//from  ww w.  j  a  v a2  s.com
        PdfReader reader = new PdfReader(
                servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_REGISTRATION_FORM.pdf"));

        File tempFile = File.createTempFile("DVER_REGISTRATION_" + dverUserVO.getUsDOT(), ".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]",
                dverUserVO.getFirstName() + " " + dverUserVO.getLastName());
        form.setField("topmostSubform[0].Page1[0].company[0]", dverUserVO.getCompanyName());
        form.setField("topmostSubform[0].Page1[0].address[0]",
                dverUserVO.getAddress1() + " " + dverUserVO.getAddress2());
        form.setField("topmostSubform[0].Page1[0].city[0]",
                dverUserVO.getCity() + ", " + dverUserVO.getState() + " " + dverUserVO.getZipCode());

        form.setField("topmostSubform[0].Page1[0].scac[0]", dverUserVO.getScac());
        form.setField("topmostSubform[0].Page1[0].pwd[0]", dverUserLoginVO.getPassword());

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

        DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER Registration Confirmation",
                new InternetAddress[] { new InternetAddress(dverUserVO.getEmail()) },
                "Please see attached for your registration details.", tempFile);

        if (!dverUserVO.getEmail().equals(dverConfigVO.getEmail())) {

            PdfReader reader1 = new PdfReader(
                    servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_REGISTRATION_FORM.pdf"));
            File tempFile1 = File.createTempFile("DVER_REGISTRATION_NOTIF_" + dverUserVO.getUsDOT(), ".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]",
                    dverConfigVO.getFirstName() + " " + dverConfigVO.getLastName());
            form1.setField("topmostSubform[0].Page1[0].company[0]", dverUserVO.getCompanyName());
            form1.setField("topmostSubform[0].Page1[0].address[0]",
                    dverUserVO.getAddress1() + " " + dverUserVO.getAddress2());
            form1.setField("topmostSubform[0].Page1[0].city[0]",
                    dverUserVO.getCity() + ", " + dverUserVO.getState() + " " + dverUserVO.getZipCode());

            form1.setField("topmostSubform[0].Page1[0].scac[0]", dverUserVO.getScac());
            form1.setField("topmostSubform[0].Page1[0].pwd[0]", dverUserLoginVO.getPassword());

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

            DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER Registration Confirmation",
                    new InternetAddress[] { new InternetAddress(dverConfigVO.getEmail()) },
                    "Please see attached for your registration details.", tempFile1);
        }

        tempFile.deleteOnExit();
    } catch (Exception ex) {
        logger.error("Error in sendRegDetailEmail....." + ex);
        DVERUtil.sendExceptionEmails("sendRegDetailEmail method of RegistrationController \n " + ex);
    }
}

From source file:com.ikon.util.PDFUtils.java

License:Open Source License

/**
 * Fill PDF form//from  ww  w.  j  a  va  2  s.c o m
 */
@SuppressWarnings("rawtypes")
public static void fillForm(InputStream input, Map<String, Object> values, OutputStream output)
        throws FileNotFoundException, DocumentException, TemplateException, IOException {
    log.debug("fillForm({}, {}, {})", new Object[] { input, values, output });
    PdfReader reader = new PdfReader(input);
    PdfStamper stamper = new PdfStamper(reader, output);
    AcroFields fields = stamper.getAcroFields();
    PRAcroForm form = reader.getAcroForm();
    boolean formFlattening = false;

    if (form != null) {
        for (Iterator it = form.getFields().iterator(); it.hasNext();) {
            PRAcroForm.FieldInformation field = (PRAcroForm.FieldInformation) it.next();
            String fieldValue = fields.getField(field.getName());
            log.debug("Field: {}, Value: '{}'", field.getName(), fieldValue);

            if (fieldValue != null && !fieldValue.isEmpty()) {
                // if (values.containsKey(field.getName())) {
                String result = TemplateUtils.replace("PDF_FILL_FORM", fieldValue, values);
                log.debug("Field '{}' set to '{}' (by expression)", field.getName(), result);
                fields.setField(field.getName(), result);
                stamper.partialFormFlattening(field.getName());
                formFlattening = true;
                //} else {
                //log.warn("Field '{}' (expression ignored because not included in map)", field.getName());
                //}
            } else {
                Object value = values.get(field.getName());

                if (value != null) {
                    log.debug("Field '{}' set to '{}' (by field name)", field.getName(), value);
                    fields.setField(field.getName(), value.toString());
                    stamper.partialFormFlattening(field.getName());
                    formFlattening = true;
                } else {
                    log.warn("Field '{}' (value ignored because not included in map)", field.getName());
                }
            }
        }
    }

    stamper.setFormFlattening(formFlattening);
    stamper.close();
    reader.close();
}