List of usage examples for com.lowagie.text.pdf PdfStamper getAcroFields
public AcroFields getAcroFields()
AcroFields
object that allows to get and set field values and to merge FDF forms. From source file:classroom.filmfestival_c.Movies23.java
public static void fillForm(String filename, AccreditationData data, OutputStream out) throws IOException, DocumentException { PdfReader reader = new PdfReader(filename); PdfStamper stamper = new PdfStamper(reader, out); AcroFields form = stamper.getAcroFields(); form.setField("name", data.getName()); form.setFieldProperty("type", "textcolor", data.getTypeColor(), null); form.setField("type", data.getTypeName()); form.setField("number", data.getNumber(false)); form.setFieldProperty("filmfestival", "bgcolor", data.getTypeColor(), null); form.regenerateField("filmfestival"); if (data.getPhoto() != null) { PushbuttonField bt = form.getNewPushbuttonFromField("photo"); bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); bt.setProportionalIcon(true);//from ww w. ja v a 2 s .c o m bt.setImage(data.getPhoto()); form.replacePushbuttonField("photo", bt.getField()); } try { BarcodeInter25 code = new BarcodeInter25(); code.setGenerateChecksum(true); code.setBarHeight(mm2pt(3)); code.setCode(data.getNumber(true)); code.setFont(null); PdfContentByte cb = new PdfContentByte(stamper.getWriter()); PdfTemplate template = code.createTemplateWithBarcode(cb, null, null); PushbuttonField bt = form.getNewPushbuttonFromField("barcode"); bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); bt.setProportionalIcon(false); bt.setTemplate(template); form.replacePushbuttonField("barcode", bt.getField()); } catch (Exception e) { // not a valid code, do nothing } stamper.setFormFlattening(data.isFlatten()); stamper.close(); }
From source file:classroom.filmfestival_c.Movies24.java
@SuppressWarnings("unchecked") public static void main(String[] args) { Session session = null;//from www .j av a 2 s . c om try { session = (Session) MySessionFactory.currentSession(); Query q = session.createQuery("from FilmTitle order by title"); List<FilmTitle> results = q.list(); Document document = new Document(); PdfSmartCopy copy = new PdfSmartCopy(document, new FileOutputStream(RESULT)); document.open(); PdfReader reader; PdfStamper stamper; AcroFields form; ByteArrayOutputStream baos; for (FilmTitle movie : results) { baos = new ByteArrayOutputStream(); reader = new PdfReader(DATASHEET); stamper = new PdfStamper(reader, baos); form = stamper.getAcroFields(); form.setField("title", movie.getTitle()); form.setField("director", getDirectors(movie)); form.setField("year", String.valueOf(movie.getYear())); form.setField("duration", String.valueOf(movie.getDuration())); form.setField("category", "c" + getCategory(movie)); Set<FestivalScreening> screenings = (Set<FestivalScreening>) movie.getFestivalScreenings(); for (FestivalScreening screening : screenings) { form.setField(screening.getId().getPlace(), "Yes"); } stamper.setFormFlattening(true); stamper.close(); reader = new PdfReader(baos.toByteArray()); copy.addPage(copy.getImportedPage(reader, 1)); } document.close(); } catch (HibernateException e) { LOGGER.warn("HibernateException: " + e); } catch (IOException e) { LOGGER.warn("IOException: " + e); } catch (DocumentException e) { LOGGER.warn("DocumentException: " + e); } finally { try { if (session != null) { session.close(); } } catch (HibernateException e) { LOGGER.warn("HibernateTest - Closing session: " + e); } } }
From source file:classroom.filmfestival_c.Movies25.java
@SuppressWarnings("unchecked") public static void main(String[] args) { createTemplate();/*from ww w . j av a 2 s . c o m*/ Session session = (Session) MySessionFactory.currentSession(); Query q = session.createQuery("from FilmTitle order by title"); java.util.List<FilmTitle> results = q.list(); try { Document document = new Document(); PdfSmartCopy copy = new PdfSmartCopy(document, new FileOutputStream(RESULT)); document.open(); PdfReader reader; PdfStamper stamper = null; ByteArrayOutputStream baos = null; AcroFields form = null; int count = 0; for (FilmTitle movie : results) { if (count == 0) { baos = new ByteArrayOutputStream(); reader = new PdfReader(BACKGROUND); stamper = new PdfStamper(reader, baos); stamper.setFormFlattening(true); form = stamper.getAcroFields(); } count++; byte[] pdf = createPdf(movie); reader = new PdfReader(pdf); PdfImportedPage page = stamper.getImportedPage(reader, 1); PushbuttonField bt = form.getNewPushbuttonFromField("movie_" + count); bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); bt.setProportionalIcon(true); bt.setTemplate(page); form.replacePushbuttonField("movie_" + count, bt.getField()); if (count == 16) { stamper.close(); reader = new PdfReader(baos.toByteArray()); copy.addPage(copy.getImportedPage(reader, 1)); count = 0; } } if (count > 0) { stamper.close(); reader = new PdfReader(baos.toByteArray()); copy.addPage(copy.getImportedPage(reader, 1)); count = 0; } document.close(); } catch (IOException ioe) { LOGGER.error("IOException: ", ioe); } catch (DocumentException de) { LOGGER.error("DocumentException: ", de); } }
From source file:classroom.filmfestival_c.Movies25.java
public static byte[] createPdf(FilmTitle movie) throws IOException, DocumentException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(TEMPLATE); PdfStamper stamper = new PdfStamper(reader, baos); AcroFields form = stamper.getAcroFields(); File file = new File("resources/classroom/filmposters/" + movie.getFilmId() + ".jpg"); if (file.exists()) { PushbuttonField bt = form.getNewPushbuttonFromField(POSTER); bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); bt.setProportionalIcon(true);/*w w w . ja v a2 s . c om*/ bt.setImage(Image.getInstance(file.getPath())); form.replacePushbuttonField(POSTER, bt.getField()); } String s = createHtml(movie); PdfContentByte canvas = stamper.getOverContent(1); float size = 12; float[] f = form.getFieldPositions(TEXT); while (addText(s, canvas, f, size, true) && size > 6) { size -= 0.2; } addText(s, canvas, f, size, false); form.setField(YEAR, String.valueOf(movie.getYear())); stamper.setFormFlattening(true); stamper.close(); return baos.toByteArray(); }
From source file:classroom.newspaper_b.Newspaper12.java
public static void main(String[] args) { Newspaper11.main(args);/*from w w w. j ava2s . c om*/ try { PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); AcroFields fields = stamper.getAcroFields(); fields.setField("field1", "Advertissement 1"); float[] positions1 = fields.getFieldPositions("field1"); putImage(stamper.getOverContent((int) positions1[0]), IMG1, positions1); fields.setField("field2", "Advertissement 2"); float[] positions2 = fields.getFieldPositions("field2"); putImage(stamper.getOverContent((int) positions2[0]), IMG2, positions2); stamper.setFormFlattening(true); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:classroom.newspaper_b.Newspaper14.java
public static void changeField(PdfStamper stamper, String button, String path) throws IOException, DocumentException { AcroFields fields = stamper.getAcroFields(); PushbuttonField bt = fields.getNewPushbuttonFromField(button); bt.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); bt.setProportionalIcon(true);//from w w w . ja v a2s.c o m PdfReader reader = new PdfReader(path); bt.setTemplate(stamper.getImportedPage(reader, 1)); fields.replacePushbuttonField(button, bt.getField()); }
From source file:com.bluexml.side.Framework.alfresco.workflow.pdfGenerator.generate.fill.FillDataPDF.java
License:Open Source License
public static void fillPDF(PdfStamper stamper, HashMap<String, String> exportCommands, HashMap<String, Object> data) throws IOException, DocumentException, MissingDateFormatException { AcroFields form = stamper.getAcroFields(); Set<String> exportCommandsKeys = exportCommands.keySet(); for (String commandKey : exportCommandsKeys) { String value = convertToStringAlfrescoType(commandKey, data.get(commandKey), exportCommands); form.setField(commandKey, value); }// w w w . ja v a2 s . c o m stamper.close(); }
From source file:com.c6rs.catsix.reg.pdf.PopulatePDF.java
/** * @param args/*w ww .j av a 2s . co m*/ * @throws IOException * @throws DocumentException */ public static void main(String[] args) throws IOException, DocumentException { PdfReader reader = new PdfReader(PopulatePDF.class.getResourceAsStream("waiver_form.pdf")); FileOutputStream out = new FileOutputStream("/TEMP/waiver.pdf"); PdfStamper stamp = new PdfStamper(reader, out); AcroFields fields = stamp.getAcroFields(); fields.setField(DATE_FIELD, new Date(System.currentTimeMillis()).toString()); fields.setField(EVENT_FIELD, "THE STATE FAIR AFFAIR"); fields.setField(EVENT_DATES_FIELD, new Date(System.currentTimeMillis()).toString()); fields.setField(LICENSE_FIELD, "123456789"); fields.setField(RACING_AGE_FIELD, "33"); fields.setField(FULLNAME_FIELD, "JOE RACER"); fields.setField(ADDRESS_FIELD, "123 MAIN STREET"); fields.setField(CITY_FIELD, "MINNEAPOLIS"); fields.setField(STATE_FIELD, "MN"); fields.setField(ZIP_FIELD, "5416"); fields.setField(PHONE_FIELD, "555-555-5555"); fields.setField(EMAIL_FIELD, "JOE.RACER@GMAIL.COM"); fields.setField(CONTACT_NAME_FIELD, "JOAN RACER"); fields.setField(CONTACT_PHONE_FIELD, "555-555-5555"); // Need to lock fields and prevent further edits? //stamp.setFormFlattening(true); stamp.close(); }
From source file:com.iana.dver.controller.DverUserController.java
License:Open Source License
private void sendChangePwdEmail(DverUserVO dverUser, DverConfigVO dverConfig, String newPwd) throws IOException, DocumentException, AddressException { try {/*w w w . jav a 2s. com*/ PdfReader reader = new PdfReader( servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_CHANGE_PWD_FORM.pdf")); File tempFile = File.createTempFile("DVER_CHANGE_PWD_" + securityObj.getUserName(), ".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]", dverUser.getFirstName() + " " + dverUser.getLastName()); form.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName()); form.setField("topmostSubform[0].Page1[0].address[0]", dverUser.getAddress1() + " " + dverUser.getAddress2()); form.setField("topmostSubform[0].Page1[0].city[0]", dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZipCode()); form.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac()); form.setField("topmostSubform[0].Page1[0].pwd[0]", newPwd); filledOutForm.setFormFlattening(Boolean.TRUE); filledOutForm.close(); DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER - Password Change Confirmation", new InternetAddress[] { new InternetAddress(dverUser.getEmail()) }, "Please see attached to know about your changed password.", tempFile); if (!dverConfig.getEmail().equals(dverUser.getEmail())) { PdfReader reader1 = new PdfReader( servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_CHANGE_PWD_FORM.pdf")); File tempFile1 = File.createTempFile("DVER_CHANGE_PWD_NOTIF_" + securityObj.getUserName(), ".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]", dverConfig.getFirstName() + " " + dverConfig.getLastName()); form1.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName()); form1.setField("topmostSubform[0].Page1[0].address[0]", dverUser.getAddress1() + " " + dverUser.getAddress2()); form1.setField("topmostSubform[0].Page1[0].city[0]", dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZipCode()); form1.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac()); form1.setField("topmostSubform[0].Page1[0].pwd[0]", newPwd); filledOutForm1.setFormFlattening(Boolean.TRUE); filledOutForm1.close(); DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER - Password Change Confirmation", new InternetAddress[] { new InternetAddress(dverConfig.getEmail()) }, "Please see attached to know about your changed password.", tempFile1); } tempFile.deleteOnExit(); } catch (Exception ex) { logger.error("Error in sendForgotPwdEmail....." + ex); DVERUtil.sendExceptionEmails("sendChangePwdEmail method of DverUserController \n " + ex); } }
From source file:com.iana.dver.controller.LoginController.java
License:Open Source License
private void sendForgotPwdEmail(DverUsers dverUser, DverConfig dverConfig, UserLogin dverUserLogin) throws IOException, DocumentException, AddressException { try {// w ww . ja va2 s. c om PdfReader reader = new PdfReader( servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_FORGOT_PWD_FORM.pdf")); File tempFile = File.createTempFile("DVER_FORGOT_PWD_" + dverUserLogin.getUserName(), ".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]", dverUser.getFname() + " " + dverUser.getLname()); form.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName()); form.setField("topmostSubform[0].Page1[0].address[0]", dverUser.getAddr1() + " " + dverUser.getAddr2()); form.setField("topmostSubform[0].Page1[0].city[0]", dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZip()); form.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac()); form.setField("topmostSubform[0].Page1[0].pwd[0]", dverUserLogin.getPassword()); filledOutForm.setFormFlattening(Boolean.TRUE); filledOutForm.close(); DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER - Password Recovery", new InternetAddress[] { new InternetAddress(dverUser.getEmail()) }, "Please see attached to know your forgotten password.", tempFile); if (!dverUser.getEmail().equals(dverConfig.getEmail())) { PdfReader reader1 = new PdfReader( servletContext.getResourceAsStream("/WEB-INF/email_templates/DVER_FORGOT_PWD_FORM.pdf")); File tempFile1 = File.createTempFile("DVER_FORGOT_PWD_NOTIF_" + dverUserLogin.getUserName(), ".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]", dverConfig.getFname() + " " + dverConfig.getLname()); form1.setField("topmostSubform[0].Page1[0].company[0]", dverUser.getCompanyName()); form1.setField("topmostSubform[0].Page1[0].address[0]", dverUser.getAddr1() + " " + dverUser.getAddr2()); form1.setField("topmostSubform[0].Page1[0].city[0]", dverUser.getCity() + ", " + dverUser.getState() + " " + dverUser.getZip()); form1.setField("topmostSubform[0].Page1[0].scac[0]", dverUser.getScac()); form1.setField("topmostSubform[0].Page1[0].pwd[0]", dverUserLogin.getPassword()); filledOutForm1.setFormFlattening(Boolean.TRUE); filledOutForm1.close(); DVERUtil.sendEmailWithAttachments("admin@dver.intermodal.org", "DVER - Password Recovery", new InternetAddress[] { new InternetAddress(dverConfig.getEmail()) }, "Please see attached to know your forgotten password.", tempFile1); } tempFile.deleteOnExit(); } catch (Exception ex) { logger.error("Error in sendForgotPwdEmail....." + ex); DVERUtil.sendExceptionEmails("sendForgotPwdEmail method of LoginController \n " + ex); } }