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

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

Introduction

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

Prototype

public AcroFields getAcroFields() 

Source Link

Document

Gets the AcroFields object that allows to get and set field values and to merge FDF forms.

Usage

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  w w w . j  a  v a2 s .c  o  m
        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//  www  .  j  a v  a 2 s  .com
 */
@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();
}

From source file:com.multimedianetwork.gliding.core.generators.pdf.MembershipRequestPDFGenerator.java

public synchronized void generateMembershipRequestPDF(MembershipRequest membershipRequest) {
    try {//  w w w . j  av a2s.  c  om

        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext()
                .getRequest();

        String templateFilename = request.getRealPath(FILES_FOLDER + LOCAL_TEMPLATE_PATH_FULL);
        if (membershipRequest.isTemporaryMembership()) {
            templateFilename = request.getRealPath(FILES_FOLDER + LOCAL_TEMPLATE_PATH_TEMP);
        }

        String newfilename = request.getRealPath(FILES_FOLDER + "req" + membershipRequest.getId() + ".pdf");

        //Reads in the pdf Template
        PdfReader reader = new PdfReader(templateFilename);

        PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(newfilename));
        AcroFields form = stamp.getAcroFields();

        //set the field values in the pdf form
        form.setField("lastName", membershipRequest.getLastName());
        form.setField("firstName", membershipRequest.getFirstName());
        form.setField("citizenship", membershipRequest.getCitizenship());
        form.setField("icSerie", membershipRequest.getIcSerie());
        form.setField("icNumber", membershipRequest.getIcNumber());
        form.setField("pasportNumber", membershipRequest.getPasportNumber());
        form.setField("cnp", membershipRequest.getCnp());
        form.setField("addressNumber", membershipRequest.getAddressNumber());
        form.setField("addressCity", membershipRequest.getAddressCity());
        form.setField("addressStreet", membershipRequest.getAddressStreet());
        form.setField("addressFlat", membershipRequest.getAddressFlat());
        form.setField("addressSc", membershipRequest.getAddressSc());
        form.setField("addressFloor", membershipRequest.getAddressFloor());
        form.setField("addressApartment", membershipRequest.getAddressApartment());
        form.setField("addressCode", membershipRequest.getAddressCode());
        form.setField("addressCounty", membershipRequest.getAddressCounty());
        form.setField("addressCountry", membershipRequest.getAddressCountry());
        form.setField("telephone", membershipRequest.getTelephone());
        form.setField("email", membershipRequest.getEmail());
        form.setField("birthDateDay", String.valueOf(membershipRequest.getBirthDateDay()));
        form.setField("birthDateMonth", String.valueOf(membershipRequest.getBirthDateMonth()));
        form.setField("birthDateYear", String.valueOf(membershipRequest.getBirthDateYear()));
        form.setField("birthPlaceCity", membershipRequest.getBirthPlaceCity());
        form.setField("birthPlaceCounty", membershipRequest.getBirthPlaceCounty());
        form.setField("birthPlaceCountry", membershipRequest.getBirthPlaceCountry());

        form.setField("licenseNumber", membershipRequest.getLicenseNumber());
        if (membershipRequest.getExperienceNrHours() != null) {
            form.setField("experienceNrHours", String.valueOf(membershipRequest.getExperienceNrHours()));
        }
        if (membershipRequest.getExperienceNrTakeoffs() != null) {
            form.setField("experienceNrTakeoffs", String.valueOf(membershipRequest.getExperienceNrTakeoffs()));
        }
        if (membershipRequest.getExperienceNrKm() != null) {
            form.setField("experienceNrKm", String.valueOf(membershipRequest.getExperienceNrKm()));
        }

        if (membershipRequest.isBAcrobaticFlight()) {
            form.setField("BAcrobaticFlight", "On");
        }
        if (membershipRequest.isBControlFlight()) {
            form.setField("BControlFlight", "On");
        }
        if (membershipRequest.isBGliderLicense()) {
            form.setField("BGliderLicense", "On");
        }
        if (membershipRequest.isBInCloudsFlight()) {
            form.setField("BInCloudsFlight", "On");
        }
        if (membershipRequest.isBInstructor()) {
            form.setField("BInstructor", "On");
        }
        if (membershipRequest.isBMotorgliderLicense()) {
            form.setField("BMotorgliderLicense", "On");
        }
        if (membershipRequest.isBNightFlight()) {
            form.setField("BNightFlight", "On");
        }
        if (membershipRequest.isBTestPilot()) {
            form.setField("BTestPilot", "On");
        }
        if (membershipRequest.isBTowingPlane()) {
            form.setField("BTowingPlane", "On");
        }
        if (membershipRequest.isBTowingSelf()) {
            form.setField("BTowingSelf", "On");
        }
        if (membershipRequest.isBTowingWinch()) {
            form.setField("BTowingWinch", "On");
        }

        stamp.setFormFlattening(true);
        stamp.close();
        reader.close();

    } catch (IOException ex) {
        Logger.getLogger(MembershipRequestPDFGenerator.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(MembershipRequestPDFGenerator.class.getName()).log(Level.SEVERE, null, ex);
    }

}

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

License:Open Source License

/**
 * Fill PDF form/*w  ww.j av a  2 s.  c  om*/
 */
@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.setFieldProperty(field.getName(), "textfont", getBaseFont(), null);
                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.setFieldProperty(field.getName(), "textfont", getBaseFont(), null);
                    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();
}

From source file:com.servoy.extensions.plugins.pdf_output.PDFProvider.java

License:Open Source License

/**
 * Convert a protected PDF form to a PDF document.
 *
 * @sample/*from ww  w.  j a v  a  2  s.c o  m*/
 * var pdfform = plugins.file.readFile('c:/temp/1040a-form.pdf');
 * //var field_values = plugins.file.readFile('c:/temp/1040a-data.fdf');//read adobe fdf values or
 * var field_values = new Array()//construct field values
 * field_values[0] = 'f1-1=John C.J.'
 * field_values[1] = 'f1-2=Longlasting'
 * var result_pdf_doc = plugins.pdf_output.convertProtectedPDFFormToPDFDocument(pdfform, 'pdf_password', field_values)
 * if (result_pdf_doc != null)
 * {
 *    plugins.file.writeFile('c:/temp/1040a-flatten.pdf', result_pdf_doc)
 * }
 *
 * @param pdf_form the PDF Form to convert
 * @param pdf_password the password to use
 * @param field_values the field values to use
 */
public byte[] js_convertProtectedPDFFormToPDFDocument(byte[] pdf_form, String pdf_password,
        Object field_values) {
    try {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfReader reader = new PdfReader(pdf_form, pdf_password != null ? pdf_password.getBytes() : null);
        PdfStamper stamp = new PdfStamper(reader, baos);
        if (field_values != null) {
            AcroFields form = stamp.getAcroFields();
            if (field_values instanceof String) {
                FdfReader fdf = new FdfReader((String) field_values);
                form.setFields(fdf);
            } else if (field_values instanceof byte[]) {
                FdfReader fdf = new FdfReader((byte[]) field_values);
                form.setFields(fdf);
            } else if (field_values instanceof Object[]) {
                for (int i = 0; i < ((Object[]) field_values).length; i++) {
                    Object obj = ((Object[]) field_values)[i];
                    if (obj instanceof Object[]) {
                        Object[] row = (Object[]) obj;
                        if (row.length >= 2) {
                            Object field = row[0];
                            Object value = row[1];
                            if (field != null && value != null) {
                                form.setField(field.toString(), value.toString());
                            }
                        }
                        //                     else if (row.length >= 3)
                        //                     {
                        //                            form.setField(field, value);
                        //                     }
                    } else if (obj instanceof String) {
                        String s = (String) obj;
                        int idx = s.indexOf('=');
                        form.setField(s.substring(0, idx), s.substring(idx + 1));
                    }
                }
            }
        }
        stamp.setFormFlattening(true);
        stamp.close();
        return baos.toByteArray();
    } catch (Exception e) {
        Debug.error(e);
        throw new RuntimeException("Error converting pdf form to pdf document", e); //$NON-NLS-1$
    }
}

From source file:com.urservices.urerp.ecole.views.PdfReportView.java

@Override
protected void buildPdfDocument(Map<String, Object> model, Document document, PdfWriter pdfWriter,
        HttpServletRequest request, HttpServletResponse response) throws Exception {

    try {//from w w w.  j a  va  2  s .c om

        PdfReader pdfTemplate = new PdfReader((InputStream) model.get("template"));
        PdfStamper stamper = new PdfStamper(pdfTemplate, response.getOutputStream());
        stamper.setFormFlattening(true);

        stamper.getAcroFields().setField("txtNom", "Kamdoum");
        stamper.getAcroFields().setField("txtPrenom", "Samuel");

        stamper.close();
        pdfTemplate.close();

        System.out.println("This PDF has " + pdfTemplate.getNumberOfPages() + " pages.");

    } catch (Exception e) {
        System.out.println("PdfReportView.buildPdfDocument() " + e.getMessage());
    }
}

From source file:erando.controllers.InterfaceRandoController.java

void genererpdf() throws IOException, FileNotFoundException, DocumentException {

    PdfReader pdfTemplate = new PdfReader("templatefacture.pdf");
    RandonneService rando = new RandonneService();
    Randonne r = new Randonne();
    r = rando.findById(RecupererIdRando.getIdRando());
    FileOutputStream fileOutputStream = new FileOutputStream("test.pdf");
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    PdfStamper stamper = new PdfStamper(pdfTemplate, fileOutputStream);
    stamper.setFormFlattening(true);//from   w w w  . jav  a 2 s.  co  m

    stamper.getAcroFields().setField("name", r.getTitre());
    stamper.getAcroFields().setField("montant", String.valueOf(r.getPrix()));
    stamper.getAcroFields().setField("depart", r.getPointDepart());
    stamper.getAcroFields().setField("arrivee", r.getDestination());
    stamper.getAcroFields().setField("date", String.valueOf(r.getDate()));
    stamper.close();
    pdfTemplate.close();

}

From source file:erando.controllers.ReservationByuserController.java

void genererpdf() throws IOException, FileNotFoundException, DocumentException {

    PdfReader pdfTemplate = new PdfReader("templatefacture.pdf");
    FileOutputStream fileOutputStream = new FileOutputStream("test.pdf");
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    PdfStamper stamper = new PdfStamper(pdfTemplate, fileOutputStream);
    stamper.setFormFlattening(true);/*ww w.  j a  v a  2s.c o  m*/

    stamper.getAcroFields().setField("name", titre);
    stamper.getAcroFields().setField("montant", String.valueOf(prix));
    stamper.getAcroFields().setField("depart", depart);
    stamper.getAcroFields().setField("arrivee", destination);
    stamper.getAcroFields().setField("date", String.valueOf(date));
    stamper.close();
    pdfTemplate.close();

}

From source file:erando.services.impl.pdfCreation.java

public void genererpdf(String titre, float prix, String imageName, int id, String description)
        throws IOException, FileNotFoundException, DocumentException {

    PdfReader pdfTemplate = new PdfReader("template.pdf");
    FileOutputStream fileOutputStream = new FileOutputStream(id + ".pdf");
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    PdfStamper stamper = new PdfStamper(pdfTemplate, fileOutputStream);
    stamper.setFormFlattening(true);/*from ww  w .  j a v a  2s  . co  m*/
    stamper.getAcroFields().setField("titre", titre.toUpperCase());
    stamper.getAcroFields().setField("description", description);
    stamper.getAcroFields().setField("prix", "" + prix);

    stamper.close();
    pdfTemplate.close();

}

From source file:hornet.framework.export.fdf.FDF.java

License:CeCILL license

/**
 * Thread-safe utility method for PDF generation, based on a FDF template stream and a data object to
 * merge. Fields defined in FDF that can't be merged (not corresponding field in data object) are stored
 * in FDF Result.//www .ja  va  2  s. c o m
 *
 * @param in
 *            input stream of PDF/FDF (template)
 * @param out
 *            output stream of final PDF
 * @param data
 *            a javabean or a java.util.Map. Nested properties are allowed this field names access pattern
 *            : "propA:propB:propC".
 * @return FDF result object (not null)
 */
public static FDFRes export(final InputStream in, final OutputStream out, final Object data) {

    PdfReader pdfIn = null;
    PdfStamper stamper = null;
    final FDFRes res = new FDFRes();

    try {
        pdfIn = new PdfReader(in);
        stamper = new PdfStamper(pdfIn, out);
        final AcroFields form = stamper.getAcroFields();

        // fusion champs FDF avec le bean
        for (final Object nomField : form.getFields().keySet()) {
            fusionChamp(data, stamper, res, form, nomField);
        }

        // la ligne suivante supprime le formulaire
        stamper.setFormFlattening(true);

    } catch (final IOException ex) {
        throw new FDFExportException(ex);
    } catch (final DocumentException ex) {
        throw new FDFExportException(ex);
    } finally {
        try {
            stamper.close();
        } catch (final Exception ex) {
            LOG.error("Erreur", ex);
        }
    }

    return res;
}