- Renamed example files.
- Added
PdfPolygonTrait
trait.
PdfDashTrait
: AddeddashedRect()
anddashedRectangle()
functions.- BC Break!:
PdfDashTrait
: Renamed thesetDash()
function tosetDashPattern()
and theresetDash()
function toresetDashPattern()
.
- Added
PdfDashTrait
trait. - BC Break!:
PdfAttachmentTrait
: Renamed the$desc
parameter to$description
. PdfPngParser
: Added internalgetColorSpace()
andgetColors()
functions.PdfPngParser
: Added internalskip()
function, updatedparseStream()
andcheckHeader()
functions.- Reworked tests.
PdfPngParser
: ReworkedparseStream()
function.- Added test for CMYK image.
PdfCmykColor
: Added static colors for each component.PdfDocument
: Reworkedoutput()
function.
PdfDocument
: UpdatedoutLineJoin()
function.PdfDocument
: AddedoutDrawColor()
andoutFillColor()
functions.
- BC Break!: Sets
PdfBorder
properties public, removed the corresponding getter and setter functions and added more instances creation.
- Updated unit tests.
- Simplified
multiCell()
andwrite()
functions. - Reworked
splitText()
function. - Updated
getLinesCount()
function to thePdfDocument
class. - Added
splitText()
function to thePdfDocument
class. - Small optimizations of the
PdfDocument
class.
- Added tests for font files.
- Added missing override attribute.
- Updated documentation.
- Updated rector configuration.
- Removed the
self::fail()
functions to unit tests. - Added the
getAliasNumberPages()
function to thePdfDocument
class. - Minor modifications.
- Replaced the
width
andheight
properties of thePdfDocument
by aPdfSize
instance. - Replaced all margins properties of the
PdfDocument
by aPdfMargins
class. - Renamed private functions of
PdfSectorTrait
. - Added
scale()
anddivide()
functions toPdfDocument
class.
- Make
PdfRgbColor
class as read-only.
- Updated
PdfRgbColor
class with static methods and return types.
- Make
PdfRgbColor
class no more read-only.
- Updated
PdfRgbColor
class. - Updated Symfony to version 7.2.3.
- Updated Rector to version 2.0.
- Updated cache configurations.
- Updated psalm to version 6.0.
- Added default title to the
addPageIndex()
function of thePdfBookmarkTrait
trait. - Added function definitions in examples.
- Updated examples.
- BC Break!: Created dedicated colors namespace. Now the
setDrawColor()
,setFillColor()
andsetTextColor()
functions ofPdfDocument
class take aPdfColorInterface
instance.
- Added bitmap image parser.
- BC Break!: Moved image parsers to dedicated namespace.
- Added Webp image parser.
- Simplified image parsers.
- Added word spacing test.
- Updated tests for image parsers.
- Added
formatDate
function toPdfDocument
class. - Removed
composer.lock
from export.
- Update
PDfVersion
when attachments are added. - Updated documentation.
- Added
PdfAttachmentTrait
trait. - Updated test for
PdfSectorTrait
. - Updated
PdfViewerPreferences
class. - Updated documentation.
- Updated Symfony to version 7.2.1.
- Updated Symfony to version 7.2.0.
- Updated Symfony to version 7.1.9.
- Updated
php-cs-fixer
to version 3.65.0. - Updated
PHPunit
continuous integration action. - Updated
PHPStan
level to 10. - Split dependencies in dedicated folders using
bamarni/composer-bin-plugin
. - Added bleeding edge before update
phpstan
to version 2.0. - Added badges to
README.md
. - Updated Symfony to version 7.1.7.
- Updated
.gitattributes
file. - Updated Symfony to version 7.1.6.
- Updated signature of
createLink()
andsetLink()
functions of thePdfDocument
class. The$y
parameter can be null and correspond to the current ordinate. - BC Break!: Renamed function
setWithAlpha()
tosetAlphaChannel()
of thePdfDocument
class.
- Corrected bug in
PdfBookmarkTrait
(page number not outputted). - Updated the namespace for tests.
- Updated
PdfLineCap
,PdfLineJoin
andPdfZoom
enumerations. - BC Break!: Removed the
setDisplayMode()
function inPdfDocument
class. Use thesetLayout()
andsetZoom()
functions instead.
- Added
PdfPageMode
enumeration. - Added more entries in
PdfLayout
enumeration.
- Updated
PdfLayout
enumeration. - Updated PHPUnit schema version.
- Updated
PdfSectorTrait
trait and tests. - Updated PHPStan documentation.
- Spelling correction in documentation.
- Updated Symfony to version 7.1.4.
- Added rector fix script to
composer.json
. - Replaced links in tutorials.
- Updated tutorials.
- Internal changes in
PdfDocument
andPdfViewerPreferences
classes. - Added
SymfonyInsight
quality check tool, configuration and badge. - Added descriptions to
PdfBlendMode
enumeration. - Minor changes in tutorials.
- Added
PdfSectorTrait
trait and the corresponding tutorial.
- Added
PdfRotationTrait
trait and the corresponding tutorial.
- Added
PdfEllipseTrait
trait and the corresponding tutorial. - Updated test for
PdfTransparencyTrait
trait.
- Added
PdfTransparencyTrait
trait and the corresponding tutorial. - Updated the Bookmarks tutorial with a screenshot.
- Updated name space of
PdfVersionTest
class. - Update PHP version in
composer.json
. - Added
PdfVersion
enumeration. - Updated
addPageIndex()
function signature forPdfBookmarkTrait
trait.
- Added
PdfBookmarkTrait
trait. - Make
unit
parameter as protected forPdfDocument
. - Updated name space of
PdfCompareEscape
class. - Updated
codecov-action
version to 4.5.0.
- Updated
README.md
file. - Updated PHP documentation and tutorials.
- Updated FPDF version and producer of
PdfDocument
. - BC Break!: Modified source structure by adding Enums, Interfaces and Traits directories.
- Added
convert()
function toPdfUnit
enumeration. - Updated PHP-CS-Fixer configuration.
- Removed the creation date field from
PdfDocument
. - Reworked internal code of
PdfDocument
. - Updated the namespace of
PdfEnumDefaultInterfaceTest
class. - Added
isAny()
function toPdfBorder
class.
- Added
draw()
function toPdfBorder
class. - Updated PHP doc.
- Added test for
PdfDocument::isLink()
function. - Reworked
putFonts
function ofPdfDocument
class. - Added test for
PdfEnumDefaultInterface
. - Removed covers class attribute.
- Updated to Symfony v7.1.2 and Rector v1.2.0.
- Updated to Symfony v7.1.1.
- Updated
phpunit/phpunit
to version^11.0
. - Updated
vimeo/psalm
todev-master
branch. - Added
convertEncoding
function toPdfDocument
class.
- Updated
PdfDocument
class:- Replaced return value
self
bystatic
.
- Replaced return value
- Updated
phpstan
ignore doc.
- Added
PdfViewerPreferences
class and associate enumerations. - Reworked the
PdfDocument::loadFont()
function. - Small PHPDoc corrections.
- Added
previous
parameter toPdfException::instance()
function. - Imported
CoversClass
to unit tests.
- Breakdown ! Modified
PdfException
class:- Split single
instance
function toinstance
andformat
functions.
- Split single
- Updated tutorials.
- Updated markdown lint configuration.
- Updated
.gitattributes
to exclude.github
folder.
- Updated rector configuration.
- Updated
psalm/plugin-phpunit
plugin version. - Updated
PhpCsFixer
configuration. - Updated
.gitattributes
to exclude non-essential files from distribution.
- Updated tutorials.
- Updated the lint action.
- Updated the used version in the
README.md
file. - Breakdown ! Modified the
PdfDocument
class:- Updated
cell()
function by replacing default$width
argument value0.0
withnull
. - Updated
multiCell()
function by replacing default$width
argument value0.0
withnull
. - Updated tests accordingly.
- Updated
- Add more tests for
cleanText()
function. - Reworked the
rect()
function. - Updated PHP documentation.
- Added tutorials.
- Removed
orklah/psalm-*
plugins. - Added tests.
- Modified the
PdfDocument
class:- The
cleanText()
function no longer removes new line characters ("\n"
) at the end of string.
- The
- Modified the
PdfDocument
class:- Updated
write()
function signature with default height value.
- Updated
- Modified the
PdfDocument
class:- Removed
non-empty-string
andpositive-int
annotations.
- Removed
- Modified the
PdfDocument
class:- Make the
isLink()
function as static.
- Make the
- Modified the
PdfDocument
class:- Replaced empty string by
null
for$link
parameter.
- Replaced empty string by
- Modified the
PdfDocument
class:- Added
$link
parameter to therect()
andrectangle()
functions.
- Added
- Moved
elao/enum
package dependency fromrequire-dev
torequire
. - Modified the
PdfDocument
class:- Renamed function
updateVersion()
toupdatePdfVersion()
.
- Renamed function
- Added
PdfImageParserInterface
interface. - Moved parsing images from
PdfDocument
to dedicated classes. - Updated tests.
- Modified the
PdfDocument
class:- Added
outLineWidth()
function. - Added
headers()
function. - Added
setFontSize()
function.
- Added
- Added tests for
PDfDocument
properties. - Renamed tests classes.
- Added
instance()
function toPdfException
class. - Added
font
directory to tests. - Split CI actions.
- Added tests.
- Added a unique CI action and removed all other actions.
- Updated cover class attributes for tests.
- Updated
AbstractTestCase
class by removing date creation when comparing content. - Modified the
PdfDocument
class:- Updated return value of the
setPosition()
function. - Renamed
getFontSize()
function bygetFontSizeInPoint()
. - Renamed
setFontSize()
function bysetFontSizeInPoint()
. - Added
getLineWidth()
function.
- Updated return value of the
- Added
elao/enum
dependency. - Use
EnumCase
attribute forPdfPageSize
class. - Modified the
PdfDocument
class:- Removed the
getXY()
function. - Added the
getPosition()
andsetPosition()
functions.
- Removed the
- Updated license.
- Updated license.
- Modified the
PdfDocument
class:- Added
updateWordSpacing()
function. - Corrected
multiCell()
function to handle correct borders. - Updated
cleanText()
function to trim line feed character only at the end. - Updated
parsePngStream()
function. - Updated
setLink()
andcreateLink()
functions signature.
- Added
- Removed
tutorial
directory. - Removed
doc
directory.
- Added the
PdfPoint
class. - Added the
PdfSize
class. - Added the
PdfRectangle
class. - Modified the
PdfDocument
class:- Updated class constructor by replacing
float[]
parameter byPdfSize
. - Updated
addPage()
function by replacingfloat[]
parameter byPdfSize
. - Added
rectangle()
function. - Added
linePoints()
function. - Replaced width and height in point members by
PdfSize
.
- Updated class constructor by replacing
- Modified the
PdfFontStyle
class:- Renamed
fromStyle()
tofromString()
function.
- Renamed
- Updated
PdfDocument
with default line height forcell()
andmultiCell()
functions. - Updated list of
PdfPageSize
. - Added
PdfLineJoin
enumeration. - Added
PdfLineCap
enumeration. - Added
PDFBorder
class. - Added
PDFState
enumeration. - Updated Rector to version 1.0.
- Replaced static by self as return value.
- Added clean text function.
- Corrected put image.
- Corrected the image soft mask.
- Initialize properties. Added left and right margins.
- Replaced self by static.
- Added test for
PdfFontStyle
. - Removed
replace
entries in thecomposer.json
.
- Update
.styleci.yml
. - Added
CHANGELOG
file. - Added tests.
- Added isLink function.
- Added new line constant.
- Updated PHP doc.
- Updated PHP-Stan to level 9.
- Added
PdfRotation
enumeration. - Added tests.
- Updated font directory for tests.
- Replaced border integer by boolean.
- Added tests.
- Minor corrections for output.
- Added Rector.
- Added GitHub actions.
- Update
README.md
- Added badges.
- Configure Style CI.
- Added license.
- Added rectangle style and text alignment.
- Initial release.
- Added a parameter to AddFont() to specify the directory where to load the font definition file.
- Fixed a bug related to the PDF creation date.
- Removed deprecation notices on PHP 8.2.
- Removed notices when passing null values instead of strings.
- The
FPDF_VERSION
constant was replaced by a class constant. - The creation date of the PDF now includes the timezone.
- The content-type is now always application/pdf, even for downloads.
- Fixed an issue related to annotations.
- Fixed an issue related to annotations.
- Removed a deprecation notice on PHP 7.4.
- Added GetPageWidth() and GetPageHeight().
- Fixed a bug in SetXY().
- PHP 5.1.0 or higher is now required.
- The MakeFont now subsets fonts, which can greatly reduce font sizes.
- Added ToUnicode CMaps to improve text extraction.
- Added a parameter to AddPage() to rotate the page.
- Added a parameter to SetY() to indicate whether the x position should be reset or not.
- Added a parameter to Output() to specify the encoding of the name, and special characters are now properly encoded. Additionally, the order of the first two parameters was reversed to be more logical. However, the old order is still supported for compatibility.
- The Error() method now throws an exception.
- Adding contents before the first AddPage() or after Close() now raises an error.
- Outputting text with no font selected now raises an error.
- The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.
- Alpha channel is now supported for PNGs.
- When inserting an image, it is now possible to specify its resolution.
- The default resolution for images was increased from 72 to 96 dpi.
- When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.
- When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).
- Symbol and ZapfDingbats fonts now support underline style.
- Custom page sizes are now checked to ensure that width is smaller than height.
- Standard font files were changed to use the same format as user fonts.
- A bug in the embedding of Type1 fonts was fixed.
- A bug related to SetDisplayMode() and the current locale was fixed.
- A display issue occurring with the Adobe Reader X plug-in was fixed.
- An issue related to transparency with some versions of Adobe Reader was fixed.
- The Content-Length header was removed because it caused an issue when the HTTP server applied compression.
- PHP 4.3.10 or higher is now required.
- GIF image support.
- Images can now trigger page breaks.
- Possibility to have different page formats in a single document.
- Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.
- Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.
- An automatic page break in Header() doesn't cause an infinite loop anymore.
- Removed some warning messages appearing with recent PHP versions.
- Added HTTP headers to reduce problems with IE.
- When the font subdirectory is in the same directory as fpdf.php, it is no longer necessary to define the FPDF_FONTPATH constant.
- The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.
- Fixed a problem related to Type1 font embedding, which caused trouble to some PDF processors.
- The file name sent to the browser could not contain a space character.
- The Cell() method could not print the number 0 (you had to pass the string '0').
- Image() now displays the image at 72 dpi if no dimension is given.
- Output() takes a string as the second parameter to indicate the destination.
- Open() is now called automatically by AddPage().
- Inserting remote JPEG images doesn't generate an error any longer.
- The decimal separator is forced to dot in the constructor.
- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).
- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.
- No more error messages about already sent headers when outputting the PDF to the standard output from the command line.
- The underlining was going too far for text containing characters , (or).
- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.
- Type1 font support.
- Added Baltic encoding.
- The class now works internally in points with the origin at the bottom order to avoid two bugs occurring with Acrobat 5:*. The line thickness was too large when printed on Windows 98 SE, and ME TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.
- It is no longer necessary to set the decimal separator as the dot to produce valid documents.
- The clickable area in a cell was always on the left independently of the text alignment.
- JPEG images in CMYK mode appeared in inverted colors.
- Transparent PNG images in grayscale or true color mode were incorrectly handled.
- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.
- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).
- Added Write() method.
- Added underlined style.
- Internal and external link support (AddLink(), SetLink(), Link()).
- Added right margin management and methods SetRightMargin(), SetTopMargin().
- Modification of SetDisplayMode() to select the page layout.
- The border parameter of MultiCell() now lets choosing borders to draw as Cell().
- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.
- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).
- PHP3 is no longer supported.
- Page compression (SetCompression()).
- Choice of page format and possibility to change orientation inside the document.
- Added AcceptPageBreak() method.
- Ability to print the total number of pages (AliasNbPages()).
- Choice of cell borders to draw.
- New mode for Cell(): the current position can now move under the cell.
- Ability to include an image by specifying height only (width is calculated automatically).
- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.
- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.
- Removed Expires HTTP header (gives trouble in some situations).
- Added Content-disposition HTTP header (seems to help in some situations).
- Line break and text justification support (MultiCell()).
- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.
- A cell whose width is declared null extends up to the right margin of the page.
- Line width is now retained from page to page and defaults to 0.2 mm.
- Added SetXY() method.
- Fixed a passing by reference done in a deprecated manner for PHP4.
- Added the font metric files and GetStringWidth() method.
- Centering and right-aligning text in cells.
- Display mode control (SetDisplayMode()).
- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).
- Possibility to force PDF download by the browser.
- Added SetX() and GetX() methods.
- During the automatic page break, the current abscissa is now retained.
- PNG support doesn't require PHP4/zlib anymore. Data are now put directly
into
PDF
without any decompression/recompression stage. - Image insertion now works correctly even with the magic_quotes_runtime option set to on.
- JPEG and PNG image support.
- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from the previous page was not restored and produced an incorrect document.
- First version.