1. Creating PDF documents from scratch
Chapter 1. Introducing PDF and iText
1.1. Things you can do with PDF
1.2. Working with the examples in this book
1.3. Creating a PDF document in five steps with iText
1.3.1. Creating a new Document object
Chapter 2. Using iText’s basic building blocks
2.1. Illustrating the examples with a real-world database
2.2. Adding Chunk, Phrase, Paragraph, and List objects
2.2.1. The Chunk object: a String, a Font, and some attributes
2.2.2. The Phrase object: a List of Chunks with leading
2.2.3. Paragraph object: a Phrase with extra properties and a newline
2.2.4. Distributing text over different lines
2.2.5. The List object: a sequence of Paragraphs called ListItem
2.2.6. The DrawInterface: vertical position marks, separators, and tabs
2.3. Adding Anchor, Image, Chapter, and Section objects
2.3.1. The Anchor object: internal and external links
2.3.2. Chapter and Section: get bookmarks for free
Chapter 3. Adding content at absolute positions
3.1. Introducing the concept of direct content
3.2. Adding text at absolute positions
3.3. Working with the ColumnText object
3.4. Creating reusable content
Chapter 4. Organizing content in tables
4.2. Changing the properties of a cell
4.3. Dealing with large tables
4.4. Adding a table at an absolute position
Chapter 5. Table, cell, and page events
5.1. Decorating tables using table and cell events
5.1.1. Implementing the PdfPTableEvent interface
5.2. Events for basic building blocks
5.2.1. Generic Chunk functionality
5.3. Overview of the page boundaries
5.4. Adding page events to PdfWriter
5.4.1. Adding a header and a footer
2. Manipulating existing PDF documents
Chapter 6. Working with existing PDFs
6.1. Accessing an existing PDF with PdfReader
6.1.1. Retrieving information about the document and its pages
6.2. Copying pages from existing PDF documents
6.3. Adding content with PdfStamper
6.3.1. Adding content at absolute positions
6.3.2. Creating a PDF in multiple passes
6.3.3. Adding company stationery to an existing document
6.4. Copying pages with PdfCopy
6.4.1. Concatenating and splitting PDF documents
Chapter 7. Making documents interactive
7.1.1. Document-navigation actions
7.2.1. Creating bookmarks for a new document
7.2.2. Retrieving bookmarks from an existing document
7.2.3. Adding bookmarks to an existing document
7.4. JavaScript programming in PDF
7.4.1. Triggering JavaScript from a button
7.4.2. Showing and hiding an annotation
7.4.3. A popup triggered by a button that doesn’t need to be pushed
Chapter 8. Filling out interactive forms
8.2. Selecting states or trigger actions with button fields
8.3. Filling in data with text fields
8.4. Selecting options with choice fields
8.5. Refining the form-filling process
8.5.2. Optimizing the filling process
8.6. Introducing the XML Forms Architecture (XFA)
8.7. Preserving the usage rights of Reader-enabled forms
Chapter 9. Integrating iText in your web applications
9.1. Creating a PDF from a servlet
9.1.1. The five steps of PDF creation in a web application
9.2. Making a form “web ready”
9.2.1. Adding a submit button to an existing form
9.3. JavaScript communication between HTML and PDF
9.4. Creating basic building blocks from HTML and XML
Chapter 10. Brightening your document with color and images
10.1. Working with the iText color classes
10.2. Overview of supported image types
10.2.1. JPEG, JPEG2000, GIF, PNG, BMP, WMF, TIFF, and JBIG2
10.2.3. CCITT compressed images
10.3. Making images transparent
Chapter 11. Choosing the right font
11.1. Getting fonts from a file
11.2. Examining font types from a PDF perspective
11.3.1. Overview of the Font classes
11.4. Automating font creation and selection
Chapter 12. Protecting your PDF
12.3. Encrypting a PDF document
12.4. Digital signatures, OCSP, and timestamping
12.4.1. Creating an unsigned signature field
12.4.3. Adding multiple signatures
12.4.4. Verifying the signatures in a document
12.4.5. Creating the digest and signing externally
13.2. Understanding the Carousel Object System
13.3. Exploring the root of a PDF file
13.3.1. Page layout, page mode, and viewer preferences
14.1. Examining the content stream
14.2. Path construction and painting operators
14.3. Overview of the graphics state methods
14.4. Overview of the text and text state methods
14.5. Using java.awt.Graphics2D
Chapter 15. Page content and structure
15.1. Making content visible or invisible
15.1.1. Optional content groups
15.1.2. Adding structure to layers
15.1.3. Optional content membership
15.2. Working with marked content
15.3.1. Examining the content stream with PRTokeniser
15.3.2. Processing content streams with PdfContentStreamProcessor
15.3.3. Extracting text with PdfReaderContentParser and PdfTextExtractor
16.1. Finding and replacing image and font streams
16.1.1. Adding a special ID to an Image
16.1.2. Resizing an image in an existing document
16.2. Embedding files into a PDF
16.2.1. File attachment annotations
16.2.2. Document-level attachments
A.1. Published by Adobe Systems
A.2. Published by the Association for Information and Image Management (AIIM)
A.3. Published by the European Telecommunications Standards Institute (ETSI)
A.4. Published by the International Organization for Standardization (ISO)