All notable changes to this project will be documented in this file.
5.2.8 - 2023-07-18
- fix XSS vulnerabilities in examples
example9.php
andforms.php
- thanks to Michał Majchrowicz, Livio Victoriano and Zbigniew Piotrak from AFINE Team
5.2.7 - 2023-02-02
- fix phpunit compatibility
5.2.6 - 2023-01-28
- add support of PHP 8.1 and PHP 8.2
- add phpunit 9 compatibility - thanks to @jausions
- remove useless files
5.2.5 - 2022-04-04
- fix security on scheme of css and image paths for windows paths
5.2.4 - 2021-12-16
- revert fix multibyte aware substr when setting newline position - it causes pbs on some specific cases
- security #CVE-2021-45394 - add security on scheme of css and image paths - thanks to Clément Amic and Antoine Gicquel from Synacktiv
5.2.3 - 2021-10-19
- add support for BASE64 encoded images also for backimg tag in page - thanks to @berengan
- fix issue on write2DBarcode parameters - thanks to @Sarigue
- fix svg path parser - thanks to @CWBudde - issue #618
- fix html attribute parser - thanks to @Tofandel
- fix multibyte aware substr when setting newline position - thanks to @AndyTWF
- add php8 compatibility and fix tcpdf compatibilty - thanks to @humancopy
5.2.2 - 2020-03-22
- allow usage of [[page_cu]] in css class names - thanks to @marbetschar - see example 15
- add support for BASE64 encoded images - thanks to @darius-heavy
- add Chinese local file - thanks to @Jaggle
- add powershell test script
- bump supported version from 5.4-7.2 to 5.6-7.4 - thanks to @coffeemedia
- fix issue on _drawRectangle where array offset was being accessed on value of type null - thanks to @coffeemedia
- fix issue on lower-roman style - thanks to @jigneshsolanki
- fix issue on composer autoload warning - thanks to @adrienfr
5.2.1 - 2018-10-26
- add
cert
tag - thanks to @LittleBigFox - add
balloon
example - issue #385 - change the name of all the examples from
exemple
toexample
- fix tag parser - css style corruption
- fix issue on relative margin calculation
- fix issue on border radius calculation
- fix issue on page background image width - issue #394
- fix issue on qrcode value with multi lines - issue #390
- fix issue on colspan usage when all the columns don't really exist - issue #360
- fix documentation - thanks to @noxlux and @tpohchai
5.2.0 - 2018-07-31
- change the name of
CoreExtension
toCore\HtmlExtension
- change the namespace of all the html tags from
Tag\
toTag\Html
- change all the svg tag from internal methods to new external tags
- add the extension
Core\SvgExtension
- add locale fi - thanks to @RWAP
- add
$marginTop
parameter on thecreateIndex
method - issue #333 - add
xx-large
toxx-small
font-size management - issue #320 - add
colgoup
html tag - issue #306 - fix locale pt - thanks to @marcoshenzel
- fix issue on testing the filename when asking for string output
- fix issue - clean locale before PDF generation - thanks to @quimcalpe
- fix issue on radio/checkbow width - thanks to @Ohda
- fix issue on line number when using style tag - issue #338
- fix issue on svg draw path - relative move was not implemented
- fix issue on svg draw path when Z directive is not separate from the next directive - issue #308
- fix issue on justify text with an inline html tag at the end of a line - issue #258
- fix better doc
5.1.0 - 2018-01-23
- add support of css
page-break-before:always
andpage-break-after:always
onDIV
tag, based on PR #190 and PR #204 - add no-html mode for debug output
- add php 7.2 compatibility
- add some unit tests, better coverage
- fix lots of bad method names and minor improvements, from PR #147
- fix bad cleaning after output or exception
- fix bad format detecting on
page
tag - issue #260 - fix changelog file
5.0.1 - 2017-06-15
- fix issue #200 pb with absolute path when saving the pdf file on server
5.0.0 - 2017-06-15
BREAK COMPATIBILITY
This new version is not compatible with the 4.x.x version.
Lots of classes / methods have been renamed, moved, deleted, exploded.
- change licence to OSL-3.0
- change PHP minimum compatibility to 5.4
- change Using Namespaces
- change all the classes have moved
- change all the classes have been renamed
- change new tag structure : one class per tag
- change output method does not allow bool value on
$dest
parameter anymore - change output method has been renamed from
Output
tooutput
- change values for the footer
attribute
of thepage
tag - add PHP 7.0 and 7.1 compatibility
- add improve string handling for UTF8
- add better exception management
- add unit testing
- add support 'start' attribute for ordered list
- add russian language #131
- add Dimension-Parameter on barcode (for PDF417, Datamatrix = 2D) #127
- add
pdfa
parameter on Html2Pdf constructor #122 - add new documentation folder
./doc/
- add new attribute to page tag
hidefooter
which accepts a list of pages that gonna skip footer #162 - add protection on the fallback image if it does not exist
- add protection on thead and tfoot tags: they must contain at least one tr tag
- add norwegian locale
- fix a infinite loop case when reading a svg path
- fix issue from #177
- fix issue from #163
- fix bug on div position #73
- fix margin-bottom on table #108
- fix position of fallback image
- fix li bullet points altered by uppercase styles
- fix save PDF file on server #164
- remove old barcode type compatibility
4.6.1 - 2016-04-05
- fix css font-family lowercase check on inherit value
4.6.0 - 2016-03-30
- add Support 'start' attribute for ordered list
- add Enable RTL languages support
- add fallback support for images
4.5.1 - 2016-03-03
- Support the "inherit" value for font-family
- Allow the HTML font tag to define a color attribute
- Support for max-width and max-height attributes for images
- Fix "border: 0" being displayed
4.5.0 - 2015-12-18
- add tag 'end_last_page' with property 'end_height'. Update example 5 to use it
- better composer.json file
- update TCPDF from 5.0.002 to v6.2.12 => important changes. See the TCPDF changelogs
4.4.0 - 2015-12-11
-
includes a new attribute to page tag 'hideheader' which accepts a list of pages that gonna skip header.
-
some doc fixes, rephrasing and removing french words
-
add composer management
-
Update autoload type
-
README more readable
-
add automatic generation of pdf test files
- script ./test/generate.sh
- You must have the html2pdf folder in http:/localhost/html2pdf/
-
fix: Set default font from PDF_FONT_NAME_MAIN constant from TCPDF, if available
-
fix: Make space-collapsing regexp Unicode-aware
-
fix: some pbs on examples to generate them automatically
- correction de l'exemple "form.php" : vulnérabilité cross-site scripting corrigée
- correction sur la gestion des retours à la ligne automatique
- correction sur le calcul de la hauteur des balises H1->H6
- amélioration de la gestion des exceptions
- ATTENTION : beaucoup de changements dans la structure du projet. version 3.xx abandonnée
- uniformisation des fichiers du projet (standard Zend)
- conversion des fichiers de langue en CSV, déplacement dans le répertoire "locale". création d'une classe spécifique à la gestion des locales
- amélioration de la gestion de certaines erreurs
- modification du nom de toutes les sous classes
- déplacement de toutes les sous classes
- modification du nom de toutes les méthodes protected
- correction sur la gestion des tables
- correction sur la lecture des path des SVG
- premiere version de text-align:justify
- correction sur la gestion de la balise BLOCKQUOTE
- correction sur la gestion de la balise P
- gestion des styles CSS pour les balises TEXTAREA, SELECT, INPUT
- ajout de la propriété pagegroup="new" sur la balise PAGE
- correction pour la balise INPUT de type radio : checked au lieu de selected
- correction sur la gestion des textes
- correction sur le parseur HTML
- correction sur la gestion de border-collapse
- correction sur la gestion des TDs, H1->H6
- ajout des balises fieldset et legend (cf exemple 4)
- ajout de la langue CS
- nombreuses améliorations
- v4.01 uniquement : Utilisation de TCPDF 5.0.002
- v4.01 uniquement : Utilisation des QR-code de TCPDF, il n'y a plus besoin d'une librairie externe
- v4.01 uniquement : Utilisation des exceptions PHP pour les erreurs. Tous les exemples ont été mis à jour en consequence
- (merci à Pavel Kochman pour ses sugestions et ses ajouts)
- modification des barcodes. ATTENTION : bar_w et bar_h n'existent plus !
- correction sur la gestion de page_footer
- correction sur la gestion des html entities
- correction sur le positionnement des textes
- correction sur le positionnement des tableaux
- nombreuses corrections sur les positionnements, les couleurs, ...
- amélioration de la partie SVG (balise G, ...)
- amélioration sur createIndex
- harmonisation des noms des méthodes
- correction sur la gestion des textes
- v4.00 uniquement : Html2Pdf est maintenant écrit en PHP5 et basé sur TCPDF (=> unicode, utf8, ...)
- v4.00 uniquement : utilisation de TCPDF pour les formulaires et les barcodes
- v4.00 uniquement : amélioration de la partie SVG (alpha)
- ajout de la gestion de la balise label
- correction pour compatibilité PHP4
- correction sur page_header et page_footer
- ajout de la possibilité de pouvoir mettre l'index automatique dans la page que l'on veut
- correction sur la gestion du canal alpha pour les PNGs
- correction sur la gestion des border-radius (cf exemple radius) conforme au CSS3
- correction sur la gestion du background-color
- correction sur la gestion de thead, tfoot, et tbody
- ajout du dessin verctoriel (cf exemples draw, tigre, sapin)
- ajout de la propriété label="none/label" pour la balise barcode
- nombreux petits correctifs
- correction pour support des images générés en CGI
- ajout de la gestion du canal alpha pour les PNGs (nécessite GD2)
- ajout de la méthode setDefaultFont permettant de spécifier une fonte par défaut
- ajout de la propriété format pour la balise page (cf exemple 4)
- amélioration de la gestion des couleurs css RGB (cf exemple 2)
- ajout de la gestion des couleurs css CMYK (cf exemple 2)
- ajout de la propriété css overflow:hidden pour la balise div (cf exemple 2)
- correction sur page_header et page_footer
- ajout de la possibilité de pouvoir directement convertir le résultat d'une vraie page HTML
- nombreux petits correctifs sur les styles
- correctif sur le calcul des tableaux dans le page_footer
- correctif sur l'interprétation des espaces entre certaines balises
- correction sur la gestion des balises H1, H2, H3, H4, H5, H6
- correction sur la gestion de la balise table
- support des balises xhtml du type span
- ajout des balises COL (cf exemple 5), DEL, INS, et QRCODE (cf exemple 13)
- ajout de la propriété css text-transform
- ajout de la propriété css rotate (uniquement sur les DIV, cf exemple 8)
- ne plus rendre obligatoire l'existence d'une image (nouvelle méthode setTestIsImage)
- ajout d'un mode DEBUG - les anciennes fonction d'analyse des ressources ont été supprimées
- ajout de la méthode setEncoding
- ajout de la langue danoise DA (merci à Daniel K.)
- correction sur le calcul de la largeur des divs
- modification pour compatibilité avec la localisation PHP
- modification pour compatibilité avec PHP 5.3.0
- correction sur le calcul des DIVs
- correction sur l'interpretation de certains styles CSS
- correction de la fonction de creation d'index automatique CreateIndex
- ATTENTION : la methode d'appel de CreateIndex a changé. Regardez l'exemple About !!!!
- redistribution de Html2Pdf sous la licence LGPL !!! (au lieu de GPL)
- correction sur le background-color
- refonte totale de la gestion de text-align. les valeurs center et right marchent maintenant meme en cas de contenu riche
- ajout de la propriété css FLOAT pour la balise IMG
- correction sur la gestion des TFOOT
- correction sur le positionnement des images
- ajout de la gestion des margins pour la balise DIV
- ajout de la gestion de la propriete css LINE-HEIGHT
- correction sur l'interpretation de la valeur de certains styles CSS (background-image, background-position, ...)
- correction sur la reconnaissance des balises thead et tfoot
- correction sur la balise select
- correction sur les fichiers de langue (merci à Sinan)
- optimisation du parseur HTML - merci à Jezelinside
- ajout de la balise TFOOT
- amélioration de la gestion des tableaux : les contenus des balises THEAD et TFOOT sont maintenant répétés sur chaque page.
- ajout de la balise spécifique BOOKMARK afin de créer des "marques-page"
- possibilité de rajouter un index automatique en fin de fichier
- ajout de la langue turque TR (merci à Hidayet)
- amélioration de la méthode Output. Elle est maintenant également utilisable comme celle de FPDF
- correction sur les sauts de page automatique pour les balises TABLE, UL, OL
- correction sur l'interpretation des styles pour la balise HR
- correction sur l'interpretation du style border-collapse pour la balise TABLE
- prise en compte de margin:auto pour les tables et les divs
- les commentaires dans les CSS sont acceptés
- ajout de la gestion des balises INPUT (text, radio, checkbox, button, hidden, ...), SELECT, OPTION, TEXTAREA (cf exemple 14)
- ajout de la possibilité de mettre des scripts dans le pdf (cf exemples JS)
- correction sur le saut de page automatique pour les images
- correction sur les sauts de lignes automatiques pour certaines balises (UL, P, ...)
- ajout de la langue NL (merci à Roland)
- ajout de la gestion de list-style: none (cf exemple 13)
- correction dans la gestion des fontes ajoutées à fpdf (via la méthode AddFont)
- nombreuses corrections sur le calcul des largeurs des éléments table, div, hr, td, th
- ajout de l'exemple about.php
- (pour info, les PDF générés à partir des exemples sont maintenant dans le répertoire /exemples/pdf/, et sont supprimables)
- correction sur l'identification des styles en cas de valeurs multiples dans la propriete class
- prise en compte de border-radius pour la limite des backgrounds (color et image)
- ajout des proprietes CSS border-top-, border-right-, border-bottom-, border-left-
- ajout de la propriété CSS list-style-image (cf exemple 12)
- pour la balise table, ajout de l'interprétation de align="center" et align="right" (cf exemple 1)
- correction dans le positionnement des images
- correction de quelques bugs
- ajout d'une fonction d'analyse des ressources getTimerDebug (cf début du fichier html2pdf.class.php)
- ajout d'une langue (pt : Brazilian Portuguese language) et amelioration de la methode vueHTML (merci à Rodrigo)
- correction du positionnement du contenu des DIVs. gestion des proprietes valign et align
- ajout de la propriete CSS border-collapse (cf exemple 0)
- ajout de la propriete CSS border-radius (cf exemple 1)
- correction de quelques bugs
- reecriture de la balise hr, avec prise en compte des styles (cf exemple 0)
- ajout de la propriete backcolor pour la balise page (cf exemple 9)
- ajout des proprietes backleft et backright pour la balise page afin de pouvoir changer les marges des pages (cf exemple 8)
- nombreuses corrections sur les balises et les styles
- ajout des balises ol, ul, li (cf exemple 12)
- correction sur le calcul de la taille des td en cas de colspan et rowspan
- ajout de la méthode setTestTdInOnePage afin de pouvoir desactiver le test sur la taille des TD (cf exemple 11)
- correction de quelques bugs
- ajout des balises div, p, pre, s
- gestion des styles CSS position (relative, absolute), left, top, right, bottom (cf exemple 10)
- meilleur gestion des border : border-style, border-color, border-width (cf exemple 10)
- possibilité d'indiquer les marges par défault, via le constructeur (cf exemple 2)
- correction pour compatibilité php4 / php5
- ajout des liens internes (cf exemple 7)
- gestion complete des background : image, repeat, position, color (cf exemple 1)
- gestion de underline, overline, linethrough (cf exemple 2)
- correction de quelques bugs
- mise à jour vers fpdf version 1.6, ajout de barcode, correction de l'affichage de certains caractères spéciaux
- correction du calcul de la hauteur de ligne de la balise br
- detection en cas de contenu trop grand dans un TD
- amélioration de la balise page (ajout de l'attribue pageset, avec les valeurs new et old)
- ajout de FPDF_PROTECTION, accesible via $pdf->pdf->SetProtection(...)
- version opérationnelle de page_header
- ajout de page_footer
- correction des borders des tableaux
- correction de l'interpretation de cellspacing,
- amélioration de la balise page_header
- première gestion de la balise page_header
- correction des dimensions des tableaux
- ajout de la propriété vertical-align
- ajout de la gestion des fichiers de langue
- correction du saut de page automatique pour les tableaux
- Ajout de propriétés à la balise PAGE
- correction de bugs au niveau de la gestion des images PHP par FPDF
- meilleure gestion des erreurs
- ajout de la gestion des noms des couleurs
- correction de la gestion des images générées par php
- correction de quelques bugs
- correction de quelques bugs
- ajout d'une protection pour les balises non existantes
- refonte totale du calcul des tableaux
- Prise en compte des colspan et rowspan
- ajout de la propriété cellspacing
- nouvelle gestion des padding des tableaux
- ajout des types de border dotted et dasheds
- ajout des top, left, right, bottom pour padding et border
- correction de la balise HR, ajout de la propriété padding pour les table, th, td
- correction des dimensions, les unités px, mm, in, pt sont enfin réellement reproduites, correction de font-size, border, ...
- ajout d'une propriété à la balise page : footer
- correction dans l'affichage et le calcul des tables
- vérification de la validité du code (ouverture / fermeture)
- ajout des unités mm, in, pt
- correction de nobreak
- correction des marges
- ajout de nombreuses balises
- refonte totale de l'identification des styles CSS (Les héritages marchent)
- corrections diverses
- ajout de certaines propriétés (bgcolor, ...)
- meilleur identification des propriétés border et color
-
nombreuses corrections :
- balise A
- couleur de fond
- retour à la ligne
- gestion des images dans un texte
- ajout de la balises STRONG
- ajout de la balise EM
- amélioration de la gestion des feuilles de style
- correction de quelques bugs
- première version opérationnel des feuilles de style
- ajout de la balise LINK pour le type text/css
- premier jet de la gestion des feuilles de style, ajout de la balise STYLE
- n'interpréte plus l'HTML en commentaire
- ajout des balises H1 -> H6
- correction de quelques bugs
- première version diffusée