- IMPORTANT: Support for font subsetting was added by default to reduce the size of documents using large unicode font files.
If you embed the whole font in the PDF, the person on the other end can make changes to it even if he didn't have your font.
If you subset the font, file size of the PDF will be smaller but the person who receives your PDF would need to have your same font in order to make changes to your PDF.
- The signature of the SetFont() and AddFont() methods were changed to include the font subsetting option (subsetting is applied by default).
- A problem on color and style of HTML links was fixed.
- A bug relative to gradients was fixed.
- The getStringHeight() method was added and getNumLines() method was improved.
- All examples were updated.
5.0.013 (2010-05-19)
- A bug related to page-breaks and table cells was fixed.
5.0.012 (2010-05-19)
- Page orientation bug was fixed.
- The access to method setPageFormat() was changed to 'protected' because it is not intended to be directly called.
5.0.011 (2010-05-19)
- Page orientation bug was fixed.
- Bug #3003966 "Multiple columns and nested lists" was fixed.
5.0.010 (2010-05-17)
- The methods setPageFormat(), setPageOrientation() and related methods were extended to include page boxes, page rotations and page transitions.
- The method setPageBoxes() was added to set page boundaries (MediaBox, CropBox, BleedBox, TrimBox, ArtBox);
- A bug relative to underline, overline and linethrough was fixed.
5.0.009 (2010-05-16)
- Bug #3002381 "Multiple columns and nested lists" was fixed.
5.0.008 (2010-05-15)
- Bug "Columns WriteHTML and Justification" was fixed.
5.0.007 (2010-05-14)
- Bug #3001347 "Bug when using WriteHTML with setEqualColumns()" was fixed.
- Bug #3001505 "problem with sup and sub tags at the beginning of a line" was fixed.
5.0.006 (2010-05-13)
- Length of hr tag was fixed.
- An error on 2d barcode method was fixed.
5.0.005 (2010-05-12)
- WARNING: The logic of permissions on the SetProtection() method has been inverted and extended (see example 16). Now you have to specify the features you want to block.
- SetProtection() method was extended to support RSA and AES 128 encryption and public-keys (see example 16).
- Bug #2999489 "setEqualColumns() and TOC uses wrong columns" was fixed (see the example 10).
5.0.004 (2010-05-10)
- HTML line alignment when using sub and sup tags was fixed.
5.0.003 (2010-05-07)
- Horizontal alignment was fixed for images and barcodes. Now the X coordinate is always relative to the left margin. Use GetAbsX() instead of GetX() to get the X relative to left margin.
- Header() method was changed to account for new image alignment rules.
5.0.002 (2010-05-06)
- Bookmark() and related methods were fixed to accept HTML code.
- A problem on HTML links was fixed.
5.0.001 (2010-05-06)
- Protected method _putstream was re-added for backward compatibility.
- The following method were added to display HTML Table Of Content (see example n. 59):
addTOCPage(), endTOCPage(), addHTMLTOC().
5.0.000 (2010-05-05)
- Method ImageSVG() was added to embedd SVG images (see example n. 58). Note that not all SVG images are supported.
- Method setRasterizeVectorImages() was added to enable/disable rasterization for vector images via ImageMagick library.
- Method RoundedRectXY() was added.
- Method PieSectorXY() was added.
- Gradient() method is now public and support new features.
- Shading to transparency is now supported.
- Image alignments were fixed.
- Support for dynamic images were improved.
- PDF_IMAGE_SCALE_RATIO has been changed to 1.25 for better compatibility with SVG.
- RAW and RAW2 modes were added to 2D Barcodes (see example n. 50).
- Automatic padding feature was added on barcodes (see examples n. 27 and 50).
- Bug #2995003 "Reproduced thead bug" was fixed.
- The Output() method now accepts FI and FD destinations to save the document on server before sending it to the client.
- Ellipse() method was improved and fixed (see page 2 of example n. 12).
- Bug item #2990356 "Current font size not respected with more than two HTML <p>" was fixed.
4.9.017 (2010-04-21)
- Bug item #2990224 "Different behaviour for equivalent HTML strings" was fixed.
- Bug item #2990314 "Dash is not appearing with SHY character" was fixed.
4.9.016 (2010-04-20)
- An error on htmlcolors.php was fixed.
- getImageFileType() method was improved.
- GIF images with transparency are now better supported.
- Automatic page orientation was improved.
4.9.015 (2010-04-20)
- A new method copyPage() was added to clone pages (see example n. 44).
- Support for text overline was added.
- Underline and linethrough methods were fixed.
- Bug #2989058 "SHY character causes unnecessary word-wrapping" was fixed.
4.9.014 (2010-04-18)
- Bug item #2988845 was fixed.
4.9.013 (2010-04-15)
- Image() and ImageEPS() methods were fixed and improved; $fitonpage parameter was added.
4.9.012 (2010-04-12)
- The hyphenateText() method was added to automatically hyphenate text (see example n. 46).
4.9.011 (2010-04-07)
- Vertical alignments for Cell() method were improved (see example n. 57).
4.9.010 (2010-04-06)
- Signature of Cell() method now includes new parameters for vertical alignment (see example n. 57).
- Text() method was extended to include all Cell() parameters.
- HTML line alignment procedure was changed to fix some bugs.
4.9.009 (2010-04-05)
- Text() method was fixed for backward compatibility.
4.9.008 (2010-04-03)
- Additional line space after table header was removed.
- Support for HTML lists in multicolumn mode was added.
- The method setTextRenderingMode() was added to set text rendering modes (see the example n. 26).
- The following HTML attributes were added to set text rendering modes (see the example n. 26): stroke, strokecolor, fill.
4.9.007 (2010-04-03)
- Font Descent computation was fixed (patch #2981441).
4.9.006 (2010-04-02)
- The constant K_TCPDF_CALLS_IN_HTML was added on configuration file to enable/disable the ability to call TCPDF methods in HTML.
- The usage of tcpdf tag in HTML mode was changed to remove the possible security flaw offered by the eval() function (thanks to Matthias Hecker for spotting this security problem). See the new example n. 49 for further information.
4.9.005 (2010-04-01)
- Bug# 2980354 "Wrong File attachment description with security" was fixed.
- Several problems with HTML line alignment were fixed.
- The constant K_THAI_TOPCHAR was added on configuration file to enable/disable the special procedure used to avoid the overlappind of symbols on Thai language.
- A problem with font name directory was fixed.
- A bug on _destroy() method was fixed.
4.9.004 (2010-03-31)
- Patch #979681 "GetCharWidth - default character width" was applied (bugfix).
4.9.003 (2010-03-30)
- Problem of first <br /> on multiple columns was fixed.
- HTML line alignment was fixed.
- A QR-code bug was fixed.
4.9.002 (2010-03-29)
- Patch #2978349 "$ignore_min_height is ignored in function Cell()" was applied.
- Bug #2978607 "2D Barcodes are wrong" was fixed.
- A problem with HTML block tags was fixed.
- Artificial italic for CID-0 fonts was added.
- Several multicolumn bugs were fixed.
- Support for HTML tables on multicolumn was added.
4.9.001 (2010-03-28)
- QR Code minor bug was fixed.
- Multicolumn mode was added (see the new example n. 10).
- The following methods were added: setEqualColumns(), setColumnsArray(), selectColumn().
- Thai diacritics support were changed (note that this is incompatible with html justification).
4.9.000 (2010-03-27)
- QR Code (2D barcode) support was added (see example n. 50).
- The following methods were added to print crop and registration marks (see example n. 56): colorRegistrationBar(), cropMark(), registrationMark().
- Limited support for CSS line-height property was added.
- Gradient method now supports Gray, RGB and CMYK space color.
- Example n. 51 was updated.
- Vertical alignment of font inside cell was fixed.
- Support for multiple Thai diacritics was added.
- Bug item #2974929 "Duplicate case values" was fixed.
- Bug item #2976729 "File attachment not working with security" was fixed.
- Method setSpacesRE() was added to set the regular expression used for detecting withespaces or word separators. If you are using chinese, try: setSpacesRE('/[\s\p{Z}\p{Lo}]/');, otherwise you can use setSpacesRE('/[\s\p{Z}]/');
- The method _putinfo() now automatically fills the metadata with '?' in case of empty string.
- List bullets position was fixed for RTL languages.
4.6.012 (2009-05-23)
- setUserRights() method doesn't work anymore unless you call the setSignature() method with the Adobe private key!
4.6.011 (2009-05-18)
- Signature of the Image() method was changed to include the new $fitbox parameter (see source code documentation).
4.6.010 (2009-05-17)
- Image() method was improved: now is possible to specify the maximum dimensions for a constraint box defined by $w and $h parameters, and setting the $resize parameter to null.
- <tcpdf> tag indent problem was fixed.
- $y parameter was added to checkPageBreak() method.
- Bug n. 2791773 "writeHTML" was fixed.
4.6.009 (2009-05-13)
- xref table for embedded files was fixed.
4.6.008 (2009-05-07)
- setSignature() method was improved (but is still experimental).
- Example n. 52 was added.
4.6.007 (2009-05-05)
- Bug #2786685 "writeHtmlCell and <br /> in custom footer" was fixed.
- Table header repeating bug was fixed.
- Some newlines and tabs are now automatically removed from HTML strings.
4.6.006 (2009-04-28)
- Support for "<a name="...">...</a>" was added.
- By default TCPDF requires PCRE Unicode support turned on but now works also without it (with limited ability to detect some Unicode blank spaces).
4.6.005 (2009-04-25)
- Points (pt) conversion in getHTMLUnitToUnits() was fixed.
- Default tcpdf.pem certificate file was added.
- Experimental support for signing document was added but it is not yet completed (some help is needed - I think that the calculation of the ByteRange is OK and the problem is on the signature calculation).
4.6.004 (2009-04-23)
- Method deletePage() was added to delete pages (see example n. 44).
4.6.003 (2009-04-21)
- The caching mechanism of the UTF8StringToArray() method was fixed.
4.6.002 (2009-04-20)
- Documentation of rollbackTransaction() method was fixed.
- The setImageScale() and getImageScale() methods now set and get the adjusting parameter used by pixelsToUnits() method.
- HTML images now support other units of measure than pixels (getHTMLUnitToUnits() is now used instead of pixelsToUnits()).
- WARNING: PDF_IMAGE_SCALE_RATIO has been changed by default to 1.
4.6.001 (2009-04-17)
- Spaces between HTML block tags are now automatically removed.
- The bug related to cMargin changes between tables was fixed.
4.6.000 (2009-04-16)
- WARNING: THIS VERSION CHANGES THE BEHAVIOUR OF $x and $y parameters for several TCPDF methods:
zero coordinates for $x and $y are now valid coordinates;
set $x and $y as empty strings to get the current value.
- Some error caused by 'empty' funtion were fixed.
- Default color for convertHTMLColorToDec() method was changed to white and the return value for invalid color is false.
- HTML on footer bug was fixed.
- The following examples were fixed: 5,7,10,17,19,20,21,33,42,43.
4.5.043 (2009-04-15)
- Barcode class (barcode.php) was extended to include new linear barcode types (see example n. 27):
- convertHTMLColorToDec() function was improved to support rgb(RR,GG,BB) notation.
- The following inline CSS attributes are now supported: text-decoration, color, background-color and font-size names: xx-small, x-small, small, medium, large, x-large, xx-large
- Bug [1992515] "K_PATH_FONTS default value wrong" was fixed.
- Vera font was removed, DejaVu font and Free fonts were updated.
- Image handling was improved.
- All examples were updated.
3.1.000 (2008-06-11)
- setPDFVersion() was added to change the default PDF version (currently 1.7).
- setViewerPreferences() was added to control the way the document is to be presented on the screen or printed (see example 29).
- SetDisplayMode() signature was changed (new options were added).
- LinearGradient(), RadialGradient(), CoonsPatchMesh() functions were added to print various color gradients (see example 30).
- PieSector() function was added to render render pie charts (see example 31).
- ImageEps() was added to display EPS and AI images with limited support (see example 32).
- writeBarcode() function is now depracated, a new write1DBarcode() function was added. The barcode directory was removed and a new barcodes.php file was added.
- The new write1DBarcode() function support more barcodes and do not need the GD library (see example 027). All barcodes are directly written to PDF using graphic functions.
- HTML lists were improved and could be nested (you may now represent trees).
- AddFont() bug was fixed.
- _putfonts() bug was fixed.
- graphics functions were fixed.
- unicode_data.php file was updated (fixed).
- almohanad font was updated.
- example 18 was updated (Farsi and Arabic languages).
- source code cleanup.
- All examples were updated and new examples were added.
3.0.015 (2008-06-06)
- AddPage() function signature is changed to include page format.
- example 28 was added to show page format changes.
- setPageUnit() function was added to change the page units of measure.
- setPageFormat() function was added to change the page format and orientation between pages.
- setPageOrientation() function was added to change the page orientation.
- Arabic font shaping was fixed for laa letter and square boxes (see the example 18).
3.0.014 (2008-06-04)
- Arabic font shaping was fixed.
- setDefaultTableColumns() function was added.
- $cell_height_ratio variable was added.
- setCellHeightRatio() function was added to define the default height of cell repect font height.
3.0.013 (2008-06-03)
- Multicell height parameter was fixed.
- Arabic font shaping was improved.
- unicode_data.php was updated.
3.0.012 (2008-05-30)
- K_PATH_MAIN and K_PATH_URL constants are now automatically set on config file.
- DOCUMENT_ROOT constant was fixed for IIS Webserver (config file was updated).
- Arabic font shaping was improved.
- TranslateY() function was fixed (bug [1977962]).
- setVisibility() function was fixed.
- writeBarcode() function was fixed to scale using $xref parameter.
- All examples were updated.
3.0.011 (2008-05-23)
- CMYK color support was added to all graphic functions.
- HTML table support was improved:
-- now it's possible to include additional html tags inside a cell;
-- colspan attribute was added.
- example 006 was updated.
3.0.010 (2008-05-21)
- fixed $laa_array inclusion on utf8Bidi() function.
3.0.009 (2008-05-20)
- unicode_data.php was updated.
- Arabic laa letter problem was fixed.
3.0.008 (2008-05-12)
- Arabic support was fixed and improved (unicode_data.php was updated).
- Polycurve() function was added to draw a poly-Bezier curve.
- list items alignment was fixed.
- example 6 was updated.
3.0.007 (2008-05-06)
- Arabic support was fixed and improved.
- AlMohanad (arabic) font was added.
- C128 barcode bugs were fixed.
3.0.006 (2008-04-21)
- Condition to check negative width values was added.
3.0.005 (2008-04-18)
- back-Slash character escape was fixed on writeHTML() function.
- Exampe 6 was updated.
3.0.004 (2008-04-11)
- Bug [1939304] (Right to Left Issue) was fixed.
3.0.003 (2008-04-07)
- Bug [1934523](Words between HTML tags in cell not kept on one line) was fixed.
- "face" attribute of "font" tag is now fully supported.
3.0.002 (2008-04-01)
- Write() functions now return the number of cells and not the number of lines.
- TCPDF is released under LGPL 2.1, or any later version.
3.0.001 (2008-05-28)
- _legacyparsejpeg() and _legacyparsepng() were renamed _parsejpeg() and _parsepng().
- function writeBarcode() was fixed.
- all examples were updated.
- example 27 was added to show various barcodes.
3.0.000 (2008-03-27)
- private function pixelsToMillimeters() was changed to public function pixelsToUnits() to fix html image size bug.
- Image-related functions were rewritten.
- resize parameter was added to Image() signature to reduce the image size and fit width and height (see example 9).
- TCPDF now supports all images supported by GD library: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM.
- CMYK support was added to SetDrawColor(), SetFillColor(), SetTextColor() (see example 22).
- Page Groups were added (see example 23).
- setVisibility() function was added to restrict the rendering of some elements to screen or printout (see example 24).
- All private variables and functions were changed to protected.
- setAlpha() function was added to give transparency support for all objects (see example 25).
- Clipping and stroke modes were added to Text() function (see example 26).
- All examples were moved to "examples" directory.
- function setJPEGQuality() was added to set the JPEG image comrpession (see example 9).
2.9.000 (2008-03-26)
- htmlcolors.php file was added to include html colors.
- Support for HTML color names and three-digit hexadecimal color codes was added.
- private function convertColorHexToDec() was renamed convertHTMLColorToDec().
- color and bgcolor attributes are now supported on all HTML tags (color nesting is also supported).
- Write() function were fixed.
- example_006.php was updated.
- private function setUserRights() was added to release user rights on Acrobat Reader (this allows to display forms, see example 14)
2.8.000 (2008-03-20)
- Private variables were changed to protected.
- Function Write() was fixed and improved.
- Support for dl, dt, dd, del HTML tags was introduced.
- Line-trought mode was added for HTML and text.
- Text vertical alignment on cells were fixed.
- Examples were updated to reflect changes.
2.7.002 (2008-03-13)
- Bug "[1912142] Encrypted PDF created/modified date" was fixed.
2.7.001 (2008-03-10)
- Cell justification was fixed for non-unicode mode.
2.7.000 (2008-03-09)
- Cell() stretching mode 4 (forced character spacing) was fixed.
- writeHTMLCell() now uses Multicell() to write.
- Multicell() has a new parameter $ishtml to act as writeHTMLCell().
- Write() speed was improved for non-arabic strings.
- Example n. 20 was changed.
2.6.000 (2008-03-07)
- various alignments bugs were fixed.
2.5.000 (2008-03-07)
- Several bugs were fixed.
- example_019.php was added to test non-unicode mode using old fonts.
2.4.000 (2008-03-06)
- RTL support was deeply improved.
- GetStringWidth() was fixed to support RTL languages.
- Text() RTL alignment was fixed.
- Some functions were added: GetArrStringWidth(), GetCharWidth(), uniord(), utf8Bidi().
- example_018.php was added and test_unicode.php was removed.
2.3.000 (2008-03-05)
- MultiCell() signature is changed. Now support multiple columns across pages (see example_017).
- Write() signature is changed. Now support the cell mode to be used with MultiCell.
- Header() and Footer() were changed.
- The following functions were added: UTF8ArrSubString() and unichr().
- Examples were updated to reflect last changes.
2.2.004 (2008-03-04)
- Several examples were added.
- AddPage() Header() and Footer() were fixed.
- Documentation is now available on http://www.tcpdf.org
2.2.003 (2008-03-03)
- [1894853] Performance of MultiCell() was improved.
- RadioButton and ListBox functions were added.
- javascript form functions were rewritten and properties names are changed. The properties function supported by form fields are listed on Possible values are listed on http://www.adobe.com/devnet/acrobat/pdfs/js_developer_guide.pdf.
2.2.002 (2008-02-28)
- [1900495] html images path was fixed.
- Legacy image functions were reintroduced to allow PNG and JPEG support without GD library.
2.2.001 (2008-02-16)
- The bug "[1894700] bug with replace relative path" was fixed
- Justification was fixed
2.2.000 (2008-02-12)
- fixed javascript bug introduced with latest release
2.1.002 (2008-02-12)
- Justify function was fixed on PHP4 version.
- Bookmank function was added ([1578250] Table of contents).
- Javascript and Form fields support was added ([1796359] Form fields).
2.1.001 (2008-02-10)
- The bug "[1885776] Race Condition in function justitfy" was fixed.
- The bug "[1890217] xpdf complains that pdf is incorrect" was fixed.
2.1.000 (2008-01-07)
- FPDF_FONTPATH constant was changed to K_PATH_FONTS on config file
- Bidirectional Algorithm to correctly reverse bidirectional languages was added.
- SetLeftMargin, SetTopMargin, SetRightMargin functions were fixed.
- SetCellPadding function was added.
- writeHTML was updated with new parameters.
- Text function was fixed.
- MultiCell function was fixed, now works also across multiple pages.
- Line width was fixed on Header and Footer functions and <hr> tag.
- "GetImageSize" was renamed "getimagesize".
- Document version was changed from 1.3 to 1.5.
- _begindoc() function was fixed.
- ChangeDate was fixed and ModDate was added.
- The following functions were added:
setPage() : Move pointer to the specified document page.
getPage() : Get current document page number.
lastpage() : Reset pointer to the last document page.
getNumPages() : Get the total number of inserted pages.
GetNumChars() : count the number of (UTF-8) characters in a string.
- $stretch parameter was added to Cell() function to fit text on cell:
0 = disabled
1 = horizontal scaling only if necessary
2 = forced horizontal scaling
3 = character spacing only if necessary
4 = forced character spacing
- Line function was fixed for RTL.
- Graphic transformation functions were added [1811158]:
StartTransform()
StopTransform()
ScaleX()
ScaleY()
ScaleXY()
Scale()
MirrorH()
MirrorV()
MirrorP()
MirrorL()
TranslateX()
TranslateY()
Translate()
Rotate()
SkewX()
SkewY()
Skew()
- Graphic function were added/updated [1688549]:
SetLineStyle()
_outPoint()
_outLine()
_outRect()
_outCurve()
Line()
Rect()
Curve
Ellipse
Circle
Polygon
RegularPolygon
2.0.000 (2008-01-04)
- RTL (Right-To-Left) languages support was added. Language direction is set using the $l['a_meta_dir'] setting on /configure/language/xxx.php language files.
- setRTL($enable) method was added to manually enable/disable the RTL text direction.
- The attribute "dir" was added to support custom text direction on HTML tags. Possible values are: ltr - for Left-To-Right and RTL for Right-To-Left.
- RC4 40bit encryption was added. Check the SetProtection method.
- [1815213] Improved image support for GIF, JPEG, PNG formats.
- [1800094] Attribute "value" was added to ordered list items <li>.
- Image function now has a new "align" parameter that indicates the alignment of the pointer next to image insertion and relative to image height. The value can be:
T: top-right for LTR or top-left for RTL
M: middle-right for LTR or middle-left for RTL
B: bottom-right for LTR or bottom-left for RTL
N: next line
- Attribute "align" was added to <img> html tag to set the above image "align" parameter. Possible values are:
top: top-right for LTR or top-left for RTL
middle: middle-right for LTR or middle-left for RTL
bottom: bottom-right for LTR or bottom-left for RTL
- [1798103] newline was added after </ul>, </ol> and </p> tages.
- [1816393] Documentation was updated.
- 'ln' parameter was fixed on writeHTMLCell. Now it's possible to print two or more columns across several pages;
- The method lastPage() was added to move the pointer on the last page;