Table of Contents

Namespace iTextSharp.text.pdf

Classes

AcroFields

Query and change fields in existing documents either by method calls or by FDF merging. @author Paulo Soares (psoares@consiste.pt)

AcroFields.Item

The field representations for retrieval and modification.

AcroFields.RevisionStream
ArabicLigaturizer

Shape arabic characters. This code was inspired by an LGPL'ed C library: Pango ( see http://www.pango.com/ ). Note that the code of this is the original work of Paulo Soares. Hence it is perfectly justifiable to distribute it under the MPL. @author Paulo Soares (psoares@consiste.pt)

BadPasswordException
BadPdfFormatException

Signals that a bad PDF format has been used to construct a PdfObject . @see PdfException @see PdfBoolean @see PdfNumber @see PdfString @see PdfName @see PdfDictionary @see PdfFont

Barcode

Base class containing properties and methods commom to all barcode types. @author Paulo Soares (psoares@consiste.pt)

Barcode128

Implements the code 128 and UCC/EAN-128. Other symbologies are allowed in raw mode. The code types allowed are: CODE128 - plain barcode 128. CODE128_UCC - support for UCC/EAN-128 with a full list of AI. CODE128_RAW - raw mode. The code attribute has the actual codes from 0 to 105 followed by '\uffff' and the human readable text. The default parameters are: x = 0.8f; font = BaseFont.CreateFont("Helvetica", "winansi", false); size = 8; baseline = size; barHeight = size * 3; textint= Element.ALIGN_CENTER; codeType = CODE128; @author Paulo Soares (psoares@consiste.pt)

Barcode39

Implements the code 39 and code 39 extended. The default parameters are: x = 0.8f; n = 2; font = BaseFont.CreateFont("Helvetica", "winansi", false); size = 8; baseline = size; barHeight = size * 3; textint= Element.ALIGN_CENTER; generateChecksum = false; checksumText = false; startStopText = true; extended = false; @author Paulo Soares (psoares@consiste.pt)

BarcodeCodabar

Implements the code codabar. The default parameters are: x = 0.8f; n = 2; font = BaseFont.CreateFont("Helvetica", "winansi", false); size = 8; baseline = size; barHeight = size * 3; textAlignment = Element.ALIGN_CENTER; generateChecksum = false; checksumText = false; startStopText = false; @author Paulo Soares (psoares@consiste.pt)

BarcodeDatamatrix
BarcodeEan

Generates barcodes in several formats: EAN13, EAN8, UPCA, UPCE, supplemental 2 and 5. The default parameters are: x = 0.8f; font = BaseFont.CreateFont("Helvetica", "winansi", false); size = 8; baseline = size; barHeight = size * 3; guardBars = true; codeType = EAN13; code = ""; @author Paulo Soares (psoares@consiste.pt)

BarcodeEansupp

This class takes 2 barcodes, an EAN/UPC and a supplemental and creates a single barcode with both combined in the expected layout. The UPC/EAN should have a positive text baseline and the supplemental a negative one (in the supplemental the text is on the top of the barcode. The default parameters are: n = 8; // horizontal distance between the two barcodes @author Paulo Soares (psoares@consiste.pt)

BarcodeInter25

Implements the code interleaved 2 of 5. The text can include non numeric characters that are printed but do not generate bars. The default parameters are: x = 0.8f; n = 2; font = BaseFont.CreateFont("Helvetica", "winansi", false); size = 8; baseline = size; barHeight = size * 3; textint= Element.ALIGN_CENTER; generateChecksum = false; checksumText = false; @author Paulo Soares (psoares@consiste.pt)

BarcodePdf417

Generates the 2D barcode PDF417. Supports dimensioning auto-sizing, fixed and variable sizes, automatic and manual error levels, raw codeword input, codeword size optimization and bitmap inversion. The output can be a CCITT G4 Image or a raw bitmap. @author Paulo Soares (psoares@consiste.pt)

BarcodePdf417.Segment
BarcodePdf417.SegmentList
BarcodePostnet

Implements the Postnet and Planet barcodes. The default parameters are: n = 72f / 22f; // distance between bars x = 0.02f * 72f; // bar width barHeight = 0.125f * 72f; // height of the tall bars size = 0.05f * 72f; // height of the short bars codeType = POSTNET; // type of code @author Paulo Soares (psoares@consiste.pt)

BaseField
BaseFont

Summary description for BaseFont.

BidiLine

Does all the line bidirectional processing with PdfChunk assembly. @author Paulo Soares (psoares@consiste.pt)

BidiOrder
ByteBuffer

Acts like a StringBuilder but works with byte arrays. floating point is converted to a format suitable to the PDF. @author Paulo Soares (psoares@consiste.pt)

CffFont
CffFont.DictNumberItem
CffFont.DictOffsetItem

an unknown offset in a dictionary for the list. We will fix up the offset later; for now, assume it's large.

CffFont.Font

a utility that creates a range item for an entire index

CffFont.IndexBaseItem
CffFont.IndexMarkerItem
CffFont.IndexOffsetItem

An index-offset item for the list. The size denotes the required size in the CFF. A positive value means that we need a specific size in bytes (for offset arrays) and a negative value means that this is a dict item that uses a variable-size representation.

CffFont.Item
CffFont.MarkerItem
CffFont.OffsetItem
CffFont.RangeItem

A range item.

CffFont.StringItem
CffFont.SubrMarkerItem

@author orly manor TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code and Comments

CffFont.UInt16Item

Card24 item.

CffFont.UInt24Item
CffFont.UInt32Item

Card32 item.

CffFont.UInt8Item

A SID or Card16 item.

CffFontSubset
CmykColor

@author Paulo Soares (psoares@consiste.pt)

ColorDetails

Each spotcolor in the document will have an instance of this class @author Phillip Pan (phillip@formstar.com)

ColumnText

Formats text in a columnwise form. The text is bound on the left and on the right by a sequence of lines. This allows the column to have any shape, not only rectangular. Several parameters can be set like the first paragraph line indent and extra space between paragraphs. A call to the method go will return one of the following situations: the column ended or the text ended. I the column ended, a new column definition can be loaded with the method setColumns and the method go can be called again. If the text ended, more text can be loaded with addText and the method go can be called again. The only limitation is that one or more complete paragraphs must be loaded each time. Full bidirectional reordering is supported. If the run direction is PdfWriter.RUN_DIRECTION_RTL the meaning of the horizontal alignments and margins is mirrored. @author Paulo Soares (psoares@consiste.pt)

DefaultSplitCharacter

The default class that is used to determine whether or not a character is a split character. You can subclass this class to define your own split characters. @since 2.1.2

DocumentFont
ExtendedColor

@author Paulo Soares (psoares@consiste.pt)

FdfReader

Reads an FDF form and makes the fields available @author Paulo Soares (psoares@consiste.pt)

FdfWriter

Writes an FDF form. @author Paulo Soares (psoares@consiste.pt)

FontDetails

Each font in the document will have an instance of this class where the characters used will be represented. @author Paulo Soares (psoares@consiste.pt)

FontSelector

Selects the appropriate fonts that contain the glyphs needed to render text correctly. The fonts are checked in order until the character is found. The built in fonts "Symbol" and "ZapfDingbats", if used, have a special encoding to allow the characters to be referred by Unicode. @author Paulo Soares (psoares@consiste.pt)

GlyphList
GrayColor

@author Paulo Soares (psoares@consiste.pt)

HyphenationAuto

Hyphenates words automatically accordingly to the language and country. The hyphenator engine was taken from FOP and uses the TEX patterns. If a language is not provided and a TEX pattern for it exists, it can be easily adapted. @author Paulo Soares (psoares@consiste.pt)

IccProfile

Summary description for ICC_Profile.

LzwDecoder

A class for performing LZW decoding.

MultiColumnText

Formats content into one or more columns bounded by a rectangle. The columns may be simple rectangles or more complicated shapes. Add all of the columns before adding content. Column continuation is supported. A MultiColumnText object may be added to a document using Document.add . @author Steve Appling

OcspClientBouncyCastle

OcspClient implementation using BouncyCastle. @author psoares @since 2.1.6

OutputStreamCounter
OutputStreamEncryption
PageResources
PatternColor

Represents a pattern. Can be used in high-level constructs (Paragraph, Cell, etc.).

PdfAcroForm

Each PDF document can contain maximum 1 AcroForm.

PdfAction

A PdfAction defines an action that can be triggered from a PDF file. @see PdfDictionary

PdfAnnotation

A PdfAnnotation is a note that is associated with a page. @see PdfDictionary

PdfAnnotation.PdfImportedLink

This class processes links from imported pages so that they may be active. The following example code reads a group of files and places them all on the output PDF, four pages in a single page, keeping the links active. String[] files = new String[] {"input1.pdf", "input2.pdf"}; String outputFile = "output.pdf"; int firstPage=1; Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileOutputStream(outputFile)); document.SetPageSize(PageSize.A4); float W = PageSize.A4.GetWidth() / 2; float H = PageSize.A4.GetHeight() / 2; document.Open(); PdfContentByte cb = writer.GetDirectContent(); for (int i = 0; i < files.length; i++) { PdfReader currentReader = new PdfReader(files[i]); currentReader.ConsolidateNamedDestinations(); for (int page = 1; page <= currentReader.GetNumberOfPages(); page++) { PdfImportedPage importedPage = writer.GetImportedPage(currentReader, page); float a = 0.5f; float e = (page % 2 == 0) ? W : 0; float f = (page % 4 == 1 || page % 4 == 2) ? H : 0; ArrayList links = currentReader.GetLinks(page); cb.AddTemplate(importedPage, a, 0, 0, a, e, f); for (int j = 0; j < links.Size(); j++) { PdfAnnotation.PdfImportedLink link = (PdfAnnotation.PdfImportedLink)links.Get(j); if (link.IsInternal()) { int dPage = link.GetDestinationPage(); int newDestPage = (dPage-1)/4 + firstPage; float ee = (dPage % 2 == 0) ? W : 0; float ff = (dPage % 4 == 1 || dPage % 4 == 2) ? H : 0; link.SetDestinationPage(newDestPage); link.TransformDestination(a, 0, 0, a, ee, ff); } link.TransformRect(a, 0, 0, a, e, f); writer.AddAnnotation(link.CreateAnnotation(writer)); } if (page % 4 == 0) document.NewPage(); } if (i < files.length - 1) document.NewPage(); firstPage += (currentReader.GetNumberOfPages()+3)/4; } document.Close();

PdfAppearance

Implements the appearance stream to be used with form fields..

PdfArray

PdfArray is the PDF Array object. An array is a sequence of PDF objects. An array may contain a mixture of object types. An array is written as a left square bracket ([), followed by a sequence of objects, followed by a right square bracket (]). This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.6 (page 40). @see PdfObject

PdfBoolean

PdfBoolean is the bool object represented by the keywords true or false. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.2 (page 37). @see PdfObject @see BadPdfFormatException

PdfBorderArray

A PdfBorderArray defines the border of a PdfAnnotation . @see PdfArray

PdfBorderDictionary

A PdfBorderDictionary define the appearance of a Border (Annotations). @see PdfDictionary

PdfCell

A PdfCell is the PDF translation of a Cell . A PdfCell is an ArrayList of PdfLine s. @see iTextSharp.text.Rectangle @see iTextSharp.text.Cell @see PdfLine @see PdfTable

PdfChunk

A PdfChunk is the PDF translation of a Chunk . A PdfChunk is a PdfString in a certain PdfFont and Color . @see PdfString @see PdfFont @see iTextSharp.text.Chunk @see iTextSharp.text.Font

PdfContentByte

PdfContentByte is an object containing the user positioned text and graphic contents of a page. It knows how to apply the proper font encoding.

PdfContentByte.GraphicState

This class keeps the graphic state of the current page

PdfContentParser

Parses the page or template content. @author Paulo Soares (psoares@consiste.pt)

PdfContents

PdfContents is a PdfStream containing the contents (text + graphics) of a PdfPage .

PdfCopy

Make copies of PDF documents. Documents can be edited after reading and before writing them out. @author Mark Thompson

PdfCopy.IndirectReferences

This class holds information about indirect references, since they are renumbered by iText.

PdfCopy.PageStamp
PdfCopy.RefKey

A key to allow us to hash indirect references

PdfCopy.StampContent
PdfCopyFields

Concatenates PDF documents including form fields. The rules for the form field concatenation are the same as in Acrobat. All the documents are kept in memory unlike PdfCopy. @author Paulo Soares (psoares@consiste.pt)

PdfCopyForms

Allows you to add one (or more) existing PDF document(s) to create a new PDF and add the form of another PDF document to this new PDF. @since 2.1.5

PdfDashPattern

A PdfDashPattern defines a dash pattern as described in the PDF Reference Manual version 1.3 p 325 (section 8.4.3). @see PdfArray

PdfDate

PdfDate is the PDF date object. PDF defines a standard date format. The PDF date format closely follows the format defined by the international standard ASN.1 (Abstract Syntax Notation One, defined in CCITT X.208 or ISO/IEC 8824). A date is a PdfString of the form: (D:YYYYMMDDHHmmSSOHH'mm') This object is described in the 'Portable Document Format Reference Manual version 1.3' section 7.2 (page 183-184) @see PdfString @see java.util.GregorianCalendar

PdfDestination

A PdfColor defines a Color (it's a PdfArray containing 3 values). @see PdfDictionary

PdfDeveloperExtension

Beginning with BaseVersion 1.7, the extensions dictionary lets developers designate that a given document contains extensions to PDF. The presence of the extension dictionary in a document indicates that it may contain developer-specific PDF properties that extend a particular base version of the PDF specification. The extensions dictionary enables developers to identify their own extensions relative to a base version of PDF. Additionally, the convention identifies extension levels relative to that base version. The intent of this dictionary is to enable developers of PDF-producing applications to identify company-specific specifications (such as this one) that PDF-consuming applications use to interpret the extensions. @since 2.1.6

PdfDictionary

PdfDictionary is the Pdf dictionary object. A dictionary is an associative table containing pairs of objects. The first element of each pair is called the key and the second element is called the value. Unlike dictionaries in the PostScript language, a key must be a PdfName . A value can be any kind of PdfObject , including a dictionary. A dictionary is generally used to collect and tie together the attributes of a complex object, with each key-value pair specifying the name and value of an attribute. A dictionary is represented by two left angle brackets , followed by a sequence of key-value pairs, followed by two right angle brackets. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.7 (page 40-41). @see PdfObject @see PdfName @see BadPdfFormatException

PdfDocument

PdfDocument is the class that is used by PdfWriter to translate a Document into a PDF with different pages. A PdfDocument always listens to a Document and adds the Pdf representation of every Element that is added to the Document . @see com.lowagie.text.Document @see com.lowagie.text.DocListener @see PdfWriter

PdfDocument.Indentation

[L1] DocListener interface

PdfDocument.PdfInfo
PdfDocument.RenderingContext

[M4'] Adding a Table

PdfEFStream

Extends PdfStream and should be used to create Streams for Embedded Files (file attachments). @since 2.1.3

PdfEncodings

Supports fast encodings for winansi and PDFDocEncoding. @author Paulo Soares (psoares@consiste.pt)

PdfEncryption

@author Paulo Soares (psoares@consiste.pt) and some of it has been ported from https://github.com/LibrePDF/OpenPDF/pull/802

PdfEncryptor

This class takes any PDF and returns exactly the same but encrypted. All the content, links, outlines, etc, are kept. It is also possible to change the info dictionary.

PdfException

Signals that an unspecified problem while constructing a PDF document. @see BadPdfFormatException

PdfFileSpecification

Specifies a file or an URL. The file can be extern or embedded. @author Paulo Soares (psoares@consiste.pt)

PdfFont

PdfFont is the Pdf Font object. Limitation: in this class only base 14 Type 1 fonts (courier, courier bold, courier oblique, courier boldoblique, helvetica, helvetica bold, helvetica oblique, helvetica boldoblique, symbol, times roman, times bold, times italic, times bolditalic, zapfdingbats) and their standard encoding (standard, MacRoman, (MacExpert,) WinAnsi) are supported. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 7.7 (page 198-203). @see PdfName @see PdfDictionary @see BadPdfFormatException

PdfFormField

Implements form fields. @author Paulo Soares (psoares@consiste.pt)

PdfFormXObject

PdfFormObject is a type of XObject containing a template-object.

PdfFunction

Implements PDF functions. @author Paulo Soares (psoares@consiste.pt)

PdfGState

The graphic state dictionary. @author Paulo Soares (psoares@consiste.pt)

PdfIccBased

A PdfICCBased defines a ColorSpace @see PdfStream

PdfImage

PdfImage is a PdfStream containing an image- Dictionary and -stream.

PdfImportedPage

Represents an imported page. @author Paulo Soares (psoares@consiste.pt)

PdfIndirectObject

PdfIndirectObject is the Pdf indirect object. An indirect object is an object that has been labeled so that it can be referenced by other objects. Any type of PdfObject may be labeled as an indirect object. An indirect object consists of an object identifier, a direct object, and the endobj keyword. The object identifier consists of an integer object number, an integer generation number, and the obj keyword. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.10 (page 53). @see PdfObject @see PdfIndirectReference

PdfIndirectReference

PdfIndirectReference contains a reference to a PdfIndirectObject . Any object used as an element of an array or as a value in a dictionary may be specified by either a direct object of an indirect reference. An indirect reference is a reference to an indirect object, and consists of the indirect object's object number, generation number and the R keyword. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.11 (page 54). @see PdfObject @see PdfIndirectObject

PdfLayer

An optional content group is a dictionary representing a collection of graphics that can be made visible or invisible dynamically by users of viewer applications. In iText they are referenced as layers. @author Paulo Soares (psoares@consiste.pt)

PdfLayerMembership

Content typically belongs to a single optional content group, and is visible when the group is ON and invisible when it is OFF. To express more complex visibility policies, content should not declare itself to belong to an optional content group directly, but rather to an optional content membership dictionary represented by this class. @author Paulo Soares (psoares@consiste.pt)

PdfLine

PdfLine defines an array with PdfChunk -objects that fit into 1 line.

PdfLiteral

a Literal

PdfMediaClipData
PdfName

PdfName is an object that can be used as a name in a PDF-file. A name, like a string, is a sequence of characters. It must begin with a slash followed by a sequence of ASCII characters in the range 32 through 136 except %, (, ), [, ], <, >, {, }, / and #. Any character except 0x00 may be included in a name by writing its twocharacter hex code, preceded by #. The maximum number of characters in a name is 127. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.5 (page 39-40). @see PdfObject @see PdfDictionary @see BadPdfFormatException

PdfNameTree

Creates a name tree. @author Paulo Soares (psoares@consiste.pt)

PdfNull

PdfNull is the Null object represented by the keyword null. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.9 (page 53). @see PdfObject

PdfNumber

PdfNumber provides two types of numbers, int and real. ints may be specified by signed or unsigned constants. Reals may only be in decimal format. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.3 (page 37). @see PdfObject @see BadPdfFormatException

PdfNumberTree

Creates a number tree. @author Paulo Soares (psoares@consiste.pt)

PdfObject

PdfObject is the abstract baseclass of all PDF objects. PDF supports seven basic types of objects: bools, numbers, strings, names, arrays, dictionaries and streams. In addition, PDF provides a null object. Objects may be labeled so that they can be referred to by other objects. All these basic PDF objects are described in the 'Portable Document Format Reference Manual version 1.3' Chapter 4 (pages 37-54). @see PdfNull @see Pdfbool @see PdfNumber @see PdfString @see PdfName @see PdfArray @see PdfDictionary @see PdfStream @see PdfIndirectReference

PdfOcProperties
PdfOutline

PdfOutline is an object that represents a PDF outline entry. An outline allows a user to access views of a document by name. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 6.7 (page 104-106) @see PdfDictionary

PdfPCell

A cell in a PdfPTable.

PdfPRow

A row in a PdfPTable. @author Paulo Soares (psoares@consiste.pt)

PdfPTable

This is a table that can be put at an absolute position but can also be added to the document as the class Table . In the last case when crossing pages the table always break at full rows; if a row is bigger than the page it is dropped silently to avoid infinite loops. A PdfPTableEvent can be associated to the table to do custom drawing when the table is rendered. @author Paulo Soares (psoares@consiste.pt)

PdfPage

PdfPage is the PDF Page-object. A Page object is a dictionary whose keys describe a single page containing text, graphics, and images. A Page onjects is a leaf of the Pages tree. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 6.4 (page 73-81) @see PdfPageElement @see PdfPages

PdfPageEventHelper

Helps the use of PdfPageEvent by implementing all the interface methods. A class can extend PdfPageEventHelper and only implement the needed methods. @author Paulo Soares (psoares@consiste.pt)

PdfPageLabels

Page labels are used to identify each page visually on the screen or in print. @author Paulo Soares (psoares@consiste.pt)

PdfPageLabels.PdfPageLabelFormat
PdfPages

PdfPages is the PDF Pages-object. The Pages of a document are accessible through a tree of nodes known as the Pages tree. This tree defines the ordering of the pages in the document. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 6.3 (page 71-73) @see PdfPageElement @see PdfPage

PdfPattern

A PdfPattern defines a ColorSpace @see PdfStream

PdfPatternPainter

Implements the pattern.

PdfPkcs7

This class does all the processing related to signing and verifying a PKCS#7 signature. It's based in code found at org.bouncycastle.

PdfPkcs7.X509Name

a class that holds an X509 name

PdfPkcs7.X509NameTokenizer

class for breaking up an X500 Name into it's component tokens, ala java.util.StringTokenizer. We need this class as some of the lightweight Java environment don't support classes like StringTokenizer.

PdfPsxObject

Implements the PostScript XObject.

PdfPublicKeyRecipient
PdfPublicKeySecurityHandler

@author Aiken Sam (aikensam@ieee.org)

PdfReader

Reads a PDF document. @author Paulo Soares (psoares@consiste.pt) @author Kazuya Ujihara

PdfReader.PageRefs
PdfReader.SignaturesSorterComparator
PdfReader.XrefsSorterComparator
PdfReaderInstance

Instance of PdfReader in each output document. @author Paulo Soares (psoares@consiste.pt)

PdfRectangle

PdfRectangle is the PDF Rectangle object. Rectangles are used to describe locations on the page and bounding boxes for several objects in PDF, such as fonts. A rectangle is represented as an array of four numbers, specifying the lower lef x, lower left y, upper right x, and upper right y coordinates of the rectangle, in that order. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 7.1 (page 183). @see iTextSharp.text.Rectangle @see PdfArray

PdfRendition

A Rendition dictionary (pdf spec 1.5)

PdfResourceFileCache
PdfShading

Implements the shading dictionary (or stream). @author Paulo Soares (psoares@consiste.pt)

PdfShadingPattern

Implements the shading pattern dictionary. @author Paulo Soares (psoares@consiste.pt)

PdfSigGenericPkcs

A signature dictionary representation for the standard filters.

PdfSigGenericPkcs.PpkLite

Creates a standard filter of the type self signed.

PdfSigGenericPkcs.Ppkms

Creates a standard filter of the type Windows Certificate.

PdfSigGenericPkcs.VeriSign

Creates a standard filter of the type VeriSign.

PdfSignature

Implements the signature dictionary. @author Paulo Soares (psoares@consiste.pt)

PdfSignatureAppearance

This class takes care of the cryptographic options and appearances that form a signature.

PdfSignatureAppearance.FRangeStream
PdfSmartCopy

PdfSmartCopy has the same functionality as PdfCopy, but when resources (such as fonts, images,...) are encountered, a reference to these resources is saved in a cache, so that they can be reused. This requires more memory, but reduces the file size of the resulting PDF document.

PdfSpotColor

A PdfSpotColor defines a ColorSpace @see PdfDictionary

PdfStamper

Applies extra content to the pages of a PDF document. This extra content can be all the objects allowed in PdfContentByte including pages from other Pdfs. The original PDF will keep all the interactive elements including bookmarks, links and form fields. It is also possible to change the field values and to flatten them. New fields can be added but not flattened. @author Paulo Soares (psoares@consiste.pt)

PdfStamperImp
PdfStream

PdfStream is the Pdf stream object. A stream, like a string, is a sequence of characters. However, an application can read a small portion of a stream at a time, while a string must be read in its entirety. For this reason, objects with potentially large amounts of data, such as images and page descriptions, are represented as streams. A stream consists of a dictionary that describes a sequence of characters, followed by the keyword stream, followed by zero or more lines of characters, followed by the keyword endstream. All streams must be PdfIndirectObject s. The stream dictionary must be a direct object. The keyword stream that follows the stream dictionary should be followed by a carriage return and linefeed or just a linefeed. Remark: In this version only the FLATEDECODE-filter is supported. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.8 (page 41-53). @see PdfObject @see PdfDictionary

PdfString

A PdfString -class is the PDF-equivalent of a JAVA- string -object. A string is a sequence of characters delimited by parenthesis. If a string is too long to be conveniently placed on a single line, it may be split across multiple lines by using the backslash character () at the end of a line to indicate that the string continues on the following line. Within a string, the backslash character is used as an escape to specify unbalanced parenthesis, non-printing ASCII characters, and the backslash character itself. Use of the <I>ddd escape sequence is the preferred way to represent characters outside the printable ASCII character set. This object is described in the 'Portable Document Format Reference Manual version 1.3' section 4.4 (page 37-39). @see PdfObject @see BadPdfFormatException

PdfStructureElement

This is a node in a document logical structure. It may contain a mark point or it may contain other nodes. @author Paulo Soares (psoares@consiste.pt)

PdfStructureTreeRoot

The structure tree root corresponds to the highest hierarchy level in a tagged PDF. @author Paulo Soares (psoares@consiste.pt)

PdfTable

PdfTable is an object that contains the graphics and text of a table. @see iTextSharp.text.Table @see iTextSharp.text.Row @see iTextSharp.text.Cell @see PdfCell

PdfTemplate

Implements the form XObject.

PdfTextArray

PdfTextArray defines an array with displacements and PdfString -objects. A TextArray is used with the operator TJ in PdfText . The first object in this array has to be a PdfString ; see reference manual version 1.3 section 8.7.5, pages 346-347. OR see reference manual version 1.6 section 5.3.2, pages 378-379.

PdfTransition
PdfTransparencyGroup

The transparency group dictionary. @author Paulo Soares (psoares@consiste.pt)

PdfWriter

A DocWriter class for PDF. When this PdfWriter is added to a certain PdfDocument , the PDF representation of every Element added to this Document will be written to the outputstream.

PdfWriter.PdfBody

This class generates the structure of a PDF document. This class covers the third section of Chapter 5 in the 'Portable Document Format Reference Manual version 1.3' (page 55-60). It contains the body of a PDF document (section 5.14) and it can also generate a Cross-reference Table (section 5.15). @see PdfWriter @see PdfObject @see PdfIndirectObject

PdfXConformanceException

@author psoares

Pfm2Afm

Converts a PFM file into an AFM file.

PrAcroForm

This class captures an AcroForm on input. Basically, it extends Dictionary by indexing the fields of an AcroForm @author Mark Thompson

PrAcroForm.FieldInformation

This class holds the information for a single field

PrIndirectReference
PrStream
PrTokeniser

@author Paulo Soares (psoares@consiste.pt)

PushbuttonField

Creates a pushbutton field. It supports all the text and icon alignments. The icon may be an image or a template. Example usage: Document document = new Document(PageSize.A4, 50, 50, 50, 50); PdfWriter writer = PdfWriter.GetInstance(document, new FileOutputStream("output.pdf")); document.Open(); PdfContentByte cb = writer.GetDirectContent(); Image img = Image.GetInstance("image.png"); PushbuttonField bt = new PushbuttonField(writer, new Rectangle(100, 100, 200, 200), "Button1"); bt.SetText("My Caption"); bt.SetFontSize(0); bt.SetImage(img); bt.SetLayout(PushbuttonField.LAYOUT_ICON_TOP_LABEL_BOTTOM); bt.SetBackgroundColor(Color.cyan); bt.SetBorderStyle(PdfBorderDictionary.STYLE_SOLID); bt.SetBorderColor(Color.red); bt.SetBorderWidth(3); PdfFormField ff = bt.GetField(); PdfAction ac = PdfAction.CreateSubmitForm("http://www.submit-site.com", null, 0); ff.SetAction(ac); writer.AddAnnotation(ff); document.Close(); @author Paulo Soares (psoares@consiste.pt)

RadioCheckField

Creates a radio or a check field. Example usage: Document document = new Document(PageSize.A4, 50, 50, 50, 50); PdfWriter writer = PdfWriter.GetInstance(document, new FileOutputStream("output.pdf")); document.Open(); PdfContentByte cb = writer.GetDirectContent(); RadioCheckField bt = new RadioCheckField(writer, new Rectangle(100, 100, 200, 200), "radio", "v1"); bt.SetCheckType(RadioCheckField.TYPE_CIRCLE); bt.SetBackgroundColor(Color.CYAN); bt.SetBorderStyle(PdfBorderDictionary.STYLE_SOLID); bt.SetBorderColor(Color.red); bt.SetTextColor(Color.yellow); bt.SetBorderWidth(BaseField.BORDER_WIDTH_THICK); bt.SetChecked(false); PdfFormField f1 = bt.GetRadioField(); bt.SetOnValue("v2"); bt.SetChecked(true); bt.SetBox(new Rectangle(100, 300, 200, 400)); PdfFormField f2 = bt.GetRadioField(); bt.SetChecked(false); PdfFormField top = bt.GetRadioGroup(true, false); bt.SetOnValue("v3"); bt.SetBox(new Rectangle(100, 500, 200, 600)); PdfFormField f3 = bt.GetRadioField(); top.AddKid(f1); top.AddKid(f2); top.AddKid(f3); writer.AddAnnotation(top); bt = new RadioCheckField(writer, new Rectangle(300, 300, 400, 400), "check1", "Yes"); bt.SetCheckType(RadioCheckField.TYPE_CHECK); bt.SetBorderWidth(BaseField.BORDER_WIDTH_THIN); bt.SetBorderColor(Color.black); bt.SetBackgroundColor(Color.white); PdfFormField ck = bt.GetCheckField(); writer.AddAnnotation(ck); document.Close(); @author Paulo Soares (psoares@consiste.pt)

RandomAccessFileOrArray

An implementation of a RandomAccessFile for input only that accepts a file or a byte array as data source. @author Paulo Soares (psoares@consiste.pt)

SequenceList

This class expands a string into a list of numbers. The main use is to select a range of pages. The general systax is: [!][o][odd][e][even]start-end You can have multiple ranges separated by commas ','. The '!' modifier removes the range from what is already selected. The range changes are incremental, that is, numbers are added or deleted as the range appears. The start or the end, but not both, can be ommited.

ShadingColor

Implements a shading pattern as a Color . @author Paulo Soares (psoares@consiste.pt)

SimpleBookmark

Bookmark processing in a simple way. It has some limitations, mainly the only action types supported are GoTo, GoToR, URI and Launch. The list structure is composed by a number of Hashtable, keyed by strings, one Hashtable for each bookmark. The element values are all strings with the exception of the key "Kids" that has another list for the child bookmarks. All the bookmarks have a "Title" with the bookmark title and optionally a "Style" that can be "bold", "italic" or a combination of both. They can also have a "Color" key with a value of three floats separated by spaces. The key "Open" can have the values "true" or "false" and signals the open status of the children. It's "true" by default. The actions and the parameters can be: "Action" = "GoTo" - "Page" | "Named" "Page" = "3 XYZ 70 400 null" - page number followed by a destination (/XYZ is also accepted) "Named" = "named_destination" "Action" = "GoToR" - "Page" | "Named" | "NamedN", "File", ["NewWindow"] "Page" = "3 XYZ 70 400 null" - page number followed by a destination (/XYZ is also accepted) "Named" = "named_destination_as_a_string" "NamedN" = "named_destination_as_a_name" "File" - "the_file_to_open" "NewWindow" - "true" or "false" "Action" = "URI" - "URI" "URI" = "http://sf.net" - URI to jump to "Action" = "Launch" - "File" "File" - "the_file_to_open_or_execute" @author Paulo Soares (psoares@consiste.pt)

SimpleNamedDestination

@author Paulo Soares (psoares@consiste.pt)

SpotColor

@author psoares

StampContent
TextField

Supports text, combo and list fields generating the correct appearances. All the option in the Acrobat GUI are supported in an easy to use API. @author Paulo Soares (psoares@consiste.pt)

TsaClientBouncyCastle

Time Stamp Authority Client interface implementation using Bouncy Castle org.bouncycastle.tsp package. Created by Aiken Sam, 2006-11-15, refactored by Martin Brunecky, 07/15/2007 for ease of subclassing. @since 2.1.6

Type3Font

A class to support Type3 fonts.

Type3Glyph

The content where Type3 glyphs are written to.

VerticalText

Writes text vertically. Note that the naming is done according to horizontal text although it referrs to vertical text. A line with the alignment Element.LEFT_ALIGN will actually be top aligned.

XfaForm

Processes XFA forms. @author Paulo Soares (psoares@consiste.pt)

XfaForm.AcroFieldsSearch

A class to process "classic" fields.

XfaForm.InverseStore

A structure to store each part of a SOM name and link it to the next part beginning from the lower hierarchie.

XfaForm.Stack2<T>

Another stack implementation. The main use is to facilitate the porting to other languages.

XfaForm.Xml2Som

A class for some basic SOM processing.

XfaForm.Xml2SomDatasets

Processes the datasets section in the XFA form.

XfaForm.Xml2SomTemplate

Processes the template section in the XFA form.

XfdfReader

Reads a XFDF. @author Leonard Rosenthol (leonardr@pdfsages.com)

Interfaces

IExtraEncoding

Classes implementing this interface can create custom encodings or replace existing ones. It is used in the context of PdfEncoding . @author Paulo Soares (psoares@consiste.pt)

IHyphenationEvent

Called by Chunk to hyphenate a word. @author Paulo Soares (psoares@consiste.pt)

IOcspClient

Interface for the OCSP Client. @since 2.1.6

IPdfOcg

The interface common to all layer types. @author Paulo Soares (psoares@consiste.pt)

IPdfPCellEvent

Summary description for IPdfPCellEvent.

IPdfPTableEvent

An interface that can be used to retrieve the position of cells in PdfPTable . @author Paulo Soares (psoares@consiste.pt)

IPdfPageEvent

Allows a class to catch several document events. @author Paulo Soares (psoares@consiste.pt)

ITsaClient

Time Stamp Authority client (caller) interface. Interface used by the PdfPKCS7 digital signature builder to call Time Stamp Authority providing RFC 3161 compliant time stamp token. @author Martin Brunecky, 07/17/2007 @since 2.1.6

PdfSignatureAppearance.ISignatureEvent

An interface to retrieve the signature dictionary for modification.

Enums

PdfSignatureAppearance.SignatureRender

Enumeration representing the different rendering options of a signature