List of usage examples for com.lowagie.text.pdf PushbuttonField setTemplate
public void setTemplate(PdfTemplate template)
From source file:classroom.filmfestival_c.Movies22.java
public static void main(String[] args) { // step 1/*from w w w . j a v a2 s . c o m*/ Document document = new Document(new Rectangle(WIDTH, HEIGHT)); try { // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FORM)); writer.setViewerPreferences(PdfWriter.PageLayoutSinglePage); // step 3 document.open(); // step 4 PdfContentByte cb = writer.getDirectContent(); // top part of the card cb.setColorFill(RED); cb.rectangle(0, mm2pt(57f), WIDTH, HEIGHT - mm2pt(57f)); cb.fill(); cb.setColorFill(BLACK); cb.rectangle(0, mm2pt(61), WIDTH, mm2pt(21f)); cb.fill(); cb.setColorFill(WHITE); Image kubrick = Image.getInstance(KUBRICK); kubrick.scaleToFit(WIDTH, mm2pt(21)); kubrick.setAbsolutePosition(0, mm2pt(61)); cb.addImage(kubrick); Image logo = Image.getInstance(LOGO); logo.scaleToFit(mm2pt(14), mm2pt(14)); logo.setAbsolutePosition(mm2pt(37), mm2pt(65)); cb.addImage(logo); cb.beginText(); cb.setFontAndSize(FONT, 7); cb.showTextAligned(Element.ALIGN_CENTER, "Flanders International Film Festival-Ghent", WIDTH / 2, mm2pt(58.5f), 0); cb.endText(); // bottom part of the card TextField filmfestival = new TextField(writer, new Rectangle(0, 0, WIDTH, mm2pt(9)), "filmfestival"); filmfestival.setBackgroundColor(GRAY); filmfestival.setTextColor(WHITE); filmfestival.setText("www.filmfestival.be"); filmfestival.setFontSize(14); filmfestival.setOptions(TextField.READ_ONLY); filmfestival.setAlignment(Element.ALIGN_CENTER); writer.addAnnotation(filmfestival.getTextField()); cb.beginText(); cb.moveText(mm2pt(1.5f), mm2pt(12)); cb.setFontAndSize(FONT, 21); cb.setColorFill(RED); cb.showText("10"); cb.setColorFill(BLUE); cb.showText("/"); cb.setColorFill(RED); cb.showText("21"); cb.setColorFill(BLUE); cb.showText("OCT"); cb.setColorFill(GREEN); cb.showText("2006"); cb.endText(); cb.setColorStroke(BLUE); cb.moveTo(mm2pt(24.5f), mm2pt(29)); cb.lineTo(mm2pt(24.5f), mm2pt(36)); cb.moveTo(mm2pt(24.5f), mm2pt(48)); cb.lineTo(mm2pt(24.5f), mm2pt(54)); cb.stroke(); // central part of the card PushbuttonField photo = new PushbuttonField(writer, new Rectangle(mm2pt(3), mm2pt(29), mm2pt(24), mm2pt(54)), "photo"); PdfTemplate t1 = cb.createTemplate(mm2pt(21), mm2pt(25)); t1.setColorFill(GRAY); t1.rectangle(0, 0, mm2pt(21), mm2pt(25)); t1.fill(); photo.setTemplate(t1); photo.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); writer.addAnnotation(photo.getField()); TextField type = new TextField(writer, new Rectangle(mm2pt(26), mm2pt(46), WIDTH - mm2pt(1.5f), mm2pt(54)), "type"); type.setTextColor(GRAY); type.setText("TYPE"); type.setFontSize(0); writer.addAnnotation(type.getTextField()); TextField number = new TextField(writer, new Rectangle(mm2pt(26), mm2pt(44), WIDTH - mm2pt(1.5f), mm2pt(48)), "number"); number.setText("N\u00b0 0000000"); number.setFontSize(8); writer.addAnnotation(number.getTextField()); TextField name = new TextField(writer, new Rectangle(mm2pt(26), mm2pt(28), WIDTH - mm2pt(1.5f), mm2pt(40)), "name"); name.setText("Name"); name.setFontSize(8); name.setOptions(TextField.MULTILINE); writer.addAnnotation(name.getTextField()); PushbuttonField barcode = new PushbuttonField(writer, new Rectangle(mm2pt(3), mm2pt(23), WIDTH - mm2pt(3), mm2pt(28)), "barcode"); PdfTemplate t2 = cb.createTemplate(WIDTH - mm2pt(6), mm2pt(5)); t2.setColorFill(GRAY); t2.rectangle(0, 0, WIDTH - mm2pt(6), mm2pt(5)); t2.fill(); barcode.setTemplate(t2); barcode.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); writer.addAnnotation(barcode.getField()); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // step 4 document.close(); }
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 w w w .j a 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.Movies25.java
@SuppressWarnings("unchecked") public static void main(String[] args) { createTemplate();/*from w w w . j a v 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.newspaper_b.Newspaper13.java
public static void addButton(PdfStamper stamper, Rectangle rect, String path, String name, int pagenumber) throws IOException, DocumentException { PushbuttonField field = new PushbuttonField(stamper.getWriter(), rect, name); if (path.endsWith(".pdf")) { PdfReader reader = new PdfReader(path); field.setTemplate(stamper.getImportedPage(reader, 1)); } else {/*from w w w. j a v a 2 s .c o m*/ field.setImage(Image.getInstance(path)); } field.setBackgroundColor(new Color(0xFF, 0xFF, 0xFF)); field.setBorderColor(new Color(0xC0, 0xC0, 0xC0)); field.setBorderWidth(0.5f); field.setScaleIcon(PushbuttonField.SCALE_ICON_ALWAYS); field.setLayout(PushbuttonField.LAYOUT_ICON_ONLY); stamper.addAnnotation(field.getField(), pagenumber); }
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.jav a2 s . com PdfReader reader = new PdfReader(path); bt.setTemplate(stamper.getImportedPage(reader, 1)); fields.replacePushbuttonField(button, bt.getField()); }