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

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

Introduction

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

Prototype

public boolean partialFormFlattening(String name) 

Source Link

Document

Adds name to the list of fields that will be flattened on close, all the other fields will remain.

Usage

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

License:Open Source License

/**
 * Fill PDF form//ww w .  j  av  a 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();
}

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

License:Open Source License

/**
 * Fill PDF form//w w w.ja va  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:org.openelis.bean.WorksheetPrintReportBean.java

License:Open Source License

private void flattenFilledFields(PdfStamper stamper, AcroFields form, int formCapacity, int pageNumber) {
    int i;//  www .  j  a  v a2 s .c o m

    for (i = 1; i <= formCapacity; i++) {
        stamper.partialFormFlattening("current_date_time_page" + pageNumber);
        stamper.partialFormFlattening("username_page" + pageNumber);
        stamper.partialFormFlattening("worksheet_id_" + i + "_page" + pageNumber);
        stamper.partialFormFlattening("created_date_" + i + "_page" + pageNumber);
        form.setFieldProperty("position_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("well_label_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("accession_number_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("qc_link_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("collection_date_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("received_date_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("patient_last_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("patient_first_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("provider_last_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("provider_first_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("env_location_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("env_description_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("organization_name_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("bill_to_name_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("type_of_sample_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("source_of_sample_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("source_other_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("container_reference_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("test_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("method_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("sample_qaevent_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("analysis_qaevent_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("sample_note_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("analysis_note_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("qc_name_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("qc_lot_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("qc_usable_" + i + "_page" + pageNumber, "setfflags", PdfFormField.FF_READ_ONLY,
                null);
        form.setFieldProperty("qc_expiration_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("qc_expected_value_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("reagent_media_name_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("reagent_media_lot_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
        form.setFieldProperty("reagent_media_expiration_" + i + "_page" + pageNumber, "setfflags",
                PdfFormField.FF_READ_ONLY, null);
    }
}

From source file:questions.forms.RemoveXfa.java

@SuppressWarnings("unchecked")
public static void main(String[] args) {
    try {//from   w w w.  ja v  a 2s .  c om
        PdfReader reader = new PdfReader(RESOURCE);
        PdfDictionary root = reader.getCatalog();
        PdfDictionary acroform = root.getAsDict(PdfName.ACROFORM);
        acroform.remove(PdfName.XFA);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
        AcroFields form = stamper.getAcroFields();
        Map<String, Item> fields = form.getFields();
        for (String field : fields.keySet()) {
            System.out.println(field);
            form.setField(field, "value");
        }
        stamper.partialFormFlattening("topmostSubform[0].Page1[0].SN_NUMBER[0]");
        stamper.setFormFlattening(true);
        stamper.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }
}