List of Figures

Chapter 1. Introducing PDF and iText

Figure 1.1. Overview of PDF-related functionality. The functionality covered by iText is marked with the iText logo.

Figure 1.2. Compiling and running from the command line

Figure 1.3. Organization of the sample files

Figure 1.4. A “Hello World” PDF

Figure 1.5. The project opened in Eclipse

Figure 1.6. hello.pdf opened in Notepad++

Figure 1.7. PDF document opened in WordPad

Chapter 2. Using iText’s basic building blocks

Figure 2.1. UML class diagram, presenting the building blocks that will be discussed in this chapter

Figure 2.2. Film database entity relationship diagram

Figure 2.3. Country chunks, produced with listing 2.2

Figure 2.4. A PDF file opened in Adobe Reader and Evince on Ubuntu

Figure 2.5. A PDF file opened in Adobe Reader and Evince on Ubuntu

Figure 2.6. Splitting paragraphs

Figure 2.7. List and ListItem variations

Figure 2.8. Class diagram of DrawInterface implementations

Figure 2.9. Vertical position marks

Figure 2.10. Dotted line and other separators

Figure 2.11. Chunks acting as tab positions

Figure 2.12. A PDF with bookmarks

Figure 2.13. Adding images to a PDF document

Figure 2.14. Resized images

Figure 2.15. Rotated images, wrapped in Chunk objects

Chapter 3. Adding content at absolute positions

Figure 3.1. Adding content using low-level methods to a page created with high-level objects

Figure 3.2. The four content layers: 2 and 3 for the high-level objects; 1 and 4 for direct content

Figure 3.3. Repeating the same rectangle using different graphics states

Figure 3.4. Festival database entity relationship diagram

Figure 3.5. Film festival timetable

Figure 3.6. Timetable with movie time blocks

Figure 3.7. Measuring and positioning text: width, ascent, and descent of a String

Figure 3.8. Adding text with ColumnText.showTextAligned()

Figure 3.9. Timetable without movie titles

Figure 3.10. The finished timetable, now with the movie titles

Figure 3.11. Movie information, organized in columns

Figure 3.12. Irregular columns

Figure 3.13. Columns in composite mode

Figure 3.14. Alignment in composite mode

Figure 3.15. Image covering text

Figure 3.16. Skewing an image

Figure 3.17. Mimicking strips of film using a PdfTemplate

Figure 3.18. Adding the same PdfTemplate object using different transformations

Chapter 4. Organizing content in tables

Figure 4.1. Your first PdfPTable

Figure 4.2. Changing the widths of tables and columns

Figure 4.3. Three tables with different alignments

Figure 4.4. Cells in text mode

Figure 4.5. Different spacing in cells

Figure 4.6. Different row height methods for cells and tables

Figure 4.7. Cells and rotation, background color, borders, and border colors

Figure 4.8. Cells in composite mode

Figure 4.9. Cells and images

Figure 4.10. Nested tables

Figure 4.11. Nesting tables for complex layouts

Figure 4.12. Repeating headers and footers

Figure 4.13. Different ways to split a table

Figure 4.14. A calendar in a PDF with a table added at an absolute position

Figure 4.15. Splitting a table vertically

Figure 4.16. A PdfPTable rendered in two columns

Chapter 5. Table, cell, and page events

Figure 5.1. Table with alternating row backgrounds

Figure 5.2. Cells with custom background and extra info added using cell events

Figure 5.3. Mimicking cell spacing using cell and table events

Figure 5.4. A variation on the calendar example, now with rounded corners

Figure 5.5. Page events for Chunks and Paragraphs

Figure 5.6. Counting movies using the generic tag functionality

Figure 5.7. Page events for Chapters and Sections

Figure 5.8. Page events for Chapters and Sections: reordering pages

Figure 5.9. A PDF with a different origin

Figure 5.10. An A0 sized page divided into 16 A4 pages

Figure 5.11. Adding headers and footers using page events

Figure 5.12. Solving the page X of Y problem with page events

Figure 5.13. Adding a watermark using page events

Chapter 6. Working with existing PDFs

Figure 6.1. Importing pages from an existing PDF document

Figure 6.2. Scaling and skewing pages from an existing PDF

Figure 6.3. PDF created by superimposing four different pages

Figure 6.4. Using an existing PDF as background image for new PDFs

Figure 6.5. N-up copying combines multiple pages onto one page

Figure 6.6. Scaling and tiling a PDF file

Figure 6.7. Adding text to an existing document

Figure 6.8. Adding a page X of Y header to an existing document

Figure 6.9. Adding stationery to an existing document

Figure 6.10. Creating an XML form document with Open Office Writer

Figure 6.11. Creating fields in an Open Office document

Figure 6.12. Exporting an Open Office document as a PDF form

Figure 6.13. A form created with Open Office Writer

Figure 6.14. A form filled out using iText

Figure 6.15. A form filled out and flattened using iText

Chapter 7. Making documents interactive

Figure 7.1. Timetable with named actions triggered by clicking the arrows

Figure 7.2. JavaScript Console window

Figure 7.3. Search window in Adobe Reader

Figure 7.4. Document with bookmarks created using PdfOutline

Figure 7.5. Bookmarks added to an existing document

Figure 7.6. Concatenated documents with concatenated bookmarks

Figure 7.7. Text annotations containing more info about a movie

Figure 7.8. Different types of icons for text annotations

Figure 7.9. Text annotations added to the existing timetable

Figure 7.10. Link annotations have been added to all the images; see, for instance, the link to Donnie Darko at IMDB

Figure 7.11. Movie list with file attachments

Figure 7.12. Stamp, rectangle, and line annotations added to an existing document

Figure 7.13. An advertisement that can be clicked away, added to an existing document

Figure 7.14. Text annotation in a popup using a button and its events

Figure 7.15. A calculator application in a PDF demonstrating the use of annotations and JavaScript

Chapter 8. Filling out interactive forms

Figure 8.1. A PDF file with different button fields

Figure 8.2. A PDF file with different text fields

Figure 8.3. Creating text fields containing Unicode characters

Figure 8.4. Filling out text fields containing Unicode characters

Figure 8.5. A PDF file with different choice fields

Figure 8.6. Before: a form with four fields

Figure 8.7. After: a form with two fields

Figure 8.8. Advertisement for the Foobar Film Festival

Figure 8.9. Forms involved in the Foobar Film Festival ad

Figure 8.10. A static XFA form

Figure 8.11. Partially filled-in form

Figure 8.12. Correctly filled-out XFA form

Figure 8.13. Creating a new form with Adobe LiveCycle Designer

Figure 8.14. Using an XSD as a data connection to create the form

Figure 8.15. Reorganizing the fields in the form

Figure 8.16. Empty dynamic XFA form

Figure 8.17. Dynamic XFA form filled with movie XML

Figure 8.18. A Reader-enabled form can be filled out and saved in Adobe Reader

Figure 8.19. Filling out a form programmatically can break Reader-enabling

Figure 8.20. Two workarounds to fill out a Reader Enabled form

Chapter 9. Integrating iText in your web applications

Figure 9.1. Hello World servlet opened in Eclipse, Firefox, Chrome, and MSIE

Figure 9.2. PDFs created with GET and POST actions

Figure 9.3. Adding submit buttons to an existing form

Figure 9.4. InputStream of the HttpServletRequest (POST)

Figure 9.5. InputStream of the HttpServletRequest (FDF)

Figure 9.6. InputStream of the HttpServletRequest (XFDF)

Figure 9.7. Uploading a file using FDF

Figure 9.8. Creating FDF based on data sent from an HTML form

Figure 9.9. JavaScript communication between HTML and PDF

Figure 9.10. HTML snippets converted to PDF without using styles

Figure 9.11. HTML snippets converted to PDF using styles

Figure 9.12. An XML file converted to PDF

Chapter 10. Brightening your document with color and images

Figure 10.1. Tiling patterns

Figure 10.2. Shading patterns

Figure 10.3. Transparency groups

Figure 10.4. Isolation and knockout

Figure 10.5. Different image types

Figure 10.6. Images built using raw image data

Figure 10.7. Compressed image with quality loss

Figure 10.8. Different frames taken from an animated GIF

Figure 10.9. Making images transparent

Figure 10.10. Transparency with java.awt.Image

Figure 10.11. Hard and soft image masks

Figure 10.12. Clipping images

Figure 10.13. Clipped image with a transparent overlay

Chapter 11. Choosing the right font

Figure 11.1. One sentence written in different fonts

Figure 11.2. TrueType fonts, TrueType collections, OpenType fonts with TrueType outlines

Figure 11.3. TrueType collection example

Figure 11.4. Encodings available in different font files

Figure 11.5. Using different encodings of the same font

Figure 11.6. Using Identity-H instead of different encodings

Figure 11.7. Type 3 and CJK font example

Figure 11.8. The vertical writing system

Figure 11.9. Writing from right to left

Figure 11.10. Using diacritics, ancillary glyphs added to a letter

Figure 11.11. Using ligatures, joining different glyphs into one

Figure 11.12. Automatic font selection

Figure 11.13. Using iText for different languages

Chapter 12. Protecting your PDF

Figure 12.1. Metadata in PDF files

Figure 12.2. A protected public-key encrypted PDF document

Figure 12.3. An opened public-key-encrypted PDF document

Figure 12.4. PDFs with signature fields

Figure 12.5. PDF with a certifying signature

Figure 12.6. Document with two signatures, one of which has “validity unknown”

Figure 12.7. Document with two valid signatures

Figure 12.8. Document with one valid and one invalid signature

Figure 12.9. A signed PDF with a timestamp

Chapter 13. PDFs inside-out

Figure 13.1. PDF reference cover, Acrobat Starter Kit advertisement, and Acrobat diskettes

Figure 13.2. Hello World PDFs opened in Notepad++

Figure 13.3. The iText in Action, first edition ebook opened in RUPS

Figure 13.4. Page layout with columns

Figure 13.5. Print dialog box with default values set using viewer preferences

Figure 13.6. Page numbers versus page labels

Chapter 14. The imaging model

Figure 14.1. Constructing and painting paths

Figure 14.2. Constructing and painting shapes

Figure 14.3. Examples of different line characteristics

Figure 14.4. The current transformation matrix

Figure 14.5. Demonstrating the different text state operators

Figure 14.6. Demonstrating the convenience methods for text

Figure 14.7. Graphics2D for Swing and PDF; the Pear example from the Java tutorial

Figure 14.8. Combining JFreeChart and iText

Figure 14.9. Demonstration and solution of the encoding problem

Figure 14.10. Different strategies for drawing Asian fonts

Figure 14.11. Different strategies for using mixed fonts

Chapter 15. Page content and structure

Figure 15.1. Making content visible and invisible

Figure 15.2. Different groups of optional content

Figure 15.3. Changing visibility using actions

Figure 15.4. The interactive map of Foobar

Figure 15.5. Using marked content for object data

Figure 15.6. Content that can be read out loud

Figure 15.7. Preface from the first edition

Figure 15.8. Finding the location of text in existing PDFs

Chapter 16. PDF streams

Figure 16.1. Non-embedded versus embedded fonts

Figure 16.2. File attachment annotations

Figure 16.3. Go to embedded files

Figure 16.4. A portable collection containing PDF files

Figure 16.5. A portable collection containing different file types

Figure 16.6. Document with a 3D annotation

Figure 16.7. Integrating a Flash application in a PDF document

Figure 16.8. Communication between PDF and Flash

Figure 16.9. Overview of the PDF functionality that was covered

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset