iText 1.3.0 - iText 1.3.7


iText 1.3.0 (April 6, 2005)

  • Rearranged the tutorial and completed the first four parts (except for some less important chapters)
  • Added a Toolbox Java WebStart application with tools to encrypt PDF, make DVD Covers, convert txt to pdf,...
  • Support for margins in XML Handler by Reza Nasiri
  • New class com.lowagie.tools.Executable by Roger Mistelli and Bruno Lowagie
  • MultiColumnText: endless loop fix by Steve Appling; Right to Left Columns by Bruno Lowagie
  • Added some LINE_JOIN constants to PdfContentByte

iText 1.3.1 (May 11, 2005)

  • Changes made on top of version itext-paulo-154
    • fixed a pagenumber problem in PdfStamper
    • applied a bugfix by Paulo regarding backgrounds covering strikethroughs in Chunks
    • Some new tools for the Toolbox
    • Experimenting with Table: convert com.lowagie.text.Table to com.lowagie.text.pdf.PdfPTable or use new classes SimpleTable and SimpleCell?
    • Fixed a border bug when TableCells span multiple pages.
    • Started writing a new parser that is able to read CSS markup (not yet finished!!!).
    • Mark Horsfield suggested a change to the PageSize object: he needed a map with all the pagesizes and their description. I didn't use the code contribution, but made a PageSizeArgument that can be used to obtain such a map.
    • fixed bug #786427: endless loop adding table with cell longer than 1 page
    • bugfix in class Table by Peter Hodgkinson (dangerous float comparison)
  • Early Access release by Paulo Soares (itext-paulo-154)
    • CCITTG4Encoder.java has a bug somewhere that for some patterns causes an out of memory exception. The bug is not corrected but an exception is thrown early on and the JVM is not brought down.
    • revised hyphenation. The XML FOP hyphenation patterns are now used directly. I've included all the patterns in itext-hyph-xml.jar but some of them may be GPL or not usable for commercial purposes so, read the licenses and decide what to keep.
    • added a new constructor PdfReader(RandomAccessFileOrArray raf, byte ownerPassword[]). Contrary to the other constructors only the xref is read into memory. The reader is said to be working in "partial" mode as only parts of the pdf are read as needed. The memory needs can be tiny.
    • fixed a bug in ColumnText with columns with zero width.
    • added simple background image support in signatures. There was a contribution by Cesar jz for this but the implemented solution is more generic and puts the image in the n2 layer instead of the n0 layer as recommended for Acrobat 6 and later.
    • added print scaling, a new viewer preference, in PdfWriter.
    • added a workaround for symbolic true type fonts that have incorrect cmaps.
  • updates to the RTF package by Mark Hall
    • Bugfix in the RTF row handling code
    • Support for the background colour in the Chunk
    • Support for additional font styles in RtfFont. This includes support for text hiding.

iText 1.3.2 (July 29, 2005)

  • Changes made by Paulo:
    • Annotations in Image now work everywhere
    • PdfContentByte.addImage() didn't respect layers
    • PdfContentByte.addImage() draws the borders
    • Dpi fix in BmpImage
    • Support for inline images (all colorspaces)
    • Better CCITTG4Encoder
    • Support for TIFF images rotated
    • Support for some jpeg tiff images. Very incomplete.
    • Fix in List: float parsing instead of int parsing
    • Fix in checkboxes with the same name but different appearances
    • Codabar fix, B and C were switched
    • Make Arabic Diactrics (tashkeel) have zero advance
    • Added support for Type3 fonts
    • Signature fields can't be exported
    • Signing empty fields didn't keep the flags
    • Self sign doesn't need to extend size
    • Fix for DSA signatures
    • MultiColumnText page position didn't update after page 1
    • PdfCopyFields: fix for PDFs with null elements in the /CO array
    • PdfFormField.setFieldName() is only set if not null
    • Password field and choice field fix
    • PdfDictionary: CRLF correction
    • Embedded files: set the length information
    • Fix in constructor PdfReader(PdfReader)
    • Workaround for pdfs with broken bookmark dictionary
    • Daylight Savings Time is taken into account when creating a date
    • Waiting Image in the last page was not placed
  • Changes made by Mark:
    • Bugfixes in the RtfList to correctly handle indentations, nesting > 2.
    • Bugfixes in the RtfFont so that it can be used like a true Font and also so that UNDEFINED properties are handled more cleanly.
    • Bugfixes in the RtfAnchor to use the Anchor.reference instead of the url Method.
    • Bugfixes in the RtfTable to match the PDF output more precisely.
    • New Class RtfTotalPageNumber.
    • The user can set whether soft or hard linebreaks should be generated for "\n".
  • Changes made by Bruno:
    • Made the method getVersion final so that it can't be changed by subclassing
    • Applied suggestions made in bugreport #1227749 concerning JDK 1.3 compatibility
    • Avoiding NullPointerExceptions in Phrase (not sure if this is a good thing)
    • Changed spacing in SimpleTable/SimpleCell classes
    • Added the UserUnit entry to the PdfPage dictionary. A user unit is 1/72 inch by default, but you can now change it from 1 to 75,000
    • Added Watermarker plugin (Carsten Hammer)
    • Txt2Pdf: implemented suggestion by Carsten Hammer

iText 1.3.3 (August 8, 2005)

  • Changes made by Paulo:
    • com.lowagie.text.Image: scaledToFit() didn 't take rotation into account
    • MultiColumnText didn't respect mirrored margins
    • Waiting image in the last page was not being placed
    • PdfStamper supports encryption in append mode
    • PdfGraphics2D: some attempts to fix the 'very small font' scaling problem
    • PdfReader.selectPages() is working again.
    • RandomAccessFileOrArray.InputStreamToArray() was made public.
  • Changes made by Mark:
    • Table width bugfix
    • Set the topLevelElement for RtfImages added directly to the document
    • Fixed a bug with undefined styles in RTF
    • Added empty line between images in RTF
    • RtfImage: Corrected the scaling to mimick the pdf more precisely. If added directly to the document includes a finishing new-line
    • Added a switch to enable/disable unicode generation (RTF)
    • When filtering characters the alwaysUseUnicode switch in the RtfDocumentSettings is now observed.
    • Added methods to update the indentations in RtfParagraph
    • Correctly handle the indentation properties of Chapters and Sections. Improved match between pdf and rtf output.
  • Changes made by Bruno:
    • bugfix: initialrotation wasn 't copied in the copy constructor of com.lowagie.text.Image
    • Made the toString() of class com.lowagie.text.Rectangle more verbose
    • Added a class com.lowagie.text.markup.WebColors
    • Added some methods to MultiColumnText for arabic and RTL text.
    • When using a MultiColumnText with only 1 column, the currentY of the PdfDocument is no longer the total available width (triggering a new page every time a ColumnText is added), but it is changed according to the space used by the MultiColumnText. In other words: you can now use MultiColumnText as if it was a Paragraph object (which is handy if you need R2L or BiDi).
    • Added a static method to PdfEncryptor, to get a verbose explanation of the permissions
    • Bugfix: PageModeUseOC and PrintScalingNone had the same value.
    • The PDF version is set to 1.6 automatically when the userunit is changed
    • Changes in the Toolbox: It now contains an About MenuItem that points to a page explaining the tools. The tools are now in different categories.
    • As suggested by Carsten Hammer: 'Help 'is moved to the right; new internal windows are shown with an offset and have setSelected(true).
    • Burst-tool: SinglePages was renamed to Burst; the new PDF-filenames now get leading zeros in the sequence number, so that they are in the right order when sorted alphabetically.
    • New HtmlBookmarks tool that allows you to generate an HTML with links to the bookmarked pages of a PDF
    • New InspectPdf tool: tool that gives you some info about a PDF.
    • New tool to make a PhotoAlbum PDF with all the images of a given directory
    • New tool to copy selected pages of an existing PDF file into a new one
    • Added a CvsLogParser to help me make the history.html file for every new release

iText 1.3.4 (September 22, 2005)

  • Changes made by Paulo:
    • added adjustable margins to text fields to better mimic Acrobat 's layout
    • added PdfWriter.releaseTemplate() to free resources before close()
    • added support for macro PDF417 (contribution by Matthias Germann)
    • PdfCopy: beads are removed from pages to avoid dragging unnecessary objects
    • PdfGraphics2D: the underline was in the wrong place (mirrored)
    • Added support for flattening free text annotations
    • Flattening all fields didn 't clear the acroform field array
    • PdfStamper: extra null check
    • RandomAccessFileOrArray: a file stream was not being closed
    • OTF fonts didn 't have the subset prefix
  • Changes made by Mark:
    • Observe the value of closeStream in the DocWriter.
    • Dereference the RtfDocument structure when closing the document (speed up release of memory)
    • Added ability to get last element added (needed in RtfChapter)
    • Only write a new page if the RtfChapter is not the first element added and the last element added was also not a RtfChapter.
    • Fonts are now supported in rtf fields.
    • Fixed a bug where headers /footers were not being displayed on all required pages in certain situations.
    • Fixed a bug where footers were being set as headers
    • The alignment is now correctly set if the RtfHeaderFooter is constructed with a Paragraph/Table/Image.
  • Changes made by Bruno:
    • RandomAccessFileOrArray: allow full read of file when constructing a RandomAccessFileOrArray
    • Adding Images to a SimpleCell is now allowed
    • Special PageEvents implementation that allows you to build an index (contribution by Michael Niedermair)
    • Code for chapters /sections that are automatically numbered (contribution by Michael Niedermair)
    • It is now possible to add a PdfPTable to a Phrase (contribution by mr. Karen Vardanyan)
    • Adding Images to a SimpleCell is now allowed
    • Added a method to set the default alignment of the MultiColumnText
    • Automatic XMP generation after setting the Metadata
    • Added XMP support to PdfStamper
    • Fix posted to itextsharp site concerning automatic splitting of large tables
    • Verbose representation of Permissions was wrong for Degraded Printing
    • Selecting odd and even in SelectPages is now allowed without adding a page range
    • list with the (versions of the) plugins in the Toolbox (+ other contributions by Carsten Hammer)
    • Removed PRAcroForm from concatenation tool in the Toolbox
    • Bugfix in the Burst plugin regarding the numbering of the bursted files
    • Bugfix in the Encrypt tool; Added a decrypt plugin
    • When generating an index.html with bookmarks of a PDF file, you can now enter a link to a CSS file
    • Added an N-up tool (to copy N pages of an existing document on 1 page; with N = 2, 4, 8, 16...)

iText 1.3.5 (October 20, 2005)

Based on paulo-155
  • Changes made by Paulo:
    • FontFactory: case insensitive font search and a much better font family pairing
    • TrueTypeFontUnicode: Identity-H fonts with subset==false will include all the font
    • PdfReader: files with /Content null could be problematic; wrong assumption that trailer was followed by \n
    • Image: method skip didn 't check EOF; Image.toUrl() didn 't escape the filename chars
    • AcroFields: lists couldn 't be set by the export value
    • ColumnText: fixed the image alignment in method addElement
    • Made it possible to create an empty PdfAnnotation
    • Basic support for Tagged PDFs; the high level objects don't generate tags yet, but it's possible to create a fully legal tagged PDF using PdfContentByte.
    • SimpleBookmark: method made public
  • Changes made by Mark:
    • Fixed a bug where style and colour were not being set if the fontname was unknown; two RtfFonts equality now ignores style and colour attributes.
  • Changes made by Bruno:
    • Changes in ChapterAutoNumber and Section. Deleted SectionAutoNumber as it seems to be redundant
    • Chunk: added the toString method as asked by G.Ralph Kuntz
    • List: added some extra constant values that can be used as parameter when creating a List
    • Added a FieldPositioningEvents class; this is a PdfPageEvents/PdfPCellEvent implementation that allows you to add PdfFormFields with onGenericChunk or cellLayout.
    • Added an EventForwarder and moved 2 relatively new event classes to a separate package.
    • Bugfix Christopher MacKenzie: when used in Append mode PdfStamper didn 't add the XMP metadata properly
    • iText toolbox: added a LabelAccessory that tells you more about the selected PDF file in the FileChooser (by Anonymous); also updated comments for several plug-ins.
    • iText toolbox: new plug-in that searches for Launch actions in a PDF and replaces them with a Javascript Alert.
    • iText toolbox: added a ReversePages tool (by Anonymous)

iText 1.3.6 (December 12, 2005)

  • Changes made by Paulo
    • Uploaded the code clean up by Xavier Le Vourch
    • Some simplifications in PdfReader
    • Support to reuse images from existing docs
    • Added footer support for PdfPTable
    • Special fit to page in PdfPTable
    • A PdfOutline constructor couldn't close the outlines
    • A call to dispose() was missing in MetaDoPS
    • Fix to WMF files
    • SimpleTable didn't copy the horizontal alignment
    • Integer parsing simplification in class PRTokeniser
    • TIFF images with filenames with spaces didn't work
    • New constructor for ImgPostScript
    • corrected the name setcmykcolor (PS)
    • improvements to HTMLWorker
    • AcroFields: new lists in list and combo fields can be set
    • AcroFields: changed setFields() to iterate from the source (not a bug just better logic)
    • Better CJK Field support in DocumentFont
    • PdfContentByte.showTextAligned() supports char spacing, word spacing and horizontal scaling (Federico Scala)
    • PdfGraphics2D: added support for setting the color in text attributes
    • Added a constant for XFA to PdfName
    • added PdfReader.getStreamBytesRaw() to get the bytes without any filtering
    • added a Chunk copy constructor
    • changed Rectangle gray fill processing to just depend on the background color: Rectangle, Table, ColumnText,...
    • changed the way variable borders are rendered to have a better viewer display at low zoom
    • fixed double background writes in PdfPTable
    • in nested PdfPTables the inner cell background overlayed the outer cell borders
    • Zero width nested tables threw an exception
    • PdfReader.killIndirect() was made public
  • Changes made by Bruno
    • Major Table bugfix by Karsten Klein + extra fix by me. This solves the CellsFitPage functionality and produces a better layout if the cells are split.
    • Added toString methods for the internal PDF objects
    • added well known places on each OS X system for registerDirectories of the FontFactory
    • bugfix: if you passed an alias with capitals, you could never call it with getFont
    • Fix in the GreekList
    • Bordercolors weren't correct if useVariableBorders was set manually in class Rectangle.
    • You can now add multiple events to the same PdfWriter, PdfPTable and PdfPCell
    • Choosing a BaseFont for SAXiTextHandler (suggestions made by Ralf Hauser)
    • Replace HashMap by Map in XmpWriter
    • ColumnText: added a convenience method to check the status and a start value for the column status
    • ColumnText allows SimpleTable
    • New plug-in to view the internal structure of a PDF (by Anonymous)
    • When opening the toolbox, the frame is centered on the screen (by Anonymous)
    • Extra info about iText version, Java version and OS in the Toolbox (by Anonymous)
    • Toolbox System.out and System.err redirected to another window
    • LPRClient submitted by Anonymous
    • New tool to extract attachments by Anonymous
    • The PdfFilter didn 't accept .Pdf or .PDF files, only .pdf
    • PdfCopy bugfix by John Englar
  • Changes made by Mark
    • Fixed a bug where an additional paragraph was added on new pages.
    • For BMP images the scaled height/width is always written. Otherwise the image is displayed with the wrong size.

iText 1.3.7 (March 3, 2006)

  • Changes made by Paulo
    • Basic Building Blocks
      • Added support for cell rotation in PdfPCell
      • Better list symbol printing
    • AcroForms
      • AcroFields: removed the /I key when setting a field
      • RadioCheckField: uppercase Color constants converted to lowercase
      • PushbuttonField.getAppearance ()was made public
      • Added support for Unicode fields. This includes Arabic and Hebrew and will work in localized Acrobat 6.0 and in Acrobat 7.0 with font substitutions.
      • Allowed signatures with dots in the name.
    • Fonts
      • Added FontFactoryImp. Does the same as FontFactory but it 's not static
      • FontSelector: small optimization
    • Graphics/Images
      • GrayColor: added constants for white and black
      • BufferedImageOp in drawImage() is optional
      • Hack for tiff images with missing StripByteCounts tag
      • g2 text changed to be compatible with osx
      • ImageFilter class Toolbox: image extensions can also be upper case
      • Changed the way variable borders are rendered to have a better viewer display at low zoom
    • Barcodes
      • 1D Barcodes: added alternative text
      • PDF417 barcodes: added the option to force all binary encoding in BarcodePDF417
    • Simple HTML Parser
      • Option to use a local FontFactoryImp
      • IncTable/IncCell: public fields changed to private
    • ByteBuffer: added an option to generate high precision floating point numbers
    • Added a new class: PdfContentParser
    • PdfReader.killIndirect() was made public
    • Fix for empty /AP /N when flattening
    • extra check to prevent the use PdfWriter.getDirectContent() and PdfWriter.getDirectContentUnder() from PdfStamper
    • Versions Toolbox: removed HeaderlessException
  • Changes made by Mark
    • deprecation of RtfWriter, including the old classes: RtfFont, RtfField, GenericRtfField, AbstractRtfField, RtfTable, RtfCell, RtfRow, RtfTableCell, RtfPageNumber, RtfHeadersFooters, RtfTOC, RtfTOCEntry
    • RtfParagraph: refactored all settings into the rtf.style.RtfParagraphStyle object
    • RtfParagraphStyle: Style name was not being set, Uppercase Color constants converted to lowercase
    • Added a default constructor to RtfPhrase.
    • RtfPhrase In table constant now public
    • Lists in a cell are now handled correctly.
    • Support for the stylesheet in RTF
    • RtfFont: null fonts are now handled more gracefully
    • RtfFont: added a number of get/set method
  • Changes made by Bruno
    • Image: two new constructors that allow you to convert any java.awt.Image to a JPG
    • Phrase: Added a methods that allows you to get a String based on the content of all the chunks in the phrase.
    • Solved a problem GrayFill and Table
    • Some extra methods concerning page boundaries
    • Added PageModeUseAttachments to the viewer preferences.
    • Added two new PageLayout preferences (PDF 1.5):TwoPageLeft and TwoPageRight
    • FieldpositioningEvents: Create Fields that are kids of a parent field
    • FieldpositioningEvents: Added a value to define the padding between form fields and cells
    • iText Toolbox changes
      • ExtractAttachments plug-in: bugfixes Eberhard Schulte
      • Treeview plug-in: bugfixes and a simplification in the LabelAccessory
      • Two extra bookmarks plug-ins by Hans-Werner Hilse
      • PhotoAlbum plug-in: labels don 't show the image type anymore