List of usage examples for com.lowagie.text.pdf PdfStamper close
public void close() throws DocumentException, IOException
From source file:classroom.newspaper_b.Newspaper09.java
public static void main(String[] args) { try {// ww w . j a v a 2 s . c o m PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); PdfAnnotation annotation1 = PdfAnnotation.createSquareCircle(stamper.getWriter(), new Rectangle(LLX1, LLY1, URX1, URY1), MESSAGE, true); annotation1.put(PdfName.T, new PdfString("Advertisement 1")); annotation1.put(PdfName.C, new PdfArray(new float[] { 1, 0, 0 })); stamper.addAnnotation(annotation1, 1); PdfAnnotation annotation2 = PdfAnnotation.createText(stamper.getWriter(), new Rectangle(LLX2, LLY2, URX2, URY2), "Advertisement 2", MESSAGE, false, null); annotation2.put(PdfName.NM, new PdfString("ad2")); // the text must be read only, and the annotation set to NOVIEW annotation2.put(PdfName.F, new PdfNumber(PdfAnnotation.FLAGS_READONLY | PdfAnnotation.FLAGS_NOVIEW)); // we create a popup annotation that will define where the rectangle will appear PdfAnnotation popup = PdfAnnotation.createPopup(stamper.getWriter(), new Rectangle(LLX2 + 50, LLY2 + 120, URX2 - 80, URY2 - 120), null, false); // we add a reference to the text annotation to the popup annotation popup.put(PdfName.PARENT, annotation2.getIndirectReference()); // we add a reference to the popup annotation to the text annotation annotation2.put(PdfName.POPUP, popup.getIndirectReference()); // we add both annotations to the writer stamper.addAnnotation(annotation2, 1); stamper.addAnnotation(popup, 1); // the text annotation can't be viewed (it's invisible) // we create a widget annotation named mywidget (it's a button field) PushbuttonField field = new PushbuttonField(stamper.getWriter(), new Rectangle(LLX2, LLY2, URX2, URY2), "button"); PdfAnnotation widget = field.getField(); PdfDictionary dict = new PdfDictionary(); // we write some javascript that makes the popup of the text annotation visible/invisible on mouse enter/exit String js1 = "var t = this.getAnnot(this.pageNum, 'ad2'); t.popupOpen = true; var w = this.getField('button'); w.setFocus();"; PdfAction enter = PdfAction.javaScript(js1, stamper.getWriter()); dict.put(PdfName.E, enter); String js2 = "var t = this.getAnnot(this.pageNum, 'ad2'); t.popupOpen = false;"; PdfAction exit = PdfAction.javaScript(js2, stamper.getWriter()); dict.put(PdfName.X, exit); // we add the javascript as additional action widget.put(PdfName.AA, dict); // we add the button field stamper.addAnnotation(widget, 1); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:classroom.newspaper_b.Newspaper10.java
public static void main(String[] args) { try {/*from w ww. jav a 2s .c o m*/ PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); PushbuttonField button; Rectangle rect; rect = new Rectangle(100, 980, 700, 1000); button = new PushbuttonField(stamper.getWriter(), rect, "click"); button.setBackgroundColor(Color.ORANGE); button.setText("Click here to close window"); button.setLayout(PushbuttonField.LAYOUT_LABEL_ONLY); button.setAlignment(Element.ALIGN_RIGHT); PdfFormField menubar = button.getField(); String js = "var f1 = getField('click'); f1.display = display.hidden;" + "var f2 = getField('advertisement'); f2.display = display.hidden;"; menubar.setAction(PdfAction.javaScript(js, stamper.getWriter())); stamper.addAnnotation(menubar, 1); rect = new Rectangle(100, 500, 700, 980); button = new PushbuttonField(stamper.getWriter(), rect, "advertisement"); button.setBackgroundColor(Color.WHITE); button.setBorderColor(Color.ORANGE); button.setImage(Image.getInstance(IMG)); button.setText("Buy the book iText in Action"); button.setLayout(PushbuttonField.LAYOUT_LABEL_TOP_ICON_BOTTOM); PdfFormField advertisement = button.getField(); advertisement.setAction(new PdfAction("http://www.1t3xt.com/docs/book.php")); stamper.addAnnotation(advertisement, 1); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:classroom.newspaper_b.Newspaper11.java
@SuppressWarnings("unchecked") public static void main(String[] args) { try {//from www . jav a 2s . c om PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); PdfContentByte canvas = stamper.getOverContent(1); canvas.setRGBColorFill(0xFF, 0xFF, 0xFF); canvas.rectangle(LLX1, LLY1, W1, H1); canvas.rectangle(LLX2, LLY2, W2, H2); canvas.fill(); addTextField(stamper, new Rectangle(LLX1, LLY1, URX1, URY1), "field1", 1); addTextField(stamper, new Rectangle(LLX2, LLY2, URX2, URY2), "field2", 1); stamper.close(); reader = new PdfReader(RESULT); AcroFields fields = reader.getAcroFields(); Set<String> fieldnames = fields.getFields().keySet(); for (String fieldname : fieldnames) { System.out.print(fieldname); System.out.print(": page "); float[] positions = fields.getFieldPositions(fieldname); System.out.print(positions[0]); System.out.print(" [ "); System.out.print(positions[1]); System.out.print(", "); System.out.print(positions[2]); System.out.print(", "); System.out.print(positions[3]); System.out.print(", "); System.out.print(positions[4]); System.out.println("]"); } } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:classroom.newspaper_b.Newspaper12.java
public static void main(String[] args) { Newspaper11.main(args);/*from ww w. jav a 2 s . c o m*/ 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.Newspaper13.java
public static void main(String[] args) { try {/* w w w . jav a2s . co m*/ PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); addButton(stamper, new Rectangle(LLX1, LLY1, URX1, URY1), PATH1, "button1", 1); addButton(stamper, new Rectangle(LLX2, LLY2, URX2, URY2), PATH2, "button2", 1); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:classroom.newspaper_b.Newspaper14.java
public static void main(String[] args) { Newspaper13.main(args);/*from w w w .ja va 2s. c o m*/ try { PdfReader reader = new PdfReader(NEWSPAPER); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); changeField(stamper, "button1", PATH1); changeField(stamper, "button2", PATH2); stamper.setFormFlattening(true); stamper.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } }
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); }//from w w w . ja va 2 s . c o m stamper.close(); }
From source file:com.c6rs.catsix.reg.pdf.PopulatePDF.java
/** * @param args//w w w.j a v a 2 s. 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.homesoft.component.report.pdf.PdfWrappedStamper.java
License:Open Source License
private ByteArrayOutputStream stampInputStream(InputStream is) { ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfReader reader = null;/*w ww. ja va2 s .co m*/ PdfStamper stamp = null; try { reader = new PdfReader(is); stamp = new PdfStamper(reader, os); } catch (DocumentException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } if (reader == null || stamp == null) { return null; } int total = reader.getNumberOfPages(); for (int i = 1; i <= total; i++) { PdfContentByte over = stamp.getOverContent(i); boolean fixedImageEnabled = GlobalConfig.getInstance().getStamperFixedImageEnabled(); boolean dynamicImageEnabled = GlobalConfig.getInstance().getStamperDynamicImageEnabled(); if (imageEnabled && fixedImageEnabled) { image.setRotationDegrees(GlobalConfig.getInstance().getStamperFixedImageRotationDegree()); image.setAbsolutePosition(GlobalConfig.getInstance().getStamperFixedImagePositionX(), GlobalConfig.getInstance().getStamperFixedImagePositionY());// position over.setGState(gsFixed); try { over.addImage(image); } catch (DocumentException e) { log.error(e.getMessage(), e); } } if (imageEnabled && dynamicImageEnabled) { int jx = GlobalConfig.getInstance().getStamperDynamicImagePositionXStart(); int jy = GlobalConfig.getInstance().getStamperDynamicImagePositionYStart(); while (jy < 800) { // img.setRotation(30); image.setRotationDegrees(GlobalConfig.getInstance().getStamperDynamicImageRotationDegree()); image.setAbsolutePosition(jx, jy); over.setGState(gsDynamic); try { over.addImage(image); } catch (DocumentException e) { log.error(e.getMessage(), e); } jx += GlobalConfig.getInstance().getStamperDynamicImagePositionXStep(); jy += GlobalConfig.getInstance().getStamperDynamicImagePositionYStep(); } } } try { stamp.close(); } catch (DocumentException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } reader.close(); return os; }
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 {// ww w .j av a 2s.co m 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); } }