List of usage examples for com.itextpdf.text.pdf AcroFields setFieldProperty
public boolean setFieldProperty(String field, String name, int value, int inst[])
From source file:com.iei.web.businesscard.business.businesscard.boundary.EmailService.java
public byte[] writePdf(ByteArrayOutputStream outputStream, BusinessCard businessCard) throws IOException, DocumentException { PdfStamper stamper = null;/* www . jav a2 s. c o m*/ ByteArrayOutputStream byteStream = null; String template = getTemplate(businessCard); String email = convertEmail(businessCard); InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(template); PdfReader outReader = new PdfReader(is); byteStream = new ByteArrayOutputStream(); stamper = new PdfStamper(outReader, byteStream); AcroFields acroField = stamper.getAcroFields(); acroField.setFieldProperty("Name", "textsize", new Float(6), null); acroField.setField("Name", businessCard.getName()); acroField.setField("Title", businessCard.getDesignation()); acroField.setField("Cell", businessCard.getCell()); acroField.setField("Phone", businessCard.getCompany().getPhone() + " Ext." + businessCard.getExtension()); acroField.setField("Web", businessCard.getCompany().getCompanyURL()); acroField.setField("Email", email); stamper.setFormFlattening(true); FdfWriter fdfWriter = new FdfWriter(); acroField.exportAsFdf(fdfWriter); stamper.close(); return byteStream.toByteArray(); }
From source file:Logica.LogicaReserva.java
private void GenerarDocumento(Reserva nuevaReserva) throws IOException, DocumentException { //String dirPath = "C:\\"; String fileName = "Base reserva.pdf"; HashMap fieldsWithValues = new HashMap(); ByteArrayOutputStream baosPDF = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(fileName); PdfStamper stamper = new PdfStamper(reader, baosPDF); AcroFields form = stamper.getAcroFields(); HashMap fields = (HashMap) form.getFields(); Set keys = fields.keySet();/*from w ww. ja va 2 s . c om*/ //Metodo que retorna map de datos que queremos obtener de objeto para agregar a PDF fieldsWithValues = crearHashMapReserva(nuevaReserva, keys); //Iteracion sobre campos de pdf Iterator itr = keys.iterator(); while (itr.hasNext()) { String fieldName = (String) itr.next(); String fieldValue = fieldsWithValues.get(fieldName) != null ? (String) (fieldsWithValues.get(fieldName)) : ""; form.setField(fieldName, fieldValue); form.setFieldProperty(fieldName, "setfflags", PdfFormField.FF_READ_ONLY, null); } stamper.setFormFlattening(true); stamper.close(); reader.close(); //Guardando cambios String nombre; DateFormat fecha = new SimpleDateFormat("yyyy_MM_dd HH_mm_ss"); nombre = fecha.format(nuevaReserva.getFechaHasta()); String nombreydir = "Documentos\\Documento Reserva -" + nombre + "-.pdf"; OutputStream pdf = new FileOutputStream(nombreydir); baosPDF.writeTo(pdf); pdf.close(); Hilo h1 = new Hilo("email", nombreydir, nuevaReserva.getCliente().getCorreo()); h1.start(); try { File archivo = new File(nombreydir); Desktop.getDesktop().open(archivo); } catch (IOException ex) { } //EnvioEmail(nombreydir, nuevaReserva.getCliente().getCorreo()); }