- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
PdfPageEventHelper implements PdfPageEvent in Java
PdfPageEventHelper implements PdfPageEvent Print QR Code JIS X 0510 In Java Using Barcode maker for Java Control to generate, create QR Code ISO/IEC18004 image in Java applications. www.OnBarcode.comRecognize Quick Response Code In Java Using Barcode recognizer for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.comDraws filmstrip
UPCA Printer In Java Using Barcode maker for Java Control to generate, create Universal Product Code version A image in Java applications. www.OnBarcode.comGenerate Code 128 Code Set A In Java Using Barcode creation for Java Control to generate, create USS Code 128 image in Java applications. www.OnBarcode.comDraws ellipse
Printing UCC - 12 In Java Using Barcode encoder for Java Control to generate, create GS1-128 image in Java applications. www.OnBarcode.comPrinting GTIN - 13 In Java Using Barcode creator for Java Control to generate, create European Article Number 13 image in Java applications. www.OnBarcode.comTracks years in TreeMap
Data Matrix 2d Barcode Creator In Java Using Barcode creator for Java Control to generate, create ECC200 image in Java applications. www.OnBarcode.com2 Of 5 Interleaved Printer In Java Using Barcode encoder for Java Control to generate, create I-2/5 image in Java applications. www.OnBarcode.comTable, cell, and page events
Recognizing Quick Response Code In VS .NET Using Barcode decoder for Visual Studio .NET Control to read, scan read, scan image in VS .NET applications. www.OnBarcode.comQR Code 2d Barcode Creator In Objective-C Using Barcode printer for iPad Control to generate, create QR Code JIS X 0510 image in iPad applications. www.OnBarcode.comyears.put(text, count + 1); } } } QR Creation In .NET Framework Using Barcode drawer for .NET Control to generate, create QR Code ISO/IEC18004 image in Visual Studio .NET applications. www.OnBarcode.comQR Code Creator In Visual Studio .NET Using Barcode drawer for Reporting Service Control to generate, create QR image in Reporting Service applications. www.OnBarcode.comTracks years in TreeMap
QR Code Creation In None Using Barcode maker for Excel Control to generate, create QR image in Office Excel applications. www.OnBarcode.comMaking UPC-A Supplement 5 In None Using Barcode generation for Office Word Control to generate, create GS1 - 12 image in Word applications. www.OnBarcode.comInstead of B, you could have written GenericTags implements PdfPageEvent, but then you d need to implement all the methods defined in the PdfPageEvent interface. Here you re only interested in the onGenericTag() method, so it s easier to extend the PdfPageEventHelper class. This class contains nothing but empty implementations of the interface s methods. In this example, you override one specific method, and you can safely ignore the other methods. The code in listing 5.8 won t be executed unless you declare the event to a writer. The onGenericTag() method will never be invoked if you don t define generic tags for Chunks. Print Code 128 Code Set C In Objective-C Using Barcode generator for iPad Control to generate, create Code 128C image in iPad applications. www.OnBarcode.comPaint Barcode In Java Using Barcode maker for BIRT reports Control to generate, create Barcode image in BIRT reports applications. www.OnBarcode.comListing 5.9 MovieYears.java (continued) Code 39 Decoder In Visual C#.NET Using Barcode reader for .NET Control to read, scan read, scan image in .NET applications. www.OnBarcode.comGS1 128 Encoder In None Using Barcode maker for Microsoft Excel Control to generate, create UCC - 12 image in Excel applications. www.OnBarcode.comDocument document = new Document(); PdfWriter writer = PdfWriter.getInstance( Creates instance document, new FileOutputStream(filename)); of event GenericTags event = new GenericTags(); writer.setPageEvent(event); Declares event ... to writer document.open(); ... Paragraph p; Chunk c; ... p = new Paragraph(22); c = new Chunk(String.format("%d ", movie.getYear()), bold); Sets strip c.setGenericTag("strip"); as generic tag p.add(c); c = new Chunk(movie.getMovieTitle()); Sets year as c.setGenericTag(String.valueOf(movie.getYear())); generic tag p.add(c); c = new Chunk( String.format(" (%d minutes) ", movie.getDuration()), italic); p.add(c); c = new Chunk("IMDB", white); Sets ellipse c.setAnchor("http://www.imdb.com/title/tt" + movie.getImdb()); as generic tag c.setGenericTag("ellipse"); p.add(c); document.add(p); ... document.close(); QR Code Decoder In Java Using Barcode recognizer for Java Control to read, scan read, scan image in Java applications. www.OnBarcode.comRecognize UPC-A Supplement 2 In None Using Barcode decoder for Software Control to read, scan read, scan image in Software applications. www.OnBarcode.comBefore we study the mechanisms used in this code, let s look at the parameters passed to the onGenericTag() method: writer The PdfWriter object to which the event is added. pdfDocument Not the Document object to which the Paragraph is added. This is a PdfDocument that is created internally when you create a PdfWriter instance. Use this object just for read-only purposes! Events for basic building blocks
rect Rectangle defining the boundaries of the Chunk for which a generic tag
is set. text The String passed to the Chunk with the setGenericTag() method.
In listing 5.9 you re tagging the Chunks representing the year with a generic tag named strip . When the content is written to the page, the onGenericTag() method is invoked. In the page event implementation, the onGenericTag() method looks at the text, and calls the strip() method to draw a filmstrip over the year. NOTE
If a Chunk is split over multiple lines, the onGenericTag() method will be invoked as many times as there are lines. Every line will have its own Rectangle. The same happens for the IMDB links: the text ellipse corresponds with the ellipse() method. You re using this page event to achieve more or less the same goals as with table and cell events: to add special shapes. But there s more. In listing 5.8, you ll also find a countYear() method. This method is invoked because you re setting the year as a generic tag for the movie titles. A list of these years and the number of times each year occurs is kept in the member variable years. Here is what you can do with this TreeMap. Listing 5.10 MovieYears.java (continued) document.newPage(); writer.setPageEvent(null); for (Map.Entry entry : event.years.entrySet()) { p = new Paragraph(String.format("%s: %d movie(s)", entry.getKey(), entry.getValue())); document.add(p); } You start a new page and remove the page events from the writer by setting the page events to null. You don t want any of the page events to be active, and figure 5.5 shows that GenericTags wasn t the only event used in this example you also used a Paragraph event to draw extra lines. You don t want these lines to appear when you create an overview of the years for which you have a film in the database, along with the number of times each year occurs. This overview is shown in figure 5.6. Listing 5.9 was far from complete the lines in figure 5.5 were added using another type of page event. The following line actually came right after GenericTags was set: writer.setPageEvent(new ParagraphPositions()); Figure 5.6 Counting movies using the generic tag functionality
|
|