List of usage examples for com.lowagie.text.pdf PRAcroForm getFields
public ArrayList getFields()
From source file:com.ikon.util.PDFUtils.java
License:Open Source License
/** * Fill PDF form// w w w . j a v a2s .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.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.ikon.util.PDFUtils.java
License:Open Source License
/** * List form fields/*from w w w . j a va 2s . c o m*/ */ @SuppressWarnings("rawtypes") public static List<String> listFormFields(String input) throws FileNotFoundException, DocumentException, IOException { log.debug("listFormFields({})", input); List<String> formFields = new ArrayList<String>(); PdfReader reader = new PdfReader(input); PRAcroForm form = reader.getAcroForm(); if (form != null) { for (Iterator it = form.getFields().iterator(); it.hasNext();) { PRAcroForm.FieldInformation field = (PRAcroForm.FieldInformation) it.next(); formFields.add(field.getName()); } } reader.close(); log.debug("listFormFields: {}", formFields); return formFields; }
From source file:com.openkm.util.PDFUtils.java
License:Open Source License
/** * Fill PDF form//from www .jav a2 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(); }