List of usage examples for com.lowagie.text.pdf PdfStamper setFormFlattening
public void setFormFlattening(boolean flat)
From source file:com.multimedianetwork.gliding.core.generators.pdf.MembershipRequestPDFGenerator.java
public synchronized void generateMembershipRequestPDF(MembershipRequest membershipRequest) { try {//from w ww . ja va 2s. c o m 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/* www. j a va2 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.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// www . ja v a 2 s . co 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 {// ww w. ja v a 2s. co m 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); 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();//from w ww . j av a 2 s . c o m 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); 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();//from www. ja va2 s.c o m 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); stamper.getAcroFields().setField("titre", titre.toUpperCase()); stamper.getAcroFields().setField("description", description); stamper.getAcroFields().setField("prix", "" + prix); stamper.close();/*from ww w . ja v a 2 s . c o m*/ 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./*w w w .j a v a2s. 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; }
From source file:it.jugpadova.blo.ParticipantBadgeBo.java
License:Apache License
/** * Build a PDF with the badges of confirmed participants. *//*from w w w .jav a 2s . co m*/ public byte[] buildPDFBadges(Event event) throws IOException, DocumentException { List<Participant> participants = participantDao .findConfirmedParticipantsByEventIdOrderByLastNameAndFirstName(event.getId()); int participantsPerPage = getParticipantsPerPage(event); int pages = (participants.size() / participantsPerPage) + 2; // prints a more page with empty badges ByteArrayOutputStream pdfMergedBaos = new ByteArrayOutputStream(); PdfCopyFields pdfMerged = new PdfCopyFields(pdfMergedBaos); int newIndex = 1; for (int i = 0; i < pages; i++) { InputStream templateIs = getBadgePageTemplateInputStream(event); RandomAccessFileOrArray rafa = new RandomAccessFileOrArray(templateIs); PdfReader template = new PdfReader(rafa, null); ByteArrayOutputStream pdfPageBaos = new ByteArrayOutputStream(); PdfStamper pdfPage = new PdfStamper(template, pdfPageBaos); AcroFields pdfPageForm = pdfPage.getAcroFields(); for (int j = 1; j <= participantsPerPage; j++) { pdfPageForm.renameField("title" + j, "title" + newIndex); pdfPageForm.renameField("firstName" + j, "firstName" + newIndex); pdfPageForm.renameField("lastName" + j, "lastName" + newIndex); pdfPageForm.renameField("firm" + j, "firm" + newIndex); pdfPageForm.renameField("role" + j, "role" + newIndex); newIndex++; } pdfPage.close(); template.close(); pdfMerged.addDocument(new PdfReader(pdfPageBaos.toByteArray())); } pdfMerged.close(); ByteArrayOutputStream resultBaos = new ByteArrayOutputStream(); PdfReader mergedReader = new PdfReader(pdfMergedBaos.toByteArray()); PdfStamper mergedStamper = new PdfStamper(mergedReader, resultBaos); AcroFields mergedForm = mergedStamper.getAcroFields(); int count = 1; for (int i = 0; i < pages; i++) { for (int j = 1; j <= participantsPerPage; j++) { mergedForm.setField("title" + count, event.getTitle()); count++; } } count = 1; for (Participant participant : participants) { mergedForm.setField("firstName" + count, participant.getFirstName()); mergedForm.setField("lastName" + count, participant.getLastName()); count++; } mergedStamper.setFormFlattening(true); mergedStamper.close(); return resultBaos.toByteArray(); }
From source file:mpv5.utils.export.PDFFile.java
License:Open Source License
@Override public void run() { Log.Debug(this, "All fields:"); for (Iterator<String> it = getData().keySet().iterator(); it.hasNext();) { String k = it.next();/* w ww . j a v a 2 s . c o m*/ Log.Debug(this, "Key: " + k + " [" + getData().get(k) + "]"); } try { Log.Debug(this, "Running export for template file: " + getPath() + " to file: " + getTarget()); try { template = new PdfReader(getPath()); } catch (Exception iOException) { Log.Debug(iOException); } Log.Debug(this, "Checking PDF File: " + getPath()); acroFields = template.getAcroFields(); Log.Debug(this, "Creating PDF File: " + getTarget().getPath()); PdfStamper pdfStamper = new PdfStamper(template, new FileOutputStream(getTarget().getPath())); pdfStamper.setFormFlattening(true); acroFields = pdfStamper.getAcroFields(); HashMap PDFFields = acroFields.getFields(); for (Iterator it = PDFFields.keySet().iterator(); it.hasNext();) { Object object = it.next(); String keyt = String.valueOf(object); if (getData().get(keyt) != null) { Log.Debug(this, "Filling Field: " + object + " [" + getData().get(keyt) + "]"); if (!keyt.startsWith("image")) { acroFields.setField(keyt, String.valueOf(getData().get(keyt))); } else { setImage(pdfStamper, keyt, ((MPIcon) getData().get(keyt)).getImage()); } } if (getData().get(keyt.replace("_", ".")) != null) { Log.Debug(this, "Filling Field: " + object + " [" + getData().get(keyt) + "]"); if (!keyt.startsWith("image")) { acroFields.setField(keyt, String.valueOf(getData().get(keyt.replace("_", ".")))); } else { setImage(pdfStamper, keyt, ((MPIcon) getData().get(keyt)).getImage()); } } } Log.Debug(this, "Looking for tables in: " + getName()); for (Iterator<String> it = getData().keySet().iterator(); it.hasNext();) { String key = it.next(); if (key.contains(TableHandler.KEY_TABLE)) {//Table found @SuppressWarnings("unchecked") List<String[]> value = (List<String[]>) getData().get(key); for (int i = 0; i < value.size(); i++) { String[] strings = value.get(i); if (getTemplate() != null) { strings = refactorRow(getTemplate(), strings); } for (int j = 0; j < strings.length; j++) { String cellValue = strings[j]; String fieldname = "col" + j + "row" + i; Log.Debug(this, "Filling Field: " + fieldname + " [" + getData().get(cellValue) + "]"); acroFields.setField(fieldname, cellValue); } } } } pdfStamper.close(); Log.Debug(this, "Done file: " + getTarget().getPath()); } catch (Exception ex) { Log.Debug(ex); } }