Rajout du dossier core + MAJ .gitignore

This commit is contained in:
2019-11-21 12:48:42 +01:00
parent f4aabcb9b1
commit 459f8966b0
10448 changed files with 1835600 additions and 1 deletions

6487
core/vendor/ensepar/html2pdf/HTML2PDF.php vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
HTML2PDF unofficial fork with Composer support
==============================================
- Fixed tcpdf composer dependency problem.

165
core/vendor/ensepar/html2pdf/_LGPL.txt vendored Normal file
View File

@@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@@ -0,0 +1,314 @@
4.03 (2011-05-27)
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
4.02 (2011-04-29)
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
3.30 / 4.01 (2010-05-07)
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)
3.29 / 4.00 (2010-03-17)
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)
3.28 (2010-01-18)
ajout de la gestion de la balise label
correction pour compatibilité PHP4
3.27 (2010-01-11)
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
3.26 (2009-11-16)
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
3.25 (2009-10-07)
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.)
3.24 (2009-08-05)
correction sur le calcul de la largeur des divs
modification pour compatibilité avec la localisation PHP
modification pour compatibilité avec PHP 5.3.0
3.23 (2009-07-30)
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 !!!!
3.22a (2009-06-16)
redistribution de HTML2PDF sous la licence LGPL !!! (au lieu de GPL)
3.22 (2009-06-08)
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
3.21 (2009-05-05)
ajout de la propriété css FLOAT pour la balise IMG
correction sur la gestion des TFOOT
correction sur le positionnement des images
3.20 (2009-04-06)
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)
3.19 (2009-03-11)
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
3.18 (2009-02-22)
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
3.17 (2008-12-30)
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, via $html2pdf->pdf->IncludeJS(...); (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)
3.16 (2008-12-09)
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)
3.15 (2008-12-01)
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 HTML2PDFgetTimerDebug (cf début du fichier html2pdf.class.php)
3.14 (2008-11-17)
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
3.13 (2008-09-24)
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
3.12 (2008-09-16)
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
3.11 (2008-08-29)
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)
3.10a (2008-08-26)
correction pour compatibilité php4 / php5
3.10 (2008-08-25)
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
3.09
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(...)
3.08
version opérationnelle de page_header
ajout de page_footer
correction des borders des tableaux
3.07
correction de l'interpretation de cellspacing,
amélioration de la balise page_header
3.06
première gestion de la balise page_header
correction des dimensions des tableaux
3.05
ajout de la propriété vertical-align
ajout de la gestion des fichiers de langue
3.04
correction du saut de page automatique pour les tableaux
Ajout de propriétés à la balise PAGE
3.03
correction de bugs au niveau de la gestion des images PHP par FPDF
meilleure gestion des erreurs
3.02
ajout de la gestion des noms des couleurs
correction de la gestion des images générées par php
correction de quelques bugs
3.01
correction de quelques bugs
ajout d'une protection pour les balises non existantes
3.00
refonte totale du calcul des tableaux
Prise en compte des colspan et rowspan
2.85
ajout de la propriété cellspacing
nouvelle gestion des padding des tableaux
2.80
ajout des types de border dotted et dasheds
2.75
ajout des top, left, right, bottom pour padding et border
2.70
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
2.55
vérification de la validité du code (ouverture / fermeture)
ajout des unités mm, in, pt
2.50
correction de nobreak
correction des marges
ajout de nombreuses balises
2.40
refonte totale de l'identification des styles CSS (Les héritages marchent)
2.39
corrections diverses
ajout de certaines propriétés (bgcolor, ...)
2.38
meilleur identification des propriétés border et color
2.37
nombreuses corrections :
balise A
couleur de fond
retour à la ligne
gestion des images dans un texte
2.36
ajout de la balises STRONG
ajout de la balise EM
2.35
amélioration de la gestion des feuilles de style
2.31
correction de quelques bugs
2.30
première version opérationnel des feuilles de style
2.25
ajout de la balise LINK pour le type text/css
2.20
premier jet de la gestion des feuilles de style, ajout de la balise STYLE
2.15
n'interpréte plus l'HTML en commentaire <!-- -->
2.10
ajout des balises H1 -> H6
2.01
correction de quelques bugs
2.00
première version diffusée

View File

@@ -0,0 +1,168 @@
<?php
/**
* HTML2PDF Librairy - HTML2PDF Exception
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
* @version 4.03
*/
class HTML2PDF_exception extends exception
{
protected $_tag = null;
protected $_html = null;
protected $_other = null;
protected $_image = null;
protected $_messageHtml = '';
/**
* generate a HTML2PDF exception
*
* @param int $err error number
* @param mixed $other additionnal informations
* @return string $html optionnal code HTML associated to the error
*/
final public function __construct($err = 0, $other = null, $html = '')
{
// read the error
switch($err)
{
case 1: // Unsupported tag
$msg = (HTML2PDF_locale::get('err01'));
$msg = str_replace('[[OTHER]]', $other, $msg);
$this->_tag = $other;
break;
case 2: // too long sentence
$msg = (HTML2PDF_locale::get('err02'));
$msg = str_replace('[[OTHER_0]]', $other[0], $msg);
$msg = str_replace('[[OTHER_1]]', $other[1], $msg);
$msg = str_replace('[[OTHER_2]]', $other[2], $msg);
break;
case 3: // closing tag in excess
$msg = (HTML2PDF_locale::get('err03'));
$msg = str_replace('[[OTHER]]', $other, $msg);
$this->_tag = $other;
break;
case 4: // tags closed in the wrong order
$msg = (HTML2PDF_locale::get('err04'));
$msg = str_replace('[[OTHER]]', print_r($other, true), $msg);
break;
case 5: // unclosed tag
$msg = (HTML2PDF_locale::get('err05'));
$msg = str_replace('[[OTHER]]', print_r($other, true), $msg);
break;
case 6: // image can not be loaded
$msg = (HTML2PDF_locale::get('err06'));
$msg = str_replace('[[OTHER]]', $other, $msg);
$this->_image = $other;
break;
case 7: // too big TD content
$msg = (HTML2PDF_locale::get('err07'));
break;
case 8: // SVG tag not in DRAW tag
$msg = (HTML2PDF_locale::get('err08'));
$msg = str_replace('[[OTHER]]', $other, $msg);
$this->_tag = $other;
break;
case 9: // deprecated
$msg = (HTML2PDF_locale::get('err09'));
$msg = str_replace('[[OTHER_0]]', $other[0], $msg);
$msg = str_replace('[[OTHER_1]]', $other[1], $msg);
$this->_tag = $other[0];
break;
case 0: // specific error
default:
$msg = $other;
break;
}
// create the HTML message
$this->_messageHtml = '<span style="color: #AA0000; font-weight: bold;">'.HTML2PDF_locale::get('txt01', 'error: ').$err.'</span><br>';
$this->_messageHtml.= HTML2PDF_locale::get('txt02', 'file:').' '.$this->file.'<br>';
$this->_messageHtml.= HTML2PDF_locale::get('txt03', 'line:').' '.$this->line.'<br>';
$this->_messageHtml.= '<br>';
$this->_messageHtml.= $msg;
// create the text message
$msg = HTML2PDF_locale::get('txt01', 'error: ').$err.' : '.strip_tags($msg);
// add the optionnal html content
if ($html) {
$this->_messageHtml.= "<br><br>HTML : ...".trim(htmlentities($html)).'...';
$this->_html = $html;
$msg.= ' HTML : ...'.trim($html).'...';
}
// save the other informations
$this->_other = $other;
// construct the exception
parent::__construct($msg, $err);
}
/**
* get the message as string
*
* @access public
* @return string $messageHtml
*/
public function __toString()
{
return $this->_messageHtml;
}
/**
* get the html tag name
*
* @access public
* @return string $tagName
*/
public function getTAG()
{
return $this->_tag;
}
/**
* get the optional html code
*
* @access public
* @return string $html
*/
public function getHTML()
{
return $this->_html;
}
/**
* get the optional other informations
*
* @access public
* @return mixed $other
*/
public function getOTHER()
{
return $this->_other;
}
/**
* get the image source
*
* @access public
* @return string $imageSrc
*/
public function getIMAGE()
{
return $this->_image;
}
}

View File

@@ -0,0 +1,96 @@
<?php
/**
* HTML2PDF Librairy - HTML2PDF Locale
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
* @version 4.03
*/
class HTML2PDF_locale
{
/**
* code of the current used locale
* @var string
*/
static protected $_code = null;
/**
* texts of the current used locale
* @var array
*/
static protected $_list = array();
/**
* directory where locale files are
* @var string
*/
static protected $_directory = null;
/**
* load the locale
*
* @access public
* @param string $code
*/
static public function load($code)
{
if (self::$_directory===null) {
self::$_directory = dirname(dirname(__FILE__)).'/locale/';
}
// must be in lower case
$code = strtolower($code);
// must be [a-z-0-9]
if (!preg_match('/^([a-z0-9]+)$/isU', $code)) {
throw new HTML2PDF_exception(0, 'invalid language code ['.self::$_code.']');
}
// save the code
self::$_code = $code;
// get the name of the locale file
$file = self::$_directory.self::$_code.'.csv';
// the file must exist
if (!is_file($file)) {
throw new HTML2PDF_exception(0, 'language code ['.self::$_code.'] unknown. You can create the translation file ['.$file.'] and send it to the webmaster of html2pdf in order to integrate it into a future release');
}
// load the file
self::$_list = array();
$handle = fopen($file, 'r');
while (!feof($handle)) {
$line = fgetcsv($handle);
if (count($line)!=2) continue;
self::$_list[trim($line[0])] = trim($line[1]);
}
fclose($handle);
}
/**
* clean the locale
*
* @access public static
*/
static public function clean()
{
self::$_code = null;
self::$_list = array();
}
/**
* get a text
*
* @access public static
* @param string $key
* @return string
*/
static public function get($key, $default='######')
{
return (isset(self::$_list[$key]) ? self::$_list[$key] : $default);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,520 @@
<?php
/**
* HTML2PDF Librairy - parsingHtml class
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
* @version 4.03
*/
class HTML2PDF_parsingHtml
{
protected $_html = ''; // HTML code to parse
protected $_num = 0; // table number
protected $_level = 0; // table level
protected $_encoding = ''; // encoding
public $code = array(); // parsed HTML codfe
const HTML_TAB = ' ';
/**
* main constructor
*
* @param string encoding
* @access public
*/
public function __construct($encoding = 'UTF-8')
{
$this->_num = 0;
$this->_level = array($this->_num);
$this->_html = '';
$this->code = array();
$this->setEncoding($encoding);
}
/**
* change the encoding
*
* @param string encoding
* @access public
*/
public function setEncoding($encoding)
{
$this->_encoding = $encoding;
}
/**
* Define the HTML code to parse
*
* @param string HTML code
* @access public
*/
public function setHTML($html)
{
// remove the HTML in comment
$html = preg_replace('/<!--(.*)-->/isU', '', $html);
// save the HTML code
$this->_html = $html;
}
/**
* parse the HTML code
*
* @access public
*/
public function parse()
{
$parents = array();
// flag : are we in a <pre> Tag ?
$tagPreIn = false;
// action to use for each line of the content of a <pre> Tag
$tagPreBr = array(
'name' => 'br',
'close' => false,
'param' => array(
'style' => array(),
'num' => 0
)
);
// tag that can be not closed
$tagsNotClosed = array(
'br', 'hr', 'img', 'col',
'input', 'link', 'option',
'circle', 'ellipse', 'path', 'rect', 'line', 'polygon', 'polyline'
);
// search the HTML tags
$tmp = array();
$this->_searchCode($tmp);
// all the actions to do
$actions = array();
// foreach part of the HTML code
foreach ($tmp as $part) {
// if it is a tag code
if ($part[0]=='code') {
// analise the HTML code
$res = $this->_analiseCode($part[1]);
// if it is a real HTML tag
if ($res) {
// save the current posistion in the HTML code
$res['html_pos'] = $part[2];
// if the tag must be closed
if (!in_array($res['name'], $tagsNotClosed)) {
// if it is a closure tag
if ($res['close']) {
// HTML validation
if (count($parents)<1)
throw new HTML2PDF_exception(3, $res['name'], $this->getHtmlErrorCode($res['html_pos']));
else if ($parents[count($parents)-1]!=$res['name'])
throw new HTML2PDF_exception(4, $parents, $this->getHtmlErrorCode($res['html_pos']));
else
unset($parents[count($parents)-1]);
} else {
// if it is a autoclosed tag
if ($res['autoclose']) {
// save the opened tag
$actions[] = $res;
// prepare the closed tag
$res['params'] = array();
$res['close'] = true;
}
// else :add a child for validation
else
$parents[count($parents)] = $res['name'];
}
// if it is a <pre> tag (or <code> tag) not auclosed => update the flag
if (($res['name']=='pre' || $res['name']=='code') && !$res['autoclose']) {
$tagPreIn = !$res['close'];
}
}
// save the actions to convert
$actions[] = $res;
} else { // else (it is not a real HTML tag => we transform it in Texte
$part[0]='txt';
}
}
// if it is text
if ($part[0]=='txt') {
// if we are not in a <pre> tag
if (!$tagPreIn) {
// save the action
$actions[] = array(
'name' => 'write',
'close' => false,
'param' => array('txt' => $this->_prepareTxt($part[1])),
);
} else { // else (if we are in a <pre> tag)
// prepare the text
$part[1] = str_replace("\r", '', $part[1]);
$part[1] = explode("\n", $part[1]);
// foreach line of the text
foreach ($part[1] as $k => $txt) {
// transform the line
$txt = str_replace("\t", self::HTML_TAB, $txt);
$txt = str_replace(' ', '&nbsp;', $txt);
// add a break line
if ($k>0) $actions[] = $tagPreBr;
// save the action
$actions[] = array(
'name' => 'write',
'close' => false,
'param' => array('txt' => $this->_prepareTxt($txt, false)),
);
}
}
}
}
// for each indentified action, we have to clean up the begin and the end of the texte
// based on tags that surround it
// list of the tags to clean
$tagsToClean = array(
'page', 'page_header', 'page_footer', 'form',
'table', 'thead', 'tfoot', 'tr', 'td', 'th', 'br',
'div', 'hr', 'p', 'ul', 'ol', 'li',
'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
'bookmark', 'fieldset', 'legend',
'draw', 'circle', 'ellipse', 'path', 'rect', 'line', 'g', 'polygon', 'polyline',
'option'
);
// foreach action
$nb = count($actions);
for ($k=0; $k<$nb; $k++) {
// if it is a Text
if ($actions[$k]['name']=='write') {
// if the tag before the text is a tag to clean => ltrim on the text
if ($k>0 && in_array($actions[$k-1]['name'], $tagsToClean))
$actions[$k]['param']['txt'] = ltrim($actions[$k]['param']['txt']);
// if the tag after the text is a tag to clean => rtrim on the text
if ($k<$nb-1 && in_array($actions[$k+1]['name'], $tagsToClean))
$actions[$k]['param']['txt'] = rtrim($actions[$k]['param']['txt']);
// if the text is empty => remove the action
if (!strlen($actions[$k]['param']['txt']))
unset($actions[$k]);
}
}
// if we are not on the level 0 => HTML validator ERROR
if (count($parents)) throw new HTML2PDF_exception(5, $parents);
// save the actions to do
$this->code = array_values($actions);
}
/**
* prepare the text
*
* @param string texte
* @param boolean true => replace multiple space+\t+\r+\n by a single space
* @return string texte
* @access protected
*/
protected function _prepareTxt($txt, $spaces = true)
{
if ($spaces) $txt = preg_replace('/\s+/is', ' ', $txt);
$txt = str_replace('&euro;', '€', $txt);
$txt = html_entity_decode($txt, ENT_QUOTES, $this->_encoding);
return $txt;
}
/**
* parse the HTML code
*
* @param &array array's result
* @return null
*/
protected function _searchCode(&$tmp)
{
// initialise the array
$tmp = array();
// regexp to separate the tags from the texts
$reg = '/(<[^>]+>)|([^<]+)+/isU';
// last match found
$str = '';
$offset = 0;
// As it finds a match
while (preg_match($reg, $this->_html, $parse, PREG_OFFSET_CAPTURE, $offset)) {
// if it is a tag
if ($parse[1][0]) {
// save the previous text if it exists
if ($str!=='') $tmp[] = array('txt', $str);
// save the tag, with the offset
$tmp[] = array('code', trim($parse[1][0]), $offset);
// init the current text
$str = '';
} else { // else (if it is a text)
// add the new text to the current text
$str.= $parse[2][0];
}
// Update offset to the end of the match
$offset = $parse[0][1] + strlen($parse[0][0]);
unset($parse);
}
// if a text is present in the end, we save it
if ($str!='') $tmp[] = array('txt', $str);
unset($str);
}
/**
* analise a HTML tag
*
* @param string HTML code to analise
* @return array corresponding action
*/
protected function _analiseCode($code)
{
// name of the tag, opening, closure, autoclosure
$tag = '<([\/]{0,1})([_a-z0-9]+)([\/>\s]+)';
if (!preg_match('/'.$tag.'/isU', $code, $match)) return null;
$close = ($match[1]=='/' ? true : false);
$autoclose = preg_match('/\/>$/isU', $code);
$name = strtolower($match[2]);
// required parameters (depends on the tag name)
$param = array();
$param['style'] = '';
if ($name=='img') {
$param['alt'] = '';
$param['src'] = '';
}
if ($name=='a') {
$param['href'] = '';
}
// read the parameters : nom=valeur
$prop = '([a-zA-Z0-9_]+)=([^"\'\s>]+)';
preg_match_all('/'.$prop.'/is', $code, $match);
for($k=0; $k<count($match[0]); $k++)
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
// read the parameters : nom="valeur"
$prop = '([a-zA-Z0-9_]+)=["]([^"]*)["]';
preg_match_all('/'.$prop.'/is', $code, $match);
for($k=0; $k<count($match[0]); $k++)
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
// read the parameters : nom='valeur'
$prop = "([a-zA-Z0-9_]+)=[']([^']*)[']";
preg_match_all('/'.$prop.'/is', $code, $match);
for($k=0; $k<count($match[0]); $k++)
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
// compliance of each parameter
$color = "#000000";
$border = null;
foreach ($param as $key => $val) {
$key = strtolower($key);
switch($key)
{
case 'width':
unset($param[$key]);
$param['style'] .= 'width: '.$val.'px; ';
break;
case 'align':
if ($name==='img') {
unset($param[$key]);
$param['style'] .= 'float: '.$val.'; ';
} elseif ($name!=='table') {
unset($param[$key]);
$param['style'] .= 'text-align: '.$val.'; ';
}
break;
case 'valign':
unset($param[$key]);
$param['style'] .= 'vertical-align: '.$val.'; ';
break;
case 'height':
unset($param[$key]);
$param['style'] .= 'height: '.$val.'px; ';
break;
case 'bgcolor':
unset($param[$key]);
$param['style'] .= 'background: '.$val.'; ';
break;
case 'bordercolor':
unset($param[$key]);
$color = $val;
break;
case 'border':
unset($param[$key]);
if (preg_match('/^[0-9]+$/isU', $val)) $val = $val.'px';
$border = $val;
break;
case 'cellpadding':
case 'cellspacing':
if (preg_match('/^([0-9]+)$/isU', $val)) $param[$key] = $val.'px';
break;
case 'colspan':
case 'rowspan':
$val = preg_replace('/[^0-9]/isU', '', $val);
if (!$val) $val = 1;
$param[$key] = $val;
break;
}
}
// compliance of the border
if ($border!==null) {
if ($border) $border = 'border: solid '.$border.' '.$color;
else $border = 'border: none';
$param['style'] .= $border.'; ';
$param['border'] = $border;
}
// reading styles: decomposition and standardization
$styles = explode(';', $param['style']);
$param['style'] = array();
foreach ($styles as $style) {
$tmp = explode(':', $style);
if (count($tmp)>1) {
$cod = $tmp[0];
unset($tmp[0]);
$tmp = implode(':', $tmp);
$param['style'][trim(strtolower($cod))] = preg_replace('/[\s]+/isU', ' ', trim($tmp));
}
}
// determining the level of table opening, with an added level
if (in_array($name, array('ul', 'ol', 'table')) && !$close) {
$this->_num++;
$this->_level[count($this->_level)] = $this->_num;
}
// get the level of the table containing the element
if (!isset($param['num'])) {
$param['num'] = $this->_level[count($this->_level)-1];
}
// for closures table: remove a level
if (in_array($name, array('ul', 'ol', 'table')) && $close) {
unset($this->_level[count($this->_level)-1]);
}
// prepare the parameters
if (isset($param['value'])) $param['value'] = $this->_prepareTxt($param['value']);
if (isset($param['alt'])) $param['alt'] = $this->_prepareTxt($param['alt']);
if (isset($param['title'])) $param['title'] = $this->_prepareTxt($param['title']);
if (isset($param['class'])) $param['class'] = $this->_prepareTxt($param['class']);
// return the new action to do
return array('name' => $name, 'close' => $close ? 1 : 0, 'autoclose' => $autoclose, 'param' => $param);
}
/**
* get a full level of HTML, between an opening and closing corresponding
*
* @param integer key
* @return array actions
*/
public function getLevel($k)
{
// if the code does not exist => return empty
if (!isset($this->code[$k])) return array();
// the tag to detect
$detect = $this->code[$k]['name'];
// if it is a text => return
if ($detect=='write') {
return array($this->code[$k]);
}
//
$level = 0; // depth level
$end = false; // end of the search
$code = array(); // extract code
// while it's not ended
while (!$end) {
// current action
$row = $this->code[$k];
// if 'write' => we add the text
if ($row['name']=='write') {
$code[] = $row;
} else { // else, it is a html tag
$not = false; // flag for not taking into account the current tag
// if it is the searched tag
if ($row['name']==$detect) {
// if we are just at the root level => dont take it
if ($level==0) {
$not = true;
}
// update the level
$level+= ($row['close'] ? -1 : 1);
// if we are now at the root level => it is the end, and dont take it
if ($level==0) {
$not = true;
$end = true;
}
}
// if we can takin into account the current tag => save it
if (!$not) {
if (isset($row['style']['text-align'])) unset($row['style']['text-align']);
$code[] = $row;
}
}
// it continues as long as there has code to analise
if (isset($this->code[$k+1]))
$k++;
else
$end = true;
}
// return the extract
return $code;
}
/**
* return a part of the HTML code, for error message
*
* @param integer position
* @param integer take before
* @param integer take after
* @return string part of the html code
*/
public function getHtmlErrorCode($pos, $before=30, $after=40)
{
return substr($this->_html, $pos-$before, $before+$after);
}
}

View File

@@ -0,0 +1,251 @@
<?php
//============================================================+
// File name : tcpdf_config.php
// Begin : 2004-06-11
// Last Update : 2009-09-30
//
// Description : Configuration file for TCPDF.
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com s.r.l.
// Via Della Pace, 11
// 09044 Quartucciu (CA)
// ITALY
// www.tecnick.com
// info@tecnick.com
//============================================================+
/**
* Configuration file for TCPDF.
* @author Nicola Asuni
* @copyright 2004-2008 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com)
* Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
* @package com.tecnick.tcpdf
* @version 4.0.014
* @link http://tcpdf.sourceforge.net
* @license http://www.gnu.org/copyleft/lesser.html LGPL
* @since 2004-10-27
*/
// If you define the constant K_TCPDF_EXTERNAL_CONFIG, the following settings will be ignored.
if (!defined('K_TCPDF_EXTERNAL_CONFIG')) {
define('K_TCPDF_EXTERNAL_CONFIG', true);
// DOCUMENT_ROOT fix for IIS Webserver
if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) {
if (isset($_SERVER['SCRIPT_FILENAME'])) {
$_SERVER['DOCUMENT_ROOT'] = str_replace(
'\\',
'/',
substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']))
);
} elseif (isset($_SERVER['PATH_TRANSLATED'])) {
$_SERVER['DOCUMENT_ROOT'] = str_replace(
'\\',
'/',
substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF']))
);
} else {
// define here your DOCUMENT_ROOT path if the previous fails
$_SERVER['DOCUMENT_ROOT'] = '/var/www';
}
}
// Automatic calculation for the following K_PATH_MAIN constant
$kPathMain = str_replace('\\', '/', dirname(__FILE__));
$kPathMain = dirname($kPathMain).'/'; // remove the current directory
$kPathMain.= '../../ensepar/tcpdf/';
define('K_PATH_MAIN', $kPathMain);
// Automatic calculation for the following K_PATH_URL constant
if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) {
if (isset($_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND strtolower($_SERVER['HTTPS'])!='off') {
$kPathUrl = 'https://';
} else {
$kPathUrl = 'http://';
}
$kPathUrl .= $_SERVER['HTTP_HOST'];
$kPathUrl .= str_replace('\\', '/', substr(K_PATH_MAIN, (strlen($_SERVER['DOCUMENT_ROOT']) - 1)));
}
else{
$kPathUrl = '';
}
/**
* URL path to tcpdf installation folder (http://localhost/tcpdf/).
* By default it is automatically calculated but you can also set it as a fixed string to improve performances.
*/
define('K_PATH_URL', $kPathUrl);
/**
* path for PDF fonts
* use K_PATH_MAIN.'fonts/old/' for old non-UTF8 fonts
*/
define('K_PATH_FONTS', K_PATH_MAIN.'fonts/');
/**
* cache directory for temporary files (full path)
*/
define('K_PATH_CACHE', K_PATH_MAIN.'cache/');
/**
* cache directory for temporary files (url path)
*/
define('K_PATH_URL_CACHE', K_PATH_URL.'cache/');
/**
*images directory
*/
define('K_PATH_IMAGES', K_PATH_MAIN.'images/');
/**
* blank image
*/
define('K_BLANK_IMAGE', K_PATH_IMAGES.'_blank.png');
/**
* page format
*/
define('PDF_PAGE_FORMAT', 'A4');
/**
* page orientation (P=portrait, L=landscape)
*/
define('PDF_PAGE_ORIENTATION', 'P');
/**
* document creator
*/
define('PDF_CREATOR', 'HTML2PDF - TCPDF');
/**
* document author
*/
define('PDF_AUTHOR', 'HTML2PDF - TCPDF');
/**
* header title
*/
define('PDF_HEADER_TITLE', null);
/**
* header description string
*/
define('PDF_HEADER_STRING', null);
/**
* image logo
*/
define('PDF_HEADER_LOGO', null);
/**
* header logo image width [mm]
*/
define('PDF_HEADER_LOGO_WIDTH', null);
/**
* document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
*/
define('PDF_UNIT', 'mm');
/**
* header margin
*/
define('PDF_MARGIN_HEADER', 0);
/**
* footer margin
*/
define('PDF_MARGIN_FOOTER', 0);
/**
* top margin
*/
define('PDF_MARGIN_TOP', 0);
/**
* bottom margin
*/
define('PDF_MARGIN_BOTTOM', 0);
/**
* left margin
*/
define('PDF_MARGIN_LEFT', 0);
/**
* right margin
*/
define('PDF_MARGIN_RIGHT', 0);
/**
* default main font name
*/
define('PDF_FONT_NAME_MAIN', 'helvetica');
/**
* default main font size
*/
define('PDF_FONT_SIZE_MAIN', 10);
/**
* default data font name
*/
define('PDF_FONT_NAME_DATA', 'helvetica');
/**
* default data font size
*/
define('PDF_FONT_SIZE_DATA', 8);
/**
* default monospaced font name
*/
define('PDF_FONT_MONOSPACED', 'courier');
/**
* ratio used to adjust the conversion of pixels to user units
*/
define('PDF_IMAGE_SCALE_RATIO', 1);
/**
* magnification factor for titles
*/
define('HEAD_MAGNIFICATION', 1);
/**
* height of cell repect font height
*/
define('K_CELL_HEIGHT_RATIO', 1);
/**
* title magnification respect main font size
*/
define('K_TITLE_MAGNIFICATION', 1);
/**
* reduction factor for small font
*/
define('K_SMALL_RATIO', 2/3);
/**
* set to true to enable the special procedure used to avoid the overlappind of symbols on Thai language
*/
define('K_THAI_TOPCHARS', true);
/**
* if true allows to call TCPDF methods using HTML syntax
* IMPORTANT: For security reason, disable this feature if you are printing user HTML content.
*/
define('K_TCPDF_CALLS_IN_HTML', false);
}
//============================================================+
// END OF FILE
//============================================================+

View File

@@ -0,0 +1,95 @@
*******************************************************
** Ce programme est distribué sous la licence LGPL, **
** reportez-vous au fichier _LGPL.txt ou à **
** http://www.gnu.org/licenses/lgpl.html **
** pour en savoir plus. **
** **
** Copyright 2008-2011 par Laurent Minguet **
*******************************************************
*******************************
* HTML2PDF v4.03 - 27/05/2011 *
*******************************
Utilisation :
------------
- nécessite au minimum PHP5
- regardez les exemples fournis, et lisez le wiki pour comprendre le fonctionnement.
- il est TRES IMPORTANT de fournir du HTML 4.01 valide au convertisseur,
mais seulement ce que contient le <body>
- pour les borders : il est conseillé qu'ils soient au format "solid 1mm #000000"
- pour les paddings : ils ne sont applicables qu'aux balises table, th, td, div, li
- Une fonte par défaut peut être précisée,au cas ou la fonte demandée n'existe pas ou si aucune fonte n'est indiquée :
$html2pdf->setDefaultFont('Arial');
- la possibilité de protéger vos PDF est présente, CF Exemple 7.
- Certains tests peuvent être activés (true) ou de désactivés(false) :
* méthode setTestIsImage : tester que les images existent bien
* méthode setTestTdInOnePage : tester que le contenu des TDs rentre sur une seule page
* méthode setTestIsDeprecated : tester que les anciennes propriétes des balises spécifiques ne sont plus présentes
- Un mode DEBUG permettant de connaitre les ressources utilisées lors de la construction du PDF est présent.
Il est activable en rajoutant la commande suivante juste après le constructeur (cf exemple 0):
$htmlpdf->setModeDebug();
- Certaines balises spécifiques ont été introduites :
* <page></page> (CF Exemple 7 & wiki)
permet de définir le format, l'orientation, les marges left, right, top et bottom, l'image
et la couleur de fond d'une page, sa taille et position, le footer.
Il est également possible de garder les header et footer des pages précédentes,
grâce à l'attribue pageset="old" (CF Exemple 3 & 4 & wiki)
* <page_header></page_header> (CF Exemple 3 & wiki)
* <page_footer></page_footer> (CF Exemple 3 & wiki)
* <nobreak></nobreak> (cf wiki)
permet de forcer l'affichage d'une partie sur une même page.
Si cette partie ne rentre pas dans le reste de la page, un saut de page est
effectué avant.
* <barcode></barcode> (CF Exemples 0 et 9 & wiki)
permet d'insérer des barcodes dans les pdfs, CF Exemples 0 et 9
Les types de codebar possible sont ceux de TCPDF
* <qrcode></qrcode> (CF Exemple 13 & wiki)
permet d'insérer un codebar à 2 dimensions de type QRcode
(QR Code is registered trademark of DENSO WAVE INCORPORATED | http://www.denso-wave.com/qrcode/)
* <bookmark></bookmark> (CF Exemples 7 & About & wiki)
permet d'insérer des bookmarks dans les pdfs, CF Exemple 7 et About.
Il est également possible de créer un index automatiquement en fin de
document (cf wiki)
* propriété css "rotate" :
valeurs possibles : 0, 90, 180, 270
applicable uniquement sur les divs (cf exemple 8)
change log :
-----------
regardez le fichier _changelog.txt
Aide et Support :
----------------
pour toutes questions et rapport de bug, merci d'utiliser exclusivement le lien de support ci-dessous.
Je ne répondrai à aucune question en dehors, afin que tout le monde puisse profiter des réponses.
Informations :
-------------
Programmeur : Spipu
email : webmaster@html2pdf.fr
site : http://html2pdf.fr/
wiki : http://html2pdf.fr/fr/wiki
support : http://html2pdf.fr/fr/forum
Remerciement :
-------------
* Olivier Plathey pour avoir conçu FPDF
* Nicola Asuni pour les modifications qu'il a accepté d'apporter à TCPDF
* yAronet pour l'hébergement du forum de support
* toutes les personnes qui m'ont aidé à développer cette librairie, et à traduire les différents textes

View File

@@ -0,0 +1,93 @@
*********************************************************
** This program is distributed under the LGPL License, **
** for more information see file _LGPL.txt or **
** http://www.gnu.org/licenses/lgpl.html **
** **
** Copyright 2008-2011 by Laurent Minguet **
*********************************************************
*******************************
* HTML2PDF v4.03 - 2011-05-27 *
*******************************
How to use :
------------
- You need at least PHP 5
- Look at the examples provided to see how it works.
- It is very important to provide valid HTML 4.01 to the converter,
but only what is in the <body>
- for borders: it is advised that they are like "solid 1mm #000000"
- for padding, they are applicable only on tags table, th, td, div, li
- A default font can be specified, if the requested font does not exist or if no font is specified:
$html2pdf->setDefaultFont('Arial');
- The possibility to protect your PDF is present, CF Example 7.
- Some tests can be enabled (true) or disabled (false) :
* setTestIsImage method: test that images must exist
* setTestTdInOnePage method: test that the contents of TDs fit on one page
* setTestIsDeprecated method: test that old properties of specific tags are not used anymore
- A DEBUG mode to know the resources used is present
It is activated by adding the following command just after the contructor (see Example 0):
$htmlpdf->setModeDebug();
- Some specific tags have been introduced:
* <page></page> (CF Exemple 7 & wiki)
determines the orientation, margins left, right, top and bottom, the background image
and the background color of a page, its size and position, the footer.
It is also possible to keep the header and footer of the previous pages,
through the attribut pageset="old" (see Example 3 & 4 & wiki)
* <page_header></page_header> (CF Example 3 & wiki)
* <page_footer></page_footer> (CF Example 3 & wiki)
* <nobreak></nobreak> (cd wiki)
used to force the display of a section on the same page.
If this section does not fit into the rest of the page, a page break is done before.
* <barcode></barcode> (CF Examples 0 & 9 & wiki)
can insert barcodes in pdfs, CF Examples 0 and 9
The possible types of codebar are alls of TCPDF
* <qrcode></qrcode> (CF Example 13 & wiki)
can insert QRcode 2D barcodes
(QR Code is registered trademark of DENSO WAVE INCORPORATED | http://www.denso-wave.com/qrcode/)
* <bookmark></bookmark> (CF Examples 7 & About & wiki)
can insert bookmark in pdfs, CF Example 7 and About.
It is also possible to automatically create an index at the end of
document (CF Example About & wiki)
* css property "rotate" :
values : 0, 90, 180, 270
works only on div (cf example 8)
change log :
-----------
see on this page : http://html2pdf.fr/en/download
Help & Support :
---------------
For questions and bug reports, thank you to use only the support link below.
I will answer to your questions only on it...
Informations :
-------------
Programmer : Spipu
email : webmaster@html2pdf.fr
web site : http://html2pdf.fr/
wiki : http://html2pdf.fr/en/wiki
support : http://html2pdf.fr/en/forum
Thanks :
-------
* Olivier Plathey: for have made FPDF
* Nicola Asuni: for the changes he has agreed to make to TCPDF
* yAronet: for hosting support forum
* everyone who helped me to develop this library and to bring the texts

View File

@@ -0,0 +1,34 @@
{
"name": "ensepar/html2pdf",
"type": "library",
"version": "1.0.1",
"description": "Unofficial fork of 'html2pdf' with Composer support. (Fixed composer dependency problem)",
"keywords": ["html", "pdf", "html2pdf"],
"homepage": "https://github.com/jwronsky/html2pdf",
"license": "LGPL",
"authors":
[
{
"name": "Spipu",
"homepage": "http://sourceforge.net/users/spipu",
"role": "Developer"
},
{
"name": "OwlyCode",
"homepage": "http://www.github.com/OwlyCode",
"role": "Developer"
}
],
"require":
{
"php": ">=5.2",
"ensepar/tcpdf": "5.0.003"
},
"autoload":
{
"psr-0":
{
"HTML2PDF": "."
}
}
}

View File

@@ -0,0 +1,40 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname('__FILE__').'/res/about.php');
$content = ob_get_clean();
try
{
// init HTML2PDF
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 0, 0, 0));
// display the full page
$html2pdf->pdf->SetDisplayMode('fullpage');
// convert
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
// add the automatic index
$html2pdf->createIndex('Sommaire', 30, 12, false, true, 2);
// send the PDF
$html2pdf->Output('about.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,111 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
ob_start();
?>
<style type="text/css">
<!--
table.page_header {width: 100%; border: none; background-color: #DDDDFF; border-bottom: solid 1mm #AAAADD; padding: 2mm }
table.page_footer {width: 100%; border: none; background-color: #DDDDFF; border-top: solid 1mm #AAAADD; padding: 2mm}
h1 {color: #000033}
h2 {color: #000055}
h3 {color: #000077}
div.niveau
{
padding-left: 5mm;
}
-->
</style>
<page backtop="14mm" backbottom="14mm" backleft="10mm" backright="10mm" style="font-size: 12pt">
<page_header>
<table class="page_header">
<tr>
<td style="width: 100%; text-align: left">
Exemple d'utilisation des bookmarks
</td>
</tr>
</table>
</page_header>
<page_footer>
<table class="page_footer">
<tr>
<td style="width: 100%; text-align: right">
page [[page_cu]]/[[page_nb]]
</td>
</tr>
</table>
</page_footer>
<bookmark title="Sommaire" level="0" ></bookmark>
</page>
<page pageset="old">
<bookmark title="Chapitre 1" level="0" ></bookmark><h1>Chapitre 1</h1>
<div class="niveau">
Contenu du chapitre 1
</div>
</page>
<page pageset="old">
<bookmark title="Chapitre 2" level="0" ></bookmark><h1>Chapitre 2</h1>
<div class="niveau">
intro au chapitre 2
<bookmark title="Chapitre 2.1" level="1" ></bookmark><h2>Chapitre 2.1</h2>
<div class="niveau">
Contenu du chapitre 2.1
</div>
<bookmark title="Chapitre 2.2" level="1" ></bookmark><h2>Chapitre 2.2</h2>
<div class="niveau">
Contenu du chapitre 2.2
</div>
<bookmark title="Chapitre 2.3" level="1" ></bookmark><h2>Chapitre 2.3</h2>
<div class="niveau">
Contenu du chapitre 2.3
</div>
</div>
</page>
<page pageset="old">
<bookmark title="Chapitre 3" level="0" ></bookmark><h1>Chapitre 3</h1>
<div class="niveau">
intro au chapitre 3
<bookmark title="Chapitre 3.1" level="1" ></bookmark><h2>Chapitre 3.1</h2>
<div class="niveau">
Contenu du chapitre 3.1
</div>
<bookmark title="Chapitre 3.2" level="1" ></bookmark><h2>Chapitre 3.2</h2>
<div class="niveau">
intro au chapitre 3.2
<bookmark title="Chapitre 3.2.1" level="2" ></bookmark><h3>Chapitre 3.2.1</h3>
<div class="niveau">
Contenu du chapitre 3.2.1
</div>
<bookmark title="Chapitre 3.2.2" level="2" ></bookmark><h3>Chapitre 3.2.2</h3>
<div class="niveau">
Contenu du chapitre 3.2.2
</div>
</div>
</div>
</page>
<?php
$content = ob_get_clean();
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 0);
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->createIndex('Sommaire', 25, 12, false, true, 1);
$html2pdf->Output('bookmark.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,32 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple00.php');
$content = ob_get_clean();
// convert in PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
// $html2pdf->setModeDebug();
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple00.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple01.php');
$content = ob_get_clean();
// convert in PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple01.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,32 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple02.php');
$content = ob_get_clean();
// convert in PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(15, 5, 15, 5));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple02.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple03.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 3);
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple03.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple04.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple04.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple05.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple05.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple06.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple06.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,33 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple07a.php');
include(dirname(__FILE__).'/res/exemple07b.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
// $html2pdf->pdf->SetProtection(array('print'), 'spipu');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple07.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple08.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 0);
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple08.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,74 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
*/
$generate = isset($_GET['make_pdf']);
$nom = isset($_GET['nom']) ? $_GET['nom'] : 'inconnu';
$nom = substr(preg_replace('/[^a-zA-Z0-9]/isU', '', $nom), 0, 26);
if ($generate) {
ob_start();
} else {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<title>Exemple d'auto génération de PDF</title>
</head>
<body>
<?php
}
$url = dirname($_SERVER['REQUEST_URI']).'/res/exemple09.png.php?px=5&amp;py=20';
if (substr($url, 0, 7)!=='http://') {
$url = 'http://'.$_SERVER['HTTP_HOST'].$url;
}
?>
<br>
Ceci est un exemple de génération de PDF via un bouton :)<br>
<br>
<img src="<?php echo $url; ?>" alt="image_php" ><br>
<br>
<?php
if ($generate) {
?>
Bonjour <b><?php echo $nom; ?></b>, ton nom peut s'écrire : <br>
<barcode type="C39" value="<?php echo strtoupper($nom); ?>" style="color: #770000" ></barcode><hr>
<br>
<?php
}
?>
<br>
<?php
if ($generate) {
$content = ob_get_clean();
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content);
$html2pdf->Output('exemple09.pdf');
exit;
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
}
?>
<form method="get" action="">
<input type="hidden" name="make_pdf" value="">
Ton nom : <input type="text" name="nom" value=""> -
<input type="submit" value="Generer le PDF" >
</form>
</body>
</html>

View File

@@ -0,0 +1,28 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
ob_start();
include(dirname(__FILE__).'/res/exemple10.php');
$content = ob_get_clean();
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple10.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple11.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->setTestTdInOnePage(false);
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple11.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple12.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple12.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/exemple13.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple13.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,39 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// for display the post information
if (isset($_POST['test'])) {
echo '<pre>';
echo htmlentities(print_r($_POST, true));
echo '</pre>';
exit;
}
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/forms.php');
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('forms.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,71 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
ob_start();
?>
<style type="text/css">
<!--
table.page_header {width: 100%; border: none; background-color: #DDDDFF; border-bottom: solid 1mm #AAAADD; padding: 2mm }
table.page_footer {width: 100%; border: none; background-color: #DDDDFF; border-top: solid 1mm #AAAADD; padding: 2mm}
-->
</style>
<page backtop="14mm" backbottom="14mm" backleft="10mm" backright="10mm" pagegroup="new">
<page_header>
<table class="page_header">
<tr>
<td style="width: 100%; text-align: left">
Exemple d'utilisation des groupes de pages
</td>
</tr>
</table>
</page_header>
<page_footer>
<table class="page_footer">
<tr>
<td style="width: 100%; text-align: right">
page [[page_cu]]/[[page_nb]]
</td>
</tr>
</table>
</page_footer>
Ceci est la page 1 du groupe 1
</page>
<page pageset="old">
Ceci est la page 2 du groupe 1
</page>
<page pageset="old">
Ceci est la page 3 du groupe 1
</page>
<?php for ($k=2; $k<5; $k++): ?>
<page pageset="old" pagegroup="new">
Ceci est la page 1 du groupe <?php echo $k; ?>
</page>
<page pageset="old">
Ceci est la page 2 du groupe <?php echo $k; ?>
</page>
<?php endfor; ?>
<?php
$content = ob_get_clean();
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 0);
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('groups.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
?>
<page>
<h1>Test de JavaScript 1</h1><br>
<br>
Normalement la fenetre d'impression devrait apparaitre automatiquement
</page>
<?php
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->IncludeJS("print(true);");
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('js1.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
?>
<page>
<h1>Test de JavaScript 2</h1><br>
<br>
Normalement une alerte devrait apparaitre, indiquant "coucou"
</page>
<?php
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->IncludeJS("app.alert('coucou');");
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('js2.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,43 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
?>
<page>
<h1>Test de JavaScript 3</h1><br>
<br>
Normalement une valeur devrait vous être demandée, puis affichée
</page>
<?php
$content = ob_get_clean();
// PDF script to execute
$script = "
var rep = app.response('Donnez votre nom');
app.alert('Vous vous appelez '+rep);
";
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->IncludeJS($script);
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('js3.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,65 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
$msg = "Le site de html2pdf\r\nhttp://html2pdf.fr/";
?>
<page backtop="10mm" >
<page_header>
<table style="width: 100%; border: solid 1px black;">
<tr>
<td style="text-align: left; width: 50%">html2pdf</td>
<td style="text-align: right; width: 50%">Exemples de QRcode</td>
</tr>
</table>
</page_header>
<h1>Exemples de QRcode</h1>
<h3>Message avec Correction d'erreur L, M, Q, H (valeur par défaut : H)</h3>
<qrcode value="<?php echo $msg; ?>" ec="L" style="width: 30mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" ec="M" style="width: 30mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" ec="Q" style="width: 30mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" ec="H" style="width: 30mm;"></qrcode>
<br>
<h3>Message avec différentes largeurs</h3>
<qrcode value="<?php echo $msg; ?>" style="width: 20mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 30mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 40mm;"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 50mm;"></qrcode>
<br>
<h3>Message de différentes couleurs</h3>
<qrcode value="<?php echo $msg; ?>" style="width: 40mm; background-color: white; color: black;"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 40mm; background-color: yellow; color: red"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 40mm; background-color: #FFCCFF; color: #003300"></qrcode>
<qrcode value="<?php echo $msg; ?>" style="width: 40mm; background-color: #CCFFFF; color: #003333"></qrcode>
<br>
<h3>Message sans border</h3>
<qrcode value="<?php echo $msg; ?>" style="border: none; width: 40mm;"></qrcode>
<br>
</page>
<?php
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('qrcode.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,53 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
?>
<style type="text/css">
<!--
.div { background: #CCDDCC; color: #002200; text-align: center; width: 70mm; height: 20mm; margin: 2mm; }
.div1 { border: solid 2mm black; border-radius: 5mm; -moz-border-radius: 5mm; }
.div2 { border: solid 2mm black; border-radius: 3mm 10mm 0mm 3mm; -moz-border-radius: 3mm 10mm 0mm 3mm; }
.div3 { border: solid 2mm black; border-radius: 10mm / 7mm; -moz-border-radius: 10mm / 7mm; }
.div4 { border: solid 6mm black; border-radius: 5mm / 10mm; -moz-border-radius: 5mm / 10mm; }
.div5 { border: solid 5mm black; border-top: none; border-bottom: none; border-radius: 5mm; -moz-border-radius: 5mm; }
.div6 { border: solid 5mm black; border-left: none; border-right: none; border-radius: 5mm; -moz-border-radius: 5mm; }
.div7 { border: solid 5mm black; border-left: none; border-top: none; border-radius: 5mm; -moz-border-radius: 5mm; }
.div8 { border-radius: 8mm; -moz-border-radius: 8mm; border-left: solid 2mm #660000; border-top: solid 1mm #006600; border-right: solid 2mm #000066; border-bottom: solid 4mm #004444;}
-->
</style>
<page>
<div class="div div1">Exemple de div</div>
<div class="div div2">Exemple de div</div>
<div class="div div3">Exemple de div</div>
<div class="div div4">Exemple de div</div>
<div class="div div5">Exemple de div</div>
<div class="div div6">Exemple de div</div>
<div class="div div7">Exemple de div</div>
<div class="div div8">Exemple de div</div>
</page>
<?php
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('radius.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,59 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
?>
<style type="text/css">
<!--
table
{
padding: 0;
margin: 0;
border: none;
border-right: solid 0.2mm black;
}
td
{
padding: 0;
margin: 0;
border: none;
}
img
{
width: 10mm;
}
-->
</style>
<page>
<table cellpadding="0" cellspacing="0"><tr>
<?php for($k=0; $k<28; $k++) echo '<td><img src="./res/regle.png" alt="" ><br>'.$k.'</td>'; ?>
</tr></table>
</page>
<?php
$content = ob_get_clean();
// convert to PDF
try
{
$html2pdf = new HTML2PDF('L', 'A4', 'fr', true, 'UTF-8', 10);
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('regle.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,241 @@
<style type="text/css">
<!--
table.page_header {width: 100%; border: none; background-color: #DDDDFF; border-bottom: solid 1mm #AAAADD; padding: 2mm }
table.page_footer {width: 100%; border: none; background-color: #DDDDFF; border-top: solid 1mm #AAAADD; padding: 2mm}
div.note {border: solid 1mm #DDDDDD;background-color: #EEEEEE; padding: 2mm; border-radius: 2mm; width: 100%; }
ul.main { width: 95%; list-style-type: square; }
ul.main li { padding-bottom: 2mm; }
h1 { text-align: center; font-size: 20mm}
h3 { text-align: center; font-size: 14mm}
-->
</style>
<page backtop="14mm" backbottom="14mm" backleft="10mm" backright="10mm" style="font-size: 12pt">
<page_header>
<table class="page_header">
<tr>
<td style="width: 50%; text-align: left">
A propos de ...
</td>
<td style="width: 50%; text-align: right">
HTML2PDF v<?php echo __CLASS_HTML2PDF__; ?>
</td>
</tr>
</table>
</page_header>
<page_footer>
<table class="page_footer">
<tr>
<td style="width: 33%; text-align: left;">
http://html2pdf.fr/
</td>
<td style="width: 34%; text-align: center">
page [[page_cu]]/[[page_nb]]
</td>
<td style="width: 33%; text-align: right">
&copy;Spipu 2008-2011
</td>
</tr>
</table>
</page_footer>
<bookmark title="Présentation" level="0" ></bookmark>
<br><br><br><br><br><br><br><br>
<h1>HTML2PDF</h1>
<h3>v<?php echo __CLASS_HTML2PDF__; ?></h3><br>
<br><br><br><br><br>
<div style="text-align: center; width: 100%;">
<br>
<img src="./res/logo.png" alt="Logo HTML2PDF" style="width: 150mm">
<br>
</div>
<br><br><br><br><br>
<div class="note">
HTML2PDF est un convertisseur de code HTML vers PDF écrit en PHP5, utilisant la librairie <a href="http://tcpdf.org">TCPDF.</a><br>
<br>
Il permet la conversion d'HTML et d'xHTML valide au format PDF, et est distribué sous licence LGPL.<br>
<br>
Cette librairie a été conçue pour gérer principalement les TABLE imbriquées afin de générer des factures, bon de livraison, et autres documents officiels.<br>
<br>
Vous pouvez télécharger la dernière version de HTML2PDF ici : <a href="http://html2pdf.fr/">http://html2pdf.fr/</a>.<br>
</div>
</page>
<page pageset="old">
<bookmark title="Sommaire" level="0" ></bookmark>
<!-- here will be the automatic index -->
</page>
<page pageset="old">
<bookmark title="Compatibilité" level="0" ></bookmark>
<bookmark title="Balises HTML" level="1" ></bookmark>
<bookmark title="Balises classiques" level="2" ></bookmark>
<div class="note">
La liste des balises HTML utilisables est la suivante :<br>
</div>
<br>
<ul class="main">
<li>&lt;a&gt; : Ceci est un lien vers <a href="http://html2pdf.fr">le site de HTML2PDF</a></li>
<li>&lt;b&gt;, &lt;strong&gt; : Ecrire en <b>gras</b>.</li>
<li>&lt;big&gt; : Ecrire plus <big>gros</big>.</li>
<li>&lt;br&gt; : Permet d'aller à la ligne</li>
<li>&lt;cite&gt; : <cite>Ceci est une citation</cite></li>
<li>&lt;code&gt;, &lt;pre&gt;</li>
<li>&lt;div&gt; :&nbsp;<div style="border: solid 1px #AADDAA; background: #DDFFDD; text-align: center; width: 50mm">exemple de DIV</div></li>
<li>&lt;em&gt;, &lt;i&gt;, &lt;samp&gt; : Ecrire en <em>italique</em>.</li>
<li>&lt;font&gt;, &lt;span&gt; : <font style="color: #000066; font-family: times">Exemple d'utilisation</font></li>
<li>&lt;h1&gt;, &lt;h2&gt;, &lt;h3&gt;, &lt;h4&gt;, &lt;h5&gt;, &lt;h6&gt;</li>
<li>&lt;hr&gt; : barre horizontale</li>
<li>&lt;img&gt; : <img src="./res/tcpdf_logo.jpg" style="width: 10mm"></li>
<li>&lt;p&gt; : Ecrire dans un paragraphe</li>
<li>&lt;s&gt; : Texte <s>barré</s></li>
<li>&lt;small&gt; : Ecrire plus <small>petit</small>.</li>
<li>&lt;style&gt;</li>
<li>&lt;sup&gt; : Exemple<sup>haut</sup>.</li>
<li>&lt;sub&gt; : Exemple<sub>bas</sub>.</li>
<li>&lt;u&gt; : Texte <u>souligné</u></li>
<li>&lt;table&gt;, &lt;td&gt;, &lt;th&gt;, &lt;tr&gt;, &lt;thead&gt;, &lt;tbody&gt;, &lt;tfoot&gt;, &lt;col&gt; </li>
<li>&lt;ol&gt;, &lt;ul&gt;, &lt;li&gt;</li>
<li>&lt;form&gt;, &lt;input&gt;, &lt;textarea&gt;, &lt;select&gt;, &lt;option&gt;</li>
<li>&lt;fieldset&gt;, &lt;legend&gt;</li>
<li>&lt;del&gt;, &lt;ins&gt;</li>
<li>&lt;draw&gt;, &lt;line&gt;, &lt;rect&gt;, &lt;circle&gt;, &lt;ellipse&gt;, &lt;polygone&gt;, &lt;polyline&gt;, &lt;path&gt;</li>
</ul>
<bookmark title="Balises spécifiques" level="2" ></bookmark>
<div class="note">
Les balises spécifiques suivantes ont été ajoutées :<br>
</div>
<br>
<ul class="main" >
<li>&lt;page&gt;</li>
<li>&lt;page_header&gt;</li>
<li>&lt;page_footer&gt;</li>
<li>&lt;nobreak&gt;</li>
<li>&lt;barcode&gt;</li>
<li>&lt;bookmark&gt;</li>
<li>&lt;qrcode&gt;</li>
</ul>
</page>
<page pageset="old">
<bookmark title="Styles CSS" level="1" ></bookmark>
<div class="note">
La liste des styles CSS utilisables est la suivante :<br>
</div>
<br>
<table style="width: 100%">
<tr style="vertical-align: top">
<td style="width: 50%">
<ul class="main">
<li>color</li>
<li>font-family</li>
<li>font-weight</li>
<li>font-style</li>
<li>font-size</li>
<li>text-decoration</li>
<li>text-indent</li>
<li>text-align</li>
<li>text-transform</li>
<li>vertical-align</li>
<li>width</li>
<li>height</li>
<li>line-height</li>
<li>padding</li>
<li>padding-top</li>
<li>padding-right</li>
<li>padding-bottom</li>
<li>padding-left</li>
<li>margin</li>
<li>margin-top</li>
<li>margin-right</li>
<li>margin-bottom</li>
<li>margin-left</li>
<li>position</li>
<li>top</li>
<li>bottom</li>
<li>left</li>
<li>right</li>
<li>float</li>
<li>rotate</li>
<li>background</li>
<li>background-color</li>
<li>background-image</li>
<li>background-position</li>
<li>background-repeat</li>
</ul>
</td>
<td style="width: 50%">
<ul class="main">
<li>border</li>
<li>border-style</li>
<li>border-color</li>
<li>border-width</li>
<li>border-collapse</li>
<li>border-top</li>
<li>border-top-style</li>
<li>border-top-color</li>
<li>border-top-width</li>
<li>border-right</li>
<li>border-right-style</li>
<li>border-right-color</li>
<li>border-right-width</li>
<li>border-bottom</li>
<li>border-bottom-style</li>
<li>border-bottom-color</li>
<li>border-bottom-width</li>
<li>border-left</li>
<li>border-left-style</li>
<li>border-left-color</li>
<li>border-left-width</li>
<li>border-radius</li>
<li>border-top-left-radius</li>
<li>border-top-right-radius</li>
<li>border-bottom-left-radius</li>
<li>border-bottom-right-radius</li>
<li>list-style</li>
<li>list-style-type</li>
<li>list-style-image</li>
</ul>
</td>
</tr>
</table>
</page>
<page pageset="old">
<bookmark title="Propriétés" level="1" ></bookmark>
<div class="note">
La liste des propriétés utilisables est la suivante :<br>
</div>
<br>
<table style="width: 100%">
<tr style="vertical-align: top">
<td style="width: 50%">
<ul class="main">
<li>cellpadding</li>
<li>cellspacing</li>
<li>colspan</li>
<li>rowspan</li>
<li>width</li>
<li>height</li>
</ul>
</td>
<td style="width: 50%">
<ul class="main">
<li>align</li>
<li>valign</li>
<li>bgcolor</li>
<li>bordercolor</li>
<li>border</li>
<li>type</li>
<li>value</li>
</ul>
</td>
</tr>
</table>
<bookmark title="Limitations" level="0" ></bookmark>
<div class="note">
Cette librairie comporte des limitations :<br>
</div>
<br>
<ul class="main">
<li>Les float ne sont gérés que pour la balise IMG.</li>
<li>Elle ne permet généralement pas la conversion directe d'une page HTML en PDF, ni la conversion du résultat d'un WYSIWYG en PDF.</li>
<li>Cette librairie est là pour faciliter la génération de documents PDF, pas pour convertir n'importe quelle page HTML.</li>
<li>Les formulaires ne marchent pas avec tous les viewers PDFs...</li>
<li>Lisez bien le wiki : <a href="http://wiki.spipu.net/doku.php?id=html2pdf:Accueil">http://wiki.spipu.net/doku.php?id=html2pdf:Accueil</a>.</li>
</ul>
</page>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,86 @@
<style type="text/Css">
<!--
.test1
{
border: solid 1px #FF0000;
background: #FFFFFF;
border-collapse: collapse;
}
-->
</style>
<page style="font-size: 14px">
<span style="font-weight: bold; font-size: 18pt; color: #FF0000; font-family: Times">Bonjour, voici quelques exemples<br></span>
<br>
Retours à la ligne autorisés : &lt;br&gt;, &lt;br &gt;, &lt;br/&gt;, &lt;br /&gt; <br />
<br>
Barre horizontale &lt;hr&gt;<hr style="height: 4mm; background: #AA5500; border: solid 1mm #0055AA">
Exemple de lien : <a href="http://html2pdf.fr/" >le site HTML2PDF</a><br>
<br>
Image : <img src="./res/logo.gif" alt="Logo" width=150 /><br>
<br>
Alignement horizontal des DIVs et TABLEs<br />
<table style="text-align: center; border: solid 2px red; background: #FFEEEE;width: 40%" align="center"><tr><td style="width: 100%">Test 1</td></tr></table><br />
<table style="text-align: center; border: solid 2px red; background: #FFEEEE;width: 40%; margin: auto"><tr><td style="width: 100%">Test 2</td></tr></table><br />
<div style="text-align: center; border: solid 2px red; background: #FFEEEE;width: 40%; margin: auto">Test 3</div><br />
test de tableau imbriqué :<br>
<table border="1" bordercolor="#007" bgcolor="#AAAAAA" align="center">
<tr>
<td border="1">
<table style="border: solid 1px #FF0000; background: #FFFFFF; width: 100%; text-align: center">
<tr>
<th style="border: solid 1px #007700;width: 50%">C1 «</th>
<td style="border: solid 1px #007700;width: 50%">C2 «</td>
</tr>
<tr>
<td style="border: solid 1px #007700;width: 50%">D1 &euro; &laquo;</td>
<th style="border: solid 1px #007700;width: 50%">D2 &euro; &laquo;</th>
</tr>
</table>
</td>
<td border="1">A2</td>
<td border="1">AAAAAAAA</td>
</tr>
<tr>
<td border="1">B1</td>
<td border="1" rowspan="2">
<table class="test1">
<tr>
<td style="border: solid 2px #007700">E1</td>
<td style="border: solid 2px #000077; padding: 2mm">
<table style="border: solid 1px #445500">
<tr>
<td>
<img src="./res/logo.gif" alt="Logo" width=100 />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="border: solid 2px #770000">F1</td>
<td style="border: solid 2px #007777">F2</td>
</tr>
</table>
</td>
<td border="1"><barcode type="EAN13" value="45" style="width: 30mm; height: 6mm; font-size: 4mm"></barcode></td>
</tr>
<tr>
<td border="1"><barcode type="C39" value="HTML2PDF" label="none" style="width: 35mm; height: 8mm"></barcode></td>
<td border="1">A2</td>
</tr>
</table>
<br>
Exemple avec border et padding : <br>
<table style="border: solid 5mm #770000; padding: 5mm;" cellspacing="0" >
<tr>
<td style="border: solid 3mm #007700; padding: 2mm;"><img src="./res/off.png" alt="" style="width: 20mm"></td>
</tr>
</table>
<img src="./res/off.png" style="width: 10mm;"><img src="./res/off.png" style="width: 10mm;"><img src="./res/off.png" style="width: 10mm;"><img src="./res/off.png" style="width: 10mm;"><img src="./res/off.png" style="width: 10mm;"><br>
<br>
<table style="border: solid 1px #440000; width: 150px" cellspacing="0"><tr><td style="width: 100%">Largeur : 150px</td></tr></table><br>
<table style="border: solid 1px #440000; width: 150pt" cellspacing="0"><tr><td style="width: 100%">Largeur : 150pt</td></tr></table><br>
<table style="border: solid 1px #440000; width: 100mm" cellspacing="0"><tr><td style="width: 100%">Largeur : 100mm</td></tr></table><br>
<table style="border: solid 1px #440000; width: 5in" cellspacing="0"><tr><td style="width: 100%">Largeur : 5in</td></tr></table><br>
<table style="border: solid 1px #440000; width: 80%" cellspacing="0"><tr><td style="width: 100%">Largeur : 80% </td></tr></table><br>
</page>

View File

@@ -0,0 +1,96 @@
<style type="text/css">
<!--
table.morpion
{
border: dashed 1px #444444;
}
table.morpion td
{
font-size: 15pt;
font-weight: bold;
border: solid 1px #000000;
padding: 1px;
text-align: center;
width: 25px;
}
table.morpion td.j1 { color: #0A0; }
table.morpion td.j2 { color: #A00; }
-->
</style>
<page style="font-size: 10pt">
<span style="font-weight: bold; font-size: 20pt; color: #F00">Bonjour, voici quelques exemples</span><br>
Bonjour, ceci est un test <b>de gras</b>, <i>d'italic</i>, <b><i>et des 2 ensembles</i></b>.<br>
<br>
<span style="background: red; color: white;">Ceci est un message important</span><br>
<br>
<small>Texte écrit avec small</small>, Texte écrit normalement, <big>Texte écrit avec big</big><br>
<span style="font-size: 20px">A<sub>test d'<b>indice</b></sub> et N<sup>test d'<b>exposant</b></sup>,
test<sub>test<sub>test</sub></sub>,
test<sup>test<sup>test</sup></sup>,
test<sub>test<sup>test</sup></sub>.
</span><br>
<br>
<table align="center" style="border-radius: 6mm; border-top: solid 3mm #000077; border-right: solid 2mm #007700; border-bottom: solid 1mm #770000; border-left: solid 2mm #007777; background: #DDDDAA;" ><tr><td style="width: 100mm; height: 20mm; text-align: center; ">Coucou ! ceci est un border solid avec un radius !!! </td></tr></table>
<br>
<table align="center" style="border-radius: 6mm; border: none; background: #DDDDAA;" ><tr><td style="width: 100mm; height: 20mm; text-align: center; ">Coucou ! ceci est un background avec un radius !!! </td></tr></table>
<br>
<table align="center" style="border: solid 1px #000000;"><tr><td style="border-top: solid 4mm #000077; border-right: solid 3mm #007700; border-bottom: solid 2mm #770000; border-left: solid 1mm #007777; padding: 2mm 4mm 6mm 8mm; width: 100mm; background: #FFDDDD">Coucou ! ceci est un border solid</td></tr></table><br>
<table align="center" style="border: solid 1px #000000;"><tr><td style="border-top: dotted 4mm #000077; border-right: dotted 3mm #007700; border-bottom: dotted 2mm #770000; border-left: dotted 1mm #007777; padding: 2mm 4mm 6mm 8mm; width: 100mm; background: #FFDDDD">Coucou ! ceci est un border dotted</td></tr></table><br>
<table align="center" style="border: solid 1px #000000;"><tr><td style="border-top: dashed 4mm #000077; border-right: dashed 3mm #007700; border-bottom: dashed 2mm #770000; border-left: dashed 1mm #007777; padding: 2mm 4mm 6mm 8mm; width: 100mm; background: #FFDDDD">Coucou ! ceci est un border dashed</td></tr></table><br>
<table align="center" style="border: solid 1px #000000;"><tr><td style="border-top: double 4mm #000077; border-right: double 3mm #007700; border-bottom: double 2mm #770000; border-left: double 1mm #007777; padding: 2mm 4mm 6mm 8mm; width: 100mm; background: #FFDDDD">Coucou ! ceci est un border double</td></tr></table><br>
<?php $back = 'background-image: url(./res/off.png); background-position: left top; background-repeat: repeat; '; ?>
<table style="background: #FFAAAA; color: #000022; border: 3px solid #555555;">
<tr>
<td style="width: 40mm; border: solid 1px #000000; <?php echo $back; ?>color: #003300">Case A1</td>
<td style="width: 50mm; border: solid 1px #000000; <?php echo $back; ?>font-weight: bold;">Case A2</td>
<td style="width: 60mm; border: solid 1px #000000; <?php echo $back; ?>font-size: 20px;">Case A3</td>
</tr>
<tr>
<td style="border: solid 1px #000000; text-align: left; <?php echo $back; ?>vertical-align: top; ">Case B1</td>
<td style="border: solid 1px #000000; text-align: center; <?php echo $back; ?>vertical-align: middle; height: 20mm">Case B2<hr style="color: #22AA22">test de hr</td>
<td style="border: solid 1px #000000; text-align: right; <?php echo $back; ?>vertical-align: bottom; border-radius: 3mm; ">Case B3</td>
</tr>
</table>
<br>
<table style="border: solid 2px #550000; background: #000022 url(./res/logo.png) center center no-repeat; color: #FFFFFF;">
<tr >
<td style="border: solid 1px #AAAAAA;">Case A1<BR>avec tests diverses</td>
<td style="border: solid 1px #AAAAAA;">Case A2</td>
<td style="border: solid 1px #AAAAAA;">Case A3 classic</td>
</tr>
<tr>
<td style="border: solid 1px #AAAAAA;">Case B1<br>toto</td>
<td style="border: solid 1px #AAAAAA;background: #FF0000">Case B2</td>
<td style="border: solid 1px #AAAAAA;">Case B3</td>
</tr>
</table>
<br>
<table class="morpion" cellspacing="5px">
<tr>
<td class="j1">X</td>
<td class="j2">O</td>
<td class="j1">X</td>
</tr>
<tr>
<td class="j2">O</td>
<td class="j1">X</td>
<td ></td>
</tr>
<tr>
<td class="j2">O</td>
<td></td>
<td class="j1">X</td>
</tr>
</table>
<br>
<table style="border: dotted 1mm #FFFFFF; background: #AAAAFF">
<tr>
<td style="width: 42mm; text-align: center;font-size: 5mm">
Ceci est un test
</td>
</tr>
</table>
</page>

View File

@@ -0,0 +1,118 @@
<?php
$content = 'A Test overflow<br>A Test overflow<br>A Test overflow<br>
<img src="./res/logo.gif" alt="logo" style="width: XXXmm"><br>
B Test overflow<br>B Test overflow<br>B Test overflow<br>
<img src="./res/logo.gif" alt="logo" style="width: XXXmm"><br>
C Test overflow<br>C Test overflow<br>C Test overflow<br>';
?>
<style type="text/css">
<!--
div.zone
{
border: solid 2mm #66AACC;
border-radius: 3mm;
padding: 1mm;
background-color: #FFEEEE;
color: #440000;
}
div.zone_over
{
width: 30mm;
height: 35mm;
overflow: hidden;
}
-->
</style>
<page style="font-size: 10pt">
<span style="font-size: 16pt ; font-weight: bold">Démonstration des images</span><br>
<br>
<b>Dans un tableau :</b><br>
<table style="width: 50%;border: solid 3px #5544DD" align="center">
<tr>
<td style="width: 30%; text-align: left; ">Text à gauche<br>avec retour à<br>la ligne</td>
<td style="width: 40%; text-align: center;"><img src="./res/logo.gif" alt="" ><br><i>légende</i></td>
<td style="width: 30%; text-align: right; ">Texte à droite</td>
</tr>
</table>
<br>
Texte <span style="text-decoration: underline">souligné</span>,
texte <span style="text-decoration: overline">surligné</span>,
texte <span style="text-decoration: line-through">barré</span>,
texte <span style="text-decoration: underline overline line-through">avec les trois</span>.<br>
<br>
<b>Dans un texte :</b><br>
texte à la suite d'une image, <img src="./res/logo.gif" alt="" style="height: 10mm">
texte à la suite d'une image, répétitif car besoin d'un retour à la ligne
texte à la suite d'une image, répétitif car besoin d'un retour à la ligne
texte à la suite d'une image, répétitif car besoin d'un retour à la ligne
texte à la suite d'une image, répétitif car besoin d'un retour à la ligne<br>
<br>
<br>
Test différentes tailles texte
<span style="font-size: 18pt;">Test Size</span>
<span style="font-size: 16pt;">Test Size</span>
<span style="font-size: 14pt;">Test Size</span>
<span style="font-size: 12pt;">Test Size</span>
Test différentes tailles texte, répétitif car besoin d'un retour à la ligne
Test différentes tailles texte, répétitif car besoin d'un retour à la ligne
Test différentes tailles texte, répétitif car besoin d'un retour à la ligne
Test différentes tailles texte, répétitif car besoin d'un retour à la ligne
<br>
<br>
<b>Exemple de couleur : </b><br>
<span style="color: RGB(255, 0, 0)">Texte de couleur</span><br>
<span style="color: RGB(0., 1., 0.)">Texte de couleur</span><br>
<span style="color: RGB(0, 0, 100%)">Texte de couleur</span><br>
<span style="color: CMYK(255, 0, 0, 0)">Texte de couleur</span><br>
<span style="color: CMYK(0., 1., 0., 0.)">Texte de couleur</span><br>
<span style="color: CMYK(0, 0, 100%, 0)">Texte de couleur</span><br>
<span style="color: CMYK(0, 0, 0, 255)">Texte de couleur</span><br>
<br>
<table>
<tr style="vertical-align: top">
<td>
<u>Exemple 0 :</u><br><br>
<div class="zone" ><?php echo str_replace('XXX', '40', $content); ?></div>
sans overflow
</td>
<td>
<u>Exemple 1 :</u><br><br>
<div class="zone zone_over" style="text-align: left; vertical-align: top; "><?php echo str_replace('XXX', '40', $content); ?></div>
hidden left top
</td>
<td>
<u>Exemple 2 :</u><br><br>
<div class="zone zone_over" style="text-align: center; vertical-align: middle;"><?php echo str_replace('XXX', '40', $content); ?></div>
hidden center middle
</td>
<td>
<u>Exemple 3 :</u><br><br>
<div class="zone zone_over" style="text-align: right; vertical-align: bottom;"><?php echo str_replace('XXX', '40', $content); ?></div>
hidden right bottom
</td>
</tr>
<tr style="vertical-align: top">
<td>
<u>Exemple 0 :</u><br><br>
<div class="zone" ><?php echo str_replace('XXX', '20', $content); ?></div>
sans overflow
</td>
<td>
<u>Exemple 1 :</u><br><br>
<div class="zone zone_over" style="text-align: left; vertical-align: top; "><?php echo str_replace('XXX', '20', $content); ?></div>
hidden left top
</td>
<td>
<u>Exemple 2 :</u><br><br>
<div class="zone zone_over" style="text-align: center; vertical-align: middle;"><?php echo str_replace('XXX', '20', $content); ?></div>
hidden center middle
</td>
<td>
<u>Exemple 3 :</u><br><br>
<div class="zone zone_over" style="text-align: right; vertical-align: bottom;"><?php echo str_replace('XXX', '20', $content); ?></div>
hidden right bottom
</td>
</tr>
</table>
</page>

View File

@@ -0,0 +1,87 @@
<page backtop="10mm" backbottom="10mm" backleft="20mm" backright="20mm">
<page_header>
<table style="width: 100%; border: solid 1px black;">
<tr>
<td style="text-align: left; width: 33%">html2pdf</td>
<td style="text-align: center; width: 34%">Test d'header</td>
<td style="text-align: right; width: 33%"><?php echo date('d/m/Y'); ?></td>
</tr>
</table>
</page_header>
<page_footer>
<table style="width: 100%; border: solid 1px black;">
<tr>
<td style="text-align: left; width: 50%">html2pdf.fr</td>
<td style="text-align: right; width: 50%">page [[page_cu]]/[[page_nb]]</td>
</tr>
</table>
</page_footer>
<span style="font-size: 20px; font-weight: bold">Démonstration des retour à la ligne automatique, ainsi que des sauts de page automatique</span><br>
<br>
<br>
<table style="width: 80%;border: solid 1px #5544DD; border-collapse: collapse" align="center">
<thead>
<tr>
<th style="width: 30%; text-align: left; border: solid 1px #337722; background: #CCFFCC">Header 1</th>
<th style="width: 30%; text-align: left; border: solid 1px #337722; background: #CCFFCC">Header 2</th>
</tr>
</thead>
<tbody>
<?php
for ($k=0; $k<13; $k++) {
?>
<tr>
<td style="width: 30%; text-align: left; border: solid 1px #55DD44">
test de texte assez long pour engendrer des retours à la ligne automatique...
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
</td>
<td style="width: 70%; text-align: left; border: solid 1px #55DD44">
test de texte assez long pour engendrer des retours à la ligne automatique...
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
</td>
</tr>
<?php
}
?>
</tbody>
<tfoot>
<tr>
<th style="width: 30%; text-align: left; border: solid 1px #337722; background: #CCFFCC">Footer 1</th>
<th style="width: 30%; text-align: left; border: solid 1px #337722; background: #CCFFCC">Footer 2</th>
</tr>
</tfoot>
</table>
<br>
Ca marche !!!<br>
refaisons un test : <br>
<table style="width: 80%;border: solid 1px #5544DD">
<?php
for ($k=0; $k<12; $k++) {
?>
<tr>
<td style="width: 30%; text-align: left; border: solid 1px #55DD44">
test de texte assez long pour engendrer des retours à la ligne automatique...
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
</td>
<td style="width: 70%; text-align: left; border: solid 1px #55DD44">
test de texte assez long pour engendrer des retours à la ligne automatique...
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
</td>
</tr>
<?php
}
?>
</table>
<br>
Ca marche toujours !<br>
De plus, vous pouvez faire des sauts de page manuellement en utilisant les balises &lt;page&gt; &lt;/page&gt;, comme ici par exemple :
</page>
<page pageset="old">
Nouvelle page !!!!
</page>

View File

@@ -0,0 +1,89 @@
<style type="text/css">
<!--
div.special { margin: auto; width:95%; border:1px solid #000000; padding: 2px; }
div.special table { width:100%; border:1px solid #000000; font-size:10px; border-collapse:collapse; }
.topLeftRight { border-top:1px solid #000; border-left:1px solid #000; border-right:1px solid #000;}
.topLeftBottom { border-top:1px solid #000; border-left:1px solid #000; border-bottom:1px solid #000; }
.topLeft { border-top:1px solid #000; border-left:1px solid #000; }
.bottomLeft { border-bottom:1px solid #000; border-left:1px solid #000; }
.topRight { border-top:1px solid #000; border-right:1px solid #000; }
.bottomRight { border-bottom:1px solid #000; border-right:1px solid #000; }
.topRightBottom { border-top:1px solid #000; border-bottom:1px solid #000; border-right:1px solid #000; }
-->
</style>
<page style="font-size: 16px" >
Vous pouvez choisir le format et l'orientation de votre document, en utilisant ceci :<br>
<br>
&lt;page orientation="portrait" format="A5" &gt; <i>A5 en portrait</i> &lt;/page&gt; <br>
<br>
&lt;page orientation="paysage" format="100x200" &gt; <i>100mm x 200mm en paysage</i> &lt;/page&gt;<br>
<br>
En voici un petit exemple !
</page>
<page orientation="paysage" style="font-size: 18px">
Ceci est une page en paysage<br>
<table style="width: 100%; border: solid 1px #FFFFFF;">
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
</table>
<div style="width: 70%; border: solid 1mm #770000; margin: 1mm; padding: 2mm; font-size: 4mm; line-height: normal; text-align: justify">
<img src="./res/logo.gif" alt="logo html2pdf" style="float: left; width: 60mm; margin: 2mm;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elementum, nibh eu ultricies scelerisque, est lorem dignissim elit, quis tempus tortor eros non ipsum. Mauris convallis augue ac sapien. In scelerisque dignissim elit. Donec consequat semper lectus. Sed in quam. Nunc molestie hendrerit ipsum. Curabitur elit risus, rhoncus ut, mattis a, convallis eu, neque. Morbi luctus est sit amet nunc. In nisl. Donec magna libero, aliquet eu, vestibulum ut, mollis sed, felis.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elementum, nibh eu ultricies scelerisque, est lorem dignissim elit, quis tempus tortor eros non ipsum. Mauris convallis augue ac sapien. In scelerisque dignissim elit. Donec consequat semper lectus. Sed in quam. Nunc molestie hendrerit ipsum. Curabitur elit risus, rhoncus ut, mattis a, convallis eu, neque. Morbi luctus est sit amet nunc. In nisl. Donec magna libero, aliquet eu, vestibulum ut, mollis sed, felis.
</div>
<div style="width: 70%; border: solid 1mm #770000; margin: 1mm; padding: 2mm; font-size: 4mm; line-height: 150%;text-align: right;">
<img src="./res/logo.gif" alt="logo html2pdf" style="float: right; width: 60mm; margin: 2mm; ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elementum, nibh eu ultricies scelerisque, est lorem dignissim elit, quis tempus tortor eros non ipsum. Mauris convallis augue ac sapien. In scelerisque dignissim elit. Donec consequat semper lectus. Sed in quam. Nunc molestie hendrerit ipsum. Curabitur elit risus, rhoncus ut, mattis a, convallis eu, neque. Morbi luctus est sit amet nunc. In nisl. Donec magna libero, aliquet eu, vestibulum ut, mollis sed, felis.
</div>
<fieldset style="width: 70%; border: solid 1mm #770000; margin: 1mm; padding: 2mm; padding-top: 0mm; font-size: 4mm; line-height: normal; background: #FFFFFF;">
<legend style=" background: #FFFFFF; padding: 1; border: solid 1px #440000;">Ceci est un exemple de fieldset</legend>
<img src="./res/logo.gif" alt="logo html2pdf" style="float: left; width: 60mm; margin: 2mm; ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elementum, nibh eu ultricies scelerisque, est lorem dignissim elit, quis tempus tortor eros non ipsum. Mauris convallis augue ac sapien. In scelerisque dignissim elit. Donec consequat semper lectus. Sed in quam. Nunc molestie hendrerit ipsum. Curabitur elit risus, rhoncus ut, mattis a, convallis eu, neque. Morbi luctus est sit amet nunc. In nisl. Donec magna libero, aliquet eu, vestibulum ut, mollis sed, felis.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed elementum, nibh eu ultricies scelerisque, est lorem dignissim elit, quis tempus tortor eros non ipsum. Mauris convallis augue ac sapien. In scelerisque dignissim elit. Donec consequat semper lectus. Sed in quam. Nunc molestie hendrerit ipsum. Curabitur elit risus, rhoncus ut, mattis a, convallis eu, neque. Morbi luctus est sit amet nunc. In nisl. Donec magna libero, aliquet eu, vestibulum ut, mollis sed, felis.
</fieldset>
</page>
<page orientation="portrait" format="150x200" style="font-size: 18px">
Ceci est une page en portrait de 150mm x 200mm<br>
<table style="width: 100%; border: solid 1px #FFFFFF;">
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
<tr>
<td style="width: 30%; border: solid 1px #FF0000;">AAA</td>
<td style="width: 40%; border: solid 1px #00FF00;">BBB</td>
<td style="width: 30%; border: solid 1px #0000FF;">CCC</td>
</tr>
</table>
<br>
<div class="special">
<table>
<tr>
<td colspan="2" class="topLeftRight" style="width: 100%; text-align:left;border-bottom:1px dashed #000000">blabla blabla</td>
</tr>
<tr>
<td class="bottomLeft" style="width:70%;border-right:1px dashed #000000;text-align:left;">blabla blabla</td>
<td class="bottomRight" style="width: 30%; text-align:left;vertical-align:top;">Date :<br /> Signature :</td>
</tr>
</table>
</div>
</page>

View File

@@ -0,0 +1,71 @@
<style type="text/css">
<!--
table
{
width: 100%;
border: solid 1px #5544DD;
}
th
{
text-align: center;
border: solid 1px #113300;
background: #EEFFEE;
}
td
{
text-align: left;
border: solid 1px #55DD44;
}
td.col1
{
border: solid 1px red;
text-align: right;
}
-->
</style>
<span style="font-size: 20px; font-weight: bold">Démonstration des retour à la ligne automatique, ainsi que des sauts de page automatique<br></span>
<br>
<br>
<table>
<col style="width: 5%" class="col1">
<col style="width: 25%">
<col style="width: 30%">
<col style="width: 40%">
<thead>
<tr>
<th rowspan="2"></th>
<th colspan="3" style="font-size: 16px;">
Titre du tableau
</th>
</tr>
<tr>
<th>Colonne 1</th>
<th>Colonne 2</th>
<th>Colonne 3</th>
</tr>
</thead>
<?php
for ($k=0; $k<50; $k++) {
?>
<tr>
<td><?php echo $k; ?></td>
<td>test de texte assez long pour engendrer des retours à la ligne automatique...</td>
<td>test de texte assez long pour engendrer des retours à la ligne automatique...</td>
<td>test de texte assez long pour engendrer des retours à la ligne automatique...</td>
</tr>
<?php
}
?>
<tfoot>
<tr>
<th colspan="4" style="font-size: 16px;">
bas du tableau
</th>
</tr>
</tfoot>
</table>
Cool non ?<br>

View File

@@ -0,0 +1,12 @@
.titre
{
text-decoration: underline;
}
* {color: #FF0000; }
H1 {color: #AA0055; }
H2 {color: #990066; }
H3 {color: #880077; }
H4 {color: #770088; }
H5 {color: #660099; }
H6 {color: #5500AA; }

View File

@@ -0,0 +1,45 @@
<link type="text/css" href="./res/exemple06.css" rel="stylesheet" >
<style type="text/css">
<!--
/* commentaire dans un css */
table, td { border: solid 1px #000000; color: #0000AA; }
td.col1 { color: #00AA00; }
/* autre commentaire */
table.liste { border: solid 2px #FF0000; }
table.liste td { background: #DDDDDD; }
table.liste td.col1 { color: #FF0000; }
-->
</style>
<page>
<table>
<tr>
<td>Ceci est un</td>
<td class="col1">test de style</td>
</tr>
</table>
<br>
<table class="liste">
<tr>
<td>Ceci est un</td>
<td class="col1">test de style</td>
</tr>
</table>
<br>
<H1>Essai de titre en H1</H1>
<H2>Essai de titre en H2</H2>
<H3>Essai de titre en H3</H3>
<H4>Essai de titre en H4</H4>
<H5>Essai de titre en H5</H5>
<H6>Essai de titre en H6</H6>
<H6 class="titre">Essai de titre en H6</H6>
<H5 class="titre">Essai de titre en H5</H5>
<H4 class="titre">Essai de titre en H4</H4>
<H3 class="titre">Essai de titre en H3</H3>
<H2 class="titre">Essai de titre en H2</H2>
<H1 class="titre">Essai de titre en H1</H1>
<br>
<s>Texte barré !</s><br>
<br>
<span>Texte avec la couleur par défault (style *)</span><br>
</page>

View File

@@ -0,0 +1,132 @@
<style type="text/css">
<!--
table { vertical-align: top; }
tr { vertical-align: top; }
td { vertical-align: top; }
}
-->
</style>
<page backcolor="#FEFEFE" backimg="./res/bas_page.png" backimgx="center" backimgy="bottom" backimgw="100%" backtop="0" backbottom="30mm" footer="date;heure;page" style="font-size: 12pt">
<bookmark title="Lettre" level="0" ></bookmark>
<table cellspacing="0" style="width: 100%; text-align: center; font-size: 14px">
<tr>
<td style="width: 75%;">
</td>
<td style="width: 25%; color: #444444;">
<img style="width: 100%;" src="./res/logo.gif" alt="Logo"><br>
RELATION CLIENT
</td>
</tr>
</table>
<br>
<br>
<table cellspacing="0" style="width: 100%; text-align: left; font-size: 11pt;">
<tr>
<td style="width:50%;"></td>
<td style="width:14%; ">Client :</td>
<td style="width:36%">M. Albert Dupont</td>
</tr>
<tr>
<td style="width:50%;"></td>
<td style="width:14%; ">Adresse :</td>
<td style="width:36%">
Résidence perdue<br>
1, rue sans nom<br>
00 000 - Pas de Ville<br>
</td>
</tr>
<tr>
<td style="width:50%;"></td>
<td style="width:14%; ">Email :</td>
<td style="width:36%">nomail@domain.com</td>
</tr>
<tr>
<td style="width:50%;"></td>
<td style="width:14%; ">Tel :</td>
<td style="width:36%">33 (0) 1 00 00 00 00</td>
</tr>
</table>
<br>
<br>
<table cellspacing="0" style="width: 100%; text-align: left;font-size: 10pt">
<tr>
<td style="width:50%;"></td>
<td style="width:50%; ">Spipu Ville, le <?php echo date('d/m/Y'); ?></td>
</tr>
</table>
<br>
<i>
<b><u>Objet </u>: &laquo; Bon de Retour &raquo;</b><br>
Compte client : 00C4520100A<br>
Référence du Dossier : 71326<br>
</i>
<br>
<br>
Madame, Monsieur, Cher Client,<br>
<br>
<br>
Nous souhaitons vous informer que le dossier <b>71326</b> concernant un &laquo; Bon de Retour &raquo; pour les articles suivants a été accepté.<br>
<br>
<table cellspacing="0" style="width: 100%; border: solid 1px black; background: #E7E7E7; text-align: center; font-size: 10pt;">
<tr>
<th style="width: 12%">Produit</th>
<th style="width: 52%">Désignation</th>
<th style="width: 13%">Prix Unitaire</th>
<th style="width: 10%">Quantité</th>
<th style="width: 13%">Prix Net</th>
</tr>
</table>
<?php
$nb = rand(5, 11);
$produits = array();
$total = 0;
for ($k=0; $k<$nb; $k++) {
$num = rand(100000, 999999);
$nom = "le produit n°".rand(1, 100);
$qua = rand(1, 20);
$prix = rand(100, 9999)/100.;
$total+= $prix*$qua;
$produits[] = array($num, $nom, $qua, $prix, rand(0, $qua));
?>
<table cellspacing="0" style="width: 100%; border: solid 1px black; background: #F7F7F7; text-align: center; font-size: 10pt;">
<tr>
<td style="width: 12%; text-align: left"><?php echo $num; ?></td>
<td style="width: 52%; text-align: left"><?php echo $nom; ?></td>
<td style="width: 13%; text-align: right"><?php echo number_format($prix, 2, ',', ' '); ?> &euro;</td>
<td style="width: 10%"><?php echo $qua; ?></td>
<td style="width: 13%; text-align: right;"><?php echo number_format($prix*$qua, 2, ',', ' '); ?> &euro;</td>
</tr>
</table>
<?php
}
?>
<table cellspacing="0" style="width: 100%; border: solid 1px black; background: #E7E7E7; text-align: center; font-size: 10pt;">
<tr>
<th style="width: 87%; text-align: right;">Total : </th>
<th style="width: 13%; text-align: right;"><?php echo number_format($total, 2, ',', ' '); ?> &euro;</th>
</tr>
</table>
<br>
Cette reprise concerne la quantité et les matériels dont la référence figure sur le <a href="#document_reprise">document de reprise joint</a>.<br>
Nous vous demandons de nous retourner ces produits en parfait état et dans leur emballage d'origine.<br>
<br>
Nous vous demandons également de coller impérativement l'autorisation de reprise jointe, sur le colis à reprendre afin de faciliter le traitement à l'entrepôt.<br>
<br>
Notre Service Clients ne manquera pas de revenir vers vous dès que l'avoir de ces matériels sera établi.<br>
<nobreak>
<br>
Dans cette attente, nous vous prions de recevoir, Madame, Monsieur, Cher Client, nos meilleures salutations.<br>
<br>
<table cellspacing="0" style="width: 100%; text-align: left;">
<tr>
<td style="width:50%;"></td>
<td style="width:50%; ">
Mle Jesuis CELIBATAIRE<br>
Service Relation Client<br>
Tel : 33 (0) 1 00 00 00 00<br>
Email : on_va@chez.moi<br>
</td>
</tr>
</table>
</nobreak>
</page>

View File

@@ -0,0 +1,176 @@
<page orientation="paysage" >
<bookmark title="Document" level="0" ></bookmark>
<a name="document_reprise"></a>
<table cellspacing="0" style="width: 100%;">
<tr>
<td style="width: 10%;">
<img style="width: 100%" src="./res/logo.gif" alt="Logo HTML2PDF" >
</td>
<td style="width: 80%; text-align: center; text-decoration: underline; font-weight: bold; font-size: 20pt;">
<span style="font-size: 10pt"><br></span>
ACCORD DE RETOUR
</td>
<td style="width: 10%;">
</td>
</tr>
</table>
<table cellspacing="0" style="width: 100%;">
<tr>
<td style="width: 55% ">
<table cellspacing="0" style="width: 100%; border: solid 2px #000000; ">
<tr>
<td style="width: 100%; font-size: 12pt;">
<span style="font-size: 15pt; font-weight: bold;">ADRESSE DE RETOUR<br></span>
<br>
<b>Entrepot des Bois</b><br>
sur une grande route<br>
00000 - Spipu Ville<br>
<br>
Date : <?php echo date('d/m/Y'); ?><br>
Dossier suivi par <b>Mle Jesuis CELIBATAIRE</b><br>
Tel : 33 (0) 1 00 00 00 00<br>
Email : on_va@chez.moi<br>
</td>
</tr>
</table>
<br>&nbsp;
</td>
<td style="width: 4%"></td>
<td style="width: 37% ">
<table cellspacing="0" style="width: 100%; border: solid 2px #000000; font-size: 12pt;">
<tr><td style="width: 40%;">Référence : </td><td style="width: 60%;">71326</td></tr>
<tr><td style="width: 40%;">Client : </td><td style="width: 60%;">M. Albert Dupont</td></tr>
<tr><td style="width: 40%;">Adresse : </td><td style="width: 60%;">Résidence perdue<br>1, rue sans nom<br>00 000 - Pas de Ville</td></tr>
<tr><td style="width: 40%;">TEL : </td><td style="width: 60%;">33 (0) 1 00 00 00 00</td></tr>
<tr><td style="width: 40%;">FAX : </td><td style="width: 60%;">33 (0) 1 00 00 00 01</td></tr>
<tr><td style="width: 40%;">Code Client : </td><td style="width: 60%;">00C4520100A</td></tr>
</table>
<table cellspacing="0" style="width: 100%; border: solid 2px #000000">
<tr>
<th style="width: 40%;">Motif de la Reprise</th>
<td style="width: 60%;">Produit non Conforme</td>
</tr>
</table>
<br>
</td>
<td style="width: 4%"></td>
</tr>
<tr>
<td style="width:55%;">
<table cellspacing="0" style="padding: 1px; width: 100%; border: solid 2px #000000; font-size: 11pt; ">
<tr>
<th style="width: 100%; text-align: center; border: solid 1px #000000;" colspan="4">
Partie réservée à Spipu Corp
</th>
</tr>
<tr>
<th style="width: 100%; text-align: center; border: solid 1px #000000;" colspan="4">
QUANTITE PREVUE AU CHARGEMENT
</th>
</tr>
<tr>
<th style="width: 15%; border: solid 1px #000000;">Produit</th>
<th style="width: 55%; border: solid 1px #000000;">Designation</th>
<th style="width: 15%; border: solid 1px #000000;">Neuf</th>
<th style="width: 15%; border: solid 1px #000000;">Abîmé</th>
</tr>
<?php
$i=0;
foreach ($produits as $produit) {
$i++;
?>
<tr>
<td style="width: 15%; border: solid 1px #000000;"><?php echo $produit[0]; ?></td>
<td style="width: 55%; border: solid 1px #000000;text-align: left;"><?php echo $produit[1]; ?></td>
<td style="width: 15%; border: solid 1px #000000;"><?php echo $produit[4]; ?></td>
<td style="width: 15%; border: solid 1px #000000;"><?php echo $produit[2]-$produit[4]; ?></td>
</tr>
<?php
}
for ($i; $i<12; $i++) {
?>
<tr>
<td style="width: 15%; border: solid 1px #000000;">&nbsp;</td>
<td style="width: 55%; border: solid 1px #000000;">&nbsp;</td>
<td style="width: 15%; border: solid 1px #000000;">&nbsp;</td>
<td style="width: 15%; border: solid 1px #000000;">&nbsp;</td>
</tr>
<?php
}
?>
</table>
<br>
<table cellspacing="0" style="width: 100%; text-align: left; font-size: 8pt">
<tr>
<td style="width: 100%">
<b><u>Conditions des Retours</u></b><br>
1 - il faut des conditions<br>
2 - encore des conditions<br>
3 - toujours des conditions<br>
</td>
</tr>
</table>
<br>
<table cellspacing="0" style="width: 100%; border: solid 2px #000000; text-align: center; font-size: 10pt">
<tr>
<td style="width: 30%"></td>
<td style="width: 40%">ACCORD SOCIETE</td>
<td style="width: 30%"></td>
</tr>
<tr>
<td style="width: 30%"><br><br>M. XX</td>
<td style="width: 40%"></td>
<td style="width: 30%"><br><br>Mme XY</td>
</tr>
</table>
</td>
<td style="width: 4%"></td>
<td style="width: 37%;">
<table cellspacing="0" style="padding: 1px; width: 100%; border: solid 2px #000000; font-size: 11pt; ">
<tr>
<th style="width: 100%; text-align: center; border: solid 1px #000000;" colspan="2">
Partie réservée à l'entrepôt
</th>
</tr>
<tr>
<th style="width: 100%; text-align: center; border: solid 1px #000000;" colspan="2">
QUANTITE PREVUE AU CHARGEMENT
</th>
</tr>
<tr>
<th style="width: 50%; border: solid 1px #000000;">Produit neuf </th>
<th style="width: 50%; border: solid 1px #000000;">Produit à reconditionner </th>
</tr>
<?php
for ($i=0; $i<12; $i++) {
?>
<tr>
<td style="width: 50%; border: solid 1px #000000;">&nbsp;</td>
<td style="width: 50%; border: solid 1px #000000;">&nbsp;</td>
</tr>
<?php
}
?>
</table>
<br>
<table cellspacing="0" style="width: 100%; border: solid 2px #000000; text-align: left; font-size: 10pt">
<tr>
<th style="width: 30%;">
Commentaire<br>
Retour :<br>
&nbsp;<br>
&nbsp;<br>
</th>
<td style="width: 70%;">
</td>
</tr>
</table>
<br>
<br>
<span style="font-size: 13pt"><b><u>A COLLER IMPERATIVEMENT SUR LES COLIS</u></b></span>
</td>
<td style="width: 4%"></td>
</tr>
</table>
</page>

View File

@@ -0,0 +1,114 @@
<style type="text/css">
<!--
table
{
padding: 0;
border: solid 1mm LawnGreen;
font-size: 12pt;
background: #FFFFFF;
text-align: center;
vertical-align: middle;
}
td
{
padding: 1mm;
border: solid 1mm black;
}
td.div
{
width: 110px;
height: 110px;
text-align: left;
padding: 0
}
td.div div
{
margin: auto;
background: yellow;
border: solid 2px blue;
color: red;
width: 100px;
height: 65px;
text-align: center;
}
-->
</style>
<page backcolor="#AACCFF" backleft="5mm" backright="5mm" backtop="10mm" backbottom="10mm" >
<table>
<tr>
<td class="div"><div style="rotate: 0;">Hello ! ceci <b>est</b> un test !<br><img src="./res/logo.png" style="width: 80px;" alt="logo"></div></td>
<td class="div"><div style="rotate: 270;">Hello ! ceci <b>est</b> un test !<br><img src="./res/logo.png" style="width: 80px;" alt="logo"></div></td>
</tr>
<tr>
<td class="div"><div style="rotate: 90;">Hello ! ceci <b>est</b> un test !<br><img src="./res/logo.png" style="width: 80px;" alt="logo"></div></td>
<td class="div"><div style="rotate: 180;">Hello ! ceci <b>est</b> un test !<br><img src="./res/logo.png" style="width: 80px;" alt="logo"></div></td>
</tr>
</table>
<br>
<table cellspacing="4">
<tr>
<td>a A1</td>
<td>aa A2</td>
<td>aaa A3</td>
<td>aaaa A4</td>
</tr>
<tr>
<td rowspan="2">B1</td>
<td style="font-size: 16pt">B2</td>
<td colspan="2">B3</td>
</tr>
<tr>
<td>C1</td>
<td>C2</td>
<td>C3</td>
</tr>
<tr>
<td colspan="2">D1</td>
<td colspan="2">D2</td>
</tr>
</table>
<hr>
<table>
<tr>
<td colspan="2">CoucouCoucou !</td>
<td>B</td>
<td>CC</td>
</tr>
<tr>
<td>AA</td>
<td colspan="2">CoucouCoucou !</td>
<td>CC</td>
</tr>
<tr>
<td>AA</td>
<td>B</td>
<td colspan="2">CoucouCoucou !</td>
</tr>
</table>
<hr>
<table style="background: #FFFFFF">
<tr>
<td>AA</td>
<td>AA</td>
<td>AA</td>
<td rowspan="2">AA</td>
</tr>
<tr>
<td>AA</td>
<td rowspan="2" colspan="2" >CoucouCoucou !</td>
</tr>
<tr>
<td>AA</td>
<td>CC</td>
</tr>
<tr>
<td colspan="2">D1</td>
<td colspan="2">D2</td>
</tr>
</table>
<hr>
</page>

View File

@@ -0,0 +1,24 @@
<?php
$px = isset($_GET['px']) ? $_GET['px'] : 0; $px = preg_replace('/[^0-9]/isU', '', $px);
$py = isset($_GET['py']) ? $_GET['py'] : 0; $py = preg_replace('/[^0-9]/isU', '', $py);
if ($px<1) $px = 5;
if ($py<1) $py = 5;
if ($px>20) $px = 20;
if ($py>20) $py = 20;
$width = 100;
$height = 100;
$im = imagecreatetruecolor($width, $height);
for ($y=0; $y<$height; $y+= $py) {
for ($x=0; $x<$width; $x+= $px) {
$c = imagecolorallocate($im, 200-$x, 100+$y, 100+$x-$y);
imagefilledrectangle($im, $x, $y, $x+$px, $y+$py, $c);
}
}
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);

View File

@@ -0,0 +1,120 @@
<style type="text/css">
<!--
div.minifiche
{
position: relative;
overflow: hidden;
width: 454px;
height: 138px;
padding: 0;
font-size: 11px;
text-align: left;
font-weight: normal;
background-image: url(./res/exemple10a.gif);
}
div.minifiche img.icone { position: absolute; border: none; left: 5px; top: 5px; width: 240px; height: 128px;overflow: hidden; }
div.minifiche div.zone1 { position: absolute; border: none; left: 257px; top: 8px; width: 188px; height: 14px; padding-top: 1px; overflow: hidden; text-align: center; font-weight: bold; }
div.minifiche div.zone2 { position: absolute; border: none; left: 315px; top: 28px; width: 131px; height: 14px; padding-top: 1px; overflow: hidden; text-align: left; font-weight: normal; }
div.minifiche div.zone3 { position: absolute; border: none; left: 315px; top: 48px; width: 131px; height: 14px; padding-top: 1px; overflow: hidden; text-align: left; font-weight: normal; }
div.minifiche div.zone4 { position: absolute; border: none; left: 315px; top: 68px; width: 131px; height: 14px; padding-top: 1px; overflow: hidden; text-align: left; font-weight: normal; }
div.minifiche div.zone5 { position: absolute; border: none; left: 315px; top: 88px; width: 131px; height: 14px; padding-top: 1px; overflow: hidden; text-align: left; font-weight: normal; }
div.minifiche div.download { position: absolute; border: none; left: 257px; top: 108px;width: 188px; height: 22px; overflow: hidden; text-align: center; font-weight: normal; }
-->
</style>
<page>
<div style="position: absolute; width: 10mm; height: 10mm; left: 0; top: 0; border: solid 2px #0000EE; background: #AAAAEE"></div>
<div style="position: absolute; width: 10mm; height: 10mm; right: 0; top: 0; border: solid 2px #00EE00; background: #AAEEAA"></div>
<div style="position: absolute; width: 10mm; height: 10mm; left: 0; bottom: 0; border: solid 2px #EE0000; background: #EEAAAA"></div>
<div style="position: absolute; width: 10mm; height: 10mm; right: 0; bottom: 0; border: solid 2px #EEEE00; background: #EEEEAA"></div>
<table style="width: 100%">
<tr>
<td style="text-indent: 10mm; border: solid 1px #007700; width: 80%">
<p>
Ligne dans un paragraphe,
test de texte assez long pour engendrer des retours à la ligne automatique... a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p q r s t u v w x y z
test de texte assez long pour engendrer des retours à la ligne automatique... a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p q r s t u v w x y z
</p>
<p>
Ligne dans un paragraphe,
test de texte assez long pour engendrer des retours à la ligne automatique... a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p q r s t u v w x y z
test de texte assez long pour engendrer des retours à la ligne automatique... a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p q r s t u v w x y z
</p>
</td>
<td style="border: solid 1px #000077; width: 20%">
Test de paragraphe :)
</td>
</tr>
</table>
<hr>
<div class="minifiche" >
<img class="icone" src="./res/exemple10b.jpg" alt="HTML2PDF" >
<div class="zone1">HTML2PDF</div>
<div class="zone2">PHP</div>
<div class="zone3">Utilitaire</div>
<div class="zone4">1.00</div>
<div class="zone5">01/01/1901</div>
<div class="download"><img src="./res/exemple10c.gif" alt="" style="border: none;"></div>
</div>
<hr>
<div style="border: solid 1px #000000; margin: 0; padding: 0; background: rgb(255, 255, 255); width: 400px; height: 300px; position: relative;">
<div style="border-style: solid; border-color: transparent rgb(170, 34, 34) rgb(170, 34, 34) transparent; border-width: 39.5px 59px; position: absolute; left: 101px; top: 52px; height: 0pt; width: 0pt;"></div>
<div style="border-style: solid; border-color: rgb(34, 170, 34) rgb(34, 170, 34) transparent transparent; border-width: 59px 39.5px; position: absolute; left: 101px; top: 131px; height: 0pt; width: 0pt;"></div>
<div style="border-style: solid; border-color: rgb(34, 34, 170) transparent transparent rgb(34, 34, 170); border-width: 39.5px 59px; position: absolute; left: 180px; top: 170px; height: 0pt; width: 0pt;"></div>
<div style="border-style: solid; border-color: transparent transparent rgb(170, 170, 34) rgb(170, 170, 34); border-width: 59px 39.5px; position: absolute; left: 219px; top: 52px; height: 0pt; width: 0pt;"></div>
<div style="position: absolute; left: 10px; top: 10px; font-size: 20px; font-family: Arial;">Exemple</div>
</div>
<hr>
<pre><?php
ob_start();
readfile(dirname(__FILE__).'/../exemple10.php');
echo htmlentities(ob_get_clean());
?></pre>
</page>
<page orientation="paysage" >
<style type="text/css">
<!--
div.main
{
padding: 0;
margin: 0;
position: relative;
left: 50%;
margin-left: -80mm;
width: 160mm;
height: 100mm;
text-align: center;
border: solid 10px #111111;
background: #222222;
color: #FFFFFF;
font-size: 10pt;
font-weight: bold;
text-align: center;
}
div.main a
{
text-decoration: none;
color: #EEEEEE;
}
div.main a:hover
{
text-decoration: underline;
color: #FFFFFF;
}
-->
</style>
<div class="main">
<div style="position: absolute; top: 5mm; left: 5mm; font-size:12pt;text-align: left;">Spipu.net</div><br>
<div style="position: absolute; bottom: 5mm; right: 5mm; font-size:12pt; text-align: right; ">(c)2011 Spipu</div>
<br><br><br>
<a href="http://cineblog.spipu.net/" >Cineblog by Spipu </a><br><br>
<a href="http://html2pdf.fr/" >HTML2PDF </a><br><br>
<a href="http://lambda.spipu.net/" >Lambda Finder </a><br><br>
<a href="http://open.spipu.net/" >Gestion des Opens - Yaronet </a><br><br>
<a href="http://perso.spipu.net/" >A propos de moi </a><br><br>
<a href="http://prgm.spipu.net/" >Programmes by Spipu </a><br><br>
<br><br><br>
</div>
</page>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

View File

@@ -0,0 +1,27 @@
<div style="border: 1px solid rgb(0, 0, 0); margin: 0; padding: 0; background: rgb(255, 255, 255); width: 400px; height: 300px;">
<div style="border-style: solid; border-color: transparent rgb(170, 34, 170) rgb(170, 34, 170) transparent; border-width: 18px 56px; position: absolute; left: 111px; top: 69px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(170, 34, 170) transparent transparent rgb(170, 34, 170); border-width: 18px 9px; position: absolute; left: 223px; top: 69px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent rgb(170, 34, 170) rgb(170, 34, 170) transparent; border-width: 3px 9px; position: absolute; left: 223px; top: 63px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(170, 34, 170) transparent transparent rgb(170, 34, 170); border-width: 3px 1.5px; position: absolute; left: 241px; top: 63px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent rgb(170, 34, 170) rgb(170, 34, 170) transparent; border-width: 0.5px 1.5px; position: absolute; left: 241px; top: 62px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(170, 34, 170) rgb(170, 34, 170) transparent transparent; border-width: 67px 22px; position: absolute; left: 111px; top: 105px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(170, 34, 170) transparent transparent rgb(170, 34, 170); border-width: 67px 34px; position: absolute; left: 155px; top: 105px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent rgb(34, 170, 170) rgb(34, 170, 170) transparent; border-width: 67px 33.5px; position: absolute; left: 178px; top: 61px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent transparent rgb(34, 170, 170) rgb(34, 170, 170); border-width: 67px 22px; position: absolute; left: 245px; top: 61px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(34, 170, 170) transparent transparent rgb(34, 170, 170); border-width: 18px 55.5px; position: absolute; left: 178px; top: 195px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent rgb(34, 170, 170) rgb(34, 170, 170) transparent; border-width: 18px 9px; position: absolute; left: 160px; top: 195px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(34, 170, 170) transparent transparent rgb(34, 170, 170); border-width: 3px 9px; position: absolute; left: 160px; top: 231px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: transparent rgb(34, 170, 170) rgb(34, 170, 170) transparent; border-width: 3px 1.5px; position: absolute; left: 157px; top: 231px; height: 0pt; width: 0pt;"></div><div style="border-style: solid; border-color: rgb(34, 170, 170) transparent transparent rgb(34, 170, 170); border-width: 0.5px 1.5px; position: absolute; left: 157px; top: 237px; height: 0pt; width: 0pt;"></div>
</div>
<hr>
<table style="width:100%;">
<tr>
<td id="mon_td_trop_grand" style="width:100%;">
Test de TD très grand, en désactivant le test de TD ne devant pas depasser une page<br>
via la méthode <b>setTestTdInOnePage</b>.<br>
<table style="width:100%;">
<?php
for ($i=0; $i<=40; $i++) {
?>
<tr>
<td style="border:1px solid red;width:100%;">
test de texte assez long pour engendrer des retours à la ligne automatique...
a b c d e f g h i j k l m n o p q r s t u v w x y z
a b c d e f g h i j k l m n o p q r s t u v w x y z
</td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>

View File

@@ -0,0 +1,114 @@
<?php
$chaine = 'test de texte assez long pour engendrer des retours à la ligne automatique...';
$chaine.= ', répétitif car besoin d\'un retour à la ligne';
$chaine.= ', répétitif car besoin d\'un retour à la ligne';
$chaine.= ', répétitif car besoin d\'un retour à la ligne';
$chaine.= ', répétitif car besoin d\'un retour à la ligne';
?>
<style type="text/css">
<!--
ul
{
background: #FFDDDD;
border: solid 1px #FF0000;
}
ol
{
background: #DDFFDD;
border: solid 1px #00FF00;
}
ul li
{
background: #DDFFAA;
border: solid 1px #AAFF00;
}
ol li
{
background: #AADDFF;
border: solid 1px #00AAFF;
}
-->
</style>
<page style="font-size: 11px">
<ul style="list-style-type: disc; width: 80%">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
<ul style="list-style-type: circle">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
<ul style="list-style-type: square">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
<ul style="list-style-image: url(./res/puce.gif)">
<li>
Puce en image 1 :<br><?php echo $chaine; ?>
</li>
<li>
Puce en image 2 :<br><?php echo $chaine; ?>
</li>
<li>
Puce en image 3 :<br><?php echo $chaine; ?>
</li>
</ul>
</li>
</ul>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
</li>
</ul>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
</li>
</ul>
<hr><hr>
<ol style="list-style-type: upper-roman">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
<ol style="list-style-type: lower-alpha">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
<ol style="list-style-type: decimal">
<li>
Point 1 :<br><?php echo $chaine; ?>
</li>
<li>
Point 2 :<br><?php echo $chaine; ?>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
</li>
</ol>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
</li>
</ol>
</li>
<li>
Point 3 :<br><?php echo $chaine; ?>
</li>
</ol>
</page>

View File

@@ -0,0 +1,88 @@
<style type="text/css">
<!--
table.tableau { text-align: left; }
table.tableau td { width: 15mm; font-family: courier; }
table.tableau th { width: 15mm; font-family: courier; }
.ul1
{
list-style-image: url(./res/puce2.gif);
}
.ul1 li
{
color:#F19031;
}
.ul2
{
list-style: square;
}
.ul2 li
{
color:#31F190;
}
.ul3
{
list-style: none;
}
.ul3 li
{
color:#9031F1;
}
-->
</style>
Exemple de liste avec puce personnalisée :<br>
<table style="width: 100%;" >
<tr>
<td style="width: 33%;">
<ul class="ul1">
<li>Votre ligne 1</li>
<li>Votre ligne 2</li>
<li>Votre ligne 3</li>
</ul>
</td>
<td style="width: 34%;">
<ul class="ul2">
<li>Votre ligne 1</li>
<li>Votre ligne 2</li>
<li>Votre ligne 3</li>
</ul>
</td>
<td style="width: 33%;">
<ul class="ul3">
<li>Votre ligne 1</li>
<li>Votre ligne 2</li>
<li>Votre ligne 3</li>
</ul>
</td>
</tr>
</table>
Exemple de caracteres :<br>
<table class="tableau" >
<tr><th>0</th><th>a</th><th>e</th><th>i</th><th>o</th><th>u</th></tr>
<tr><th>1</th><td>&agrave;</td><td>&egrave;</td><td>&igrave;</td><td>&ograve;</td><td>&ugrave;</td></tr>
<tr><th>2</th><td>&aacute;</td><td>&eacute;</td><td>&iacute;</td><td>&oacute;</td><td>&uacute;</td></tr>
<tr><th>3</th><td>&acirc;</td><td>&ecirc;</td><td>&icirc;</td><td>&ocirc;</td><td>&ucirc;</td></tr>
<tr><th>4</th><td>&auml;</td><td>&euml;</td><td>&iuml;</td><td>&ouml;</td><td>&uuml;</td></tr>
<tr><th>5</th><td>&atilde;</td><td> </td><td> </td><td>&otilde;</td><td> </td></tr>
<tr><th>6</th><td>&aring;</td><td> </td><td> </td><td> </td><td> </td></tr>
<tr><th>7</th><td>&euro;</td><td>&laquo;</td><td> </td><td>&oslash;</td><td> </td></tr>
</table>
<br>
<?php
$phrase = "ceci est un exemple avec <b>du gras</b>, ";
$phrase.= "<i>de l'italique</i>, ";
$phrase.= "<u>du souligné</u>, ";
$phrase.= "<u><i><b>et une image</b></i></u> : ";
$phrase.= "<img src='./res/logo.gif' alt='logo' style='width: 15mm'>";
?>
Table :<br>
<table style="border: solid 1px red; width: 105mm">
<tr><td style="width: 100%; border: solid 1px green; text-align: left; "><?php echo $phrase; ?></td></tr>
<tr><td style="width: 100%; border: solid 1px green; text-align: center;"><?php echo $phrase; ?></td></tr>
<tr><td style="width: 100%; border: solid 1px green; text-align: right; "><?php echo $phrase; ?></td></tr>
</table>
<br>
Div :<br>
<div style="width: 103mm; border: solid 1px green; text-align: left; margin: 1mm 0 1mm 0;padding: 1mm;"><?php echo $phrase; ?></div>
<div style="width: 103mm; border: solid 1px green; text-align: center;margin: 1mm 0 1mm 0;padding: 1mm;"><?php echo $phrase; ?></div>
<div style="width: 103mm; border: solid 1px green; text-align: right; margin: 1mm 0 1mm 0;padding: 1mm;"><?php echo $phrase; ?></div>

View File

@@ -0,0 +1,64 @@
<?php
$url = $_SERVER['REQUEST_URI'];
if (substr($url, 0, 7)!=='http://') {
$url = 'http://'.$_SERVER['HTTP_HOST'];
if (ISSET($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT']!=80) $url.= ':'.$_SERVER['SERVER_PORT'];
$url.= $_SERVER['REQUEST_URI'];
}
?>
<style type="text/css">
li
{ font-size: 10pt; }
input, textarea, select
{
border: dashed 1mm red;
background: #FCC;
color: #400;
text-align: left;
font-size: 11pt;
}
</style>
<page footer="form">
<h1>Test de formulaire</h1><br>
<br>
<form action="<?php echo $url; ?>">
<input type="hidden" name="test" value="1">
Vous utilisez cette librairie dans le cadre :
<ul style="list-style: none">
<li><input type="checkbox" name="cadre_boulot" checked="checked"> du boulot</li>
<li><input type="checkbox" name="cadre_perso" > perso</li>
</ul>
Vous êtes :
<ul style="list-style: none">
<li><input type="radio" name="sexe" value="homme" checked="checked"> un homme</li>
<li><input type="radio" name="sexe" value="femme"> une femme</li>
</ul>
Vous avez :
<select name="age" >
<option value="15">moins de 15 ans</option>
<option value="20">entre 15 et 20 ans</option>
<option value="25">entre 20 et 25 ans</option>
<option value="30">entre 25 et 30 ans</option>
<option value="40">plus de 30 ans</option>
</select><br>
<br>
Vous aimez :
<select name="aime[]" size="5" multiple="multiple">
<option value="ch1">l'informatique</option>
<option value="ch2">le cinéma</option>
<option value="ch3">le sport</option>
<option value="ch4">la littérature</option>
<option value="ch5">autre</option>
</select><br>
<br>
Votre phrase fétiche : <input type="text" name="phrase" value="cette lib est géniale !!!" style="width: 100mm"><br>
<br>
Un commentaire ?<br>
<textarea name="comment" rows="3" cols="30">rien de particulier</textarea><br>
<br>
<input type="reset" name="btn_reset" value="Initialiser">
<input type="button" name="btn_print" value="Imprimer" onclick="print(true);">
<input type="submit" name="btn_submit" value="Envoyer">
</form>
</page>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

View File

@@ -0,0 +1,23 @@
<page>
<draw style="margin: auto; width:150mm; height:100mm; background: #000000; border: solid 0.5mm #777777;">
<line style="stroke:#FF0000; stroke-width:1mm" x1="10mm" y1="10mm" x2="140mm" y2="10mm" >
<rect style="stroke:#770077; stroke-width:1mm; fill:#008888" x="15%" y="15%" w="70%" h="70%">
<ellipse style="stroke:#000077; stroke-width:1mm; fill:#888800" cx="50%" cy="50%" rx="30%" ry="30%">
<circle style="stroke:#0000AA; stroke-width:1mm; fill:#AAAA00" cx="50%" cy="50%" r="15%">
</draw><br>
<draw style="margin: auto; width:150mm; height:100mm; background: #000000; border: solid 0.5mm #777777;">
<path style="fill:#AAAA00; stroke:#0000AA; stroke-width:1mm" d="M20mm,10mm H130mm A10mm,10mm 0,0,0 140mm,20mm V80mm A10mm,10mm 0,0,0 130mm,90mm H20mm A10mm,10mm 0,0,0 10mm,80mm V20mm A10mm,10mm 0,0,0 20mm,10mm">
<path style="fill:#770000; stroke:#AA0033; stroke-width:0.5mm" d="M 20mm,40mm a16mm,8mm 0,0,0 16mm,8mm" />
<path style="fill:#770000; stroke:#00AA33; stroke-width:0.5mm" d="M 20mm,40mm l16mm,8mm" />
<path style="fill:#770000; stroke:#AA0033; stroke-width:0.5mm" d="M 40mm,40mm a16mm,8mm 0,0,1 16mm,8mm" />
<path style="fill:#770000; stroke:#00AA33; stroke-width:0.5mm" d="M 40mm,40mm l16mm,8mm" />
<path style="fill:#770000; stroke:#AA0033; stroke-width:0.5mm" d="M 80mm,40mm a16mm,8mm 0,1,0 16mm,8mm" />
<path style="fill:#770000; stroke:#00AA33; stroke-width:0.5mm" d="M 80mm,40mm l16mm,8mm" />
<path style="fill:#770000; stroke:#AA0033; stroke-width:0.5mm" d="M100mm,40mm a16mm,8mm 0,1,1 16mm,8mm" />
<path style="fill:#770000; stroke:#00AA33; stroke-width:0.5mm" d="M100mm,40mm l16mm,8mm" />
</draw><br>
<br>
Les balises SVG suivantes sont reconnues : LINE, RECT, CIRCLE, ELLIPSE, PATH, POLYGON, POLYLINE, G<br>
<br>
Spécifications SVG : <a href="http://www.w3.org/TR/SVG11/expanded-toc.html">http://www.w3.org/TR/SVG11/expanded-toc.html</a>
</page>

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
include(dirname(__FILE__).'/res/svg.php');
$content = ob_get_clean();
// convert into PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('svg.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,140 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
$content = '
<page>
<draw style="margin: auto; width:180mm; height:240mm; background: #444444; border: solid 0.5mm #777777;">
<g transform="translate(90mm,120mm) scale(1.8) translate(-250,-245)">
<path d="M 157.219 412.757 C 158.128 465.467 355.334 465.467 354.425 413.666 C 353.516 358.23 159.036 357.322 157.219 412.757 z " id="path749" sodipodi:nodetypes="ccc" style="fill:#623e35;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 212.655 306.43 L 211.746 413.665 C 219.694 425.479 288.517 427.298 299.898 412.757 L 299.898 305.521 C 289.901 320.97 232.647 326.423 212.655 306.43 z " id="path748" sodipodi:nodetypes="ccccc" style="fill:#623e35;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:4.76806;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" transform="matrix(0.618557,0.000000,0.000000,1.000000,98.94439,-0.908813)"/>
<path d="M 248.097 24.7078 C 244.462 35.6132 134.5 111.951 71.7941 150.119 C 109.053 250.994 394.412 247.359 425.31 150.121 C 371.692 134.671 250.823 34.7044 248.097 24.7078 z " id="path747" sodipodi:nodetypes="cccc" style="fill:#009500;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" transform="translate(0.908775,139.0434)"/>
<path d="M 248.097 24.7078 C 244.462 35.6132 168.125 111.951 105.419 150.119 C 144.496 206.464 356.243 212.826 390.776 148.303 C 337.158 132.853 250.823 34.7044 248.097 24.7078 z " id="path746" sodipodi:nodetypes="cccc" style="fill:#009500;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;" transform="translate(-3.725290e-7,71.79367)"/>
<path d="M 157.343 412.757 L 158.596 431.841 C 201.308 481.824 340.324 469.226 353.047 431.966 L 354.205 412.757 C 356.023 466.375 160.07 463.649 157.343 412.757 z " id="path750" sodipodi:nodetypes="ccccc" style="fill:#623e35;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 248.097 24.7078 C 244.462 35.6132 207.202 107.407 144.497 145.575 C 181.756 190.106 322.618 193.742 357.151 146.485 C 303.533 131.035 250.823 34.7044 248.097 24.7078 z " id="path745" sodipodi:nodetypes="cccc" style="fill:#009500;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:bevel;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 247.188 38.3395 C 219.016 91.0487 170.85 136.488 151.766 145.575 C 159.946 160.116 206.293 174.657 225.378 171.931 C 213.564 141.032 216.289 111.951 247.188 38.3395 z " id="path751" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.5;"/>
<path d="M 179.938 171.93 C 168.124 181.927 125.412 215.552 114.506 222.822 C 106.327 223.731 157.219 251.903 175.395 251.903 C 135.408 228.275 217.199 177.383 179.938 171.93 z " id="path752" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.498039;"/>
<path d="M 140.861 250.994 C 126.321 260.082 102.692 277.349 78.1551 290.071 C 83.6078 310.065 123.594 335.511 132.682 338.237 C 96.331 292.798 175.395 260.082 140.861 250.994 z " id="path753" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.498039;"/>
<path d="M 233.308 366.285 C 234.121 379.008 231.643 403.487 233.623 413.293 C 247.255 420.056 256.276 418.554 266.962 418.114 C 253.33 412.661 242.329 402.388 233.308 366.285 z " id="path755" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.3;"/>
<path d="M 222.459 376.374 C 201.797 379.129 155.308 391.181 161.506 415.975 C 167.705 438.703 213.505 443.18 226.247 446.624 C 220.048 439.392 171.837 405.988 222.459 376.374 z " id="path756" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.3;"/>
<path d="M 161.162 428.028 C 163.573 429.061 172.871 441.803 208.685 456.955 C 193.532 452.822 163.228 440.425 161.162 428.028 z " id="path757" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.3;" transform=""/>
<path d="M 315.437 454.544 C 329.556 448.345 346.774 443.524 349.873 432.505 C 355.039 422.174 348.496 436.292 315.437 454.544 z " id="path758" sodipodi:nodetypes="ccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.25;"/>
<path d="M 287.888 377.407 C 326.457 377.407 383.965 411.154 327.834 438.359 C 362.615 398.413 287.888 378.44 287.888 377.407 z " id="path759" sodipodi:nodetypes="ccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.247059;"/>
<path d="M 259.65 366.043 C 259.65 366.043 279.967 363.288 281.345 365.698 C 282.722 368.109 281.689 387.049 281.001 391.87 C 279.968 382.572 282.378 368.798 259.65 366.043 z " id="path760" sodipodi:nodetypes="cccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.247059;"/>
<path d="M 387.929 328.061 C 401.191 322.851 418.716 301.536 421.559 292.536 C 418.243 288.747 385.56 275.484 377.982 268.853 C 383.666 278.326 409.717 297.747 387.929 328.061 z " id="path761" sodipodi:nodetypes="cccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.247059;"/>
<path d="M 352.404 245.644 C 370.876 238.539 382.244 229.065 384.613 222.908 C 375.613 219.119 355.246 205.856 345.299 200.172 C 352.878 208.224 368.509 221.487 352.404 245.644 z " id="path762" sodipodi:nodetypes="cccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.247059;"/>
<path d="M 305.038 115.861 C 312.617 126.755 346.72 147.595 350.51 148.543 C 345.773 156.122 322.09 168.437 313.09 169.384 C 308.354 168.911 336.773 152.806 305.038 115.861 z " id="path763" sodipodi:nodetypes="cccc" style="fill:#000011;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.247059;"/>
<g id="g771" transform="translate(-249.1874,169.4743)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path772" sodipodi:nodetypes="ccc" style="fill:#ff0000;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path773" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.7;"/>
</g>
<g id="g774" transform="translate(-46.89011,243.8286)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path775" sodipodi:nodetypes="ccc" style="fill:#ff0000;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path776" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.7;"/>
</g>
<g id="g777" transform="translate(-226.4122,271.2928)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path778" sodipodi:nodetypes="ccc" style="fill:#ff0000;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path779" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.7;"/>
</g>
<g id="g780" transform="translate(-117.8951,83.73234)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path781" sodipodi:nodetypes="ccc" style="fill:#ff0000;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:3.75;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:none;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path782" sodipodi:nodetypes="ccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.7;"/>
</g>
<g id="g791" transform="translate(-236.4601,103.1582)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path792" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff00ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path793" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g794" transform="translate(-85.74192,124.5937)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path795" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff00ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path796" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g797" transform="translate(-144.0196,236.4601)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path798" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff00ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path799" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g808" transform="translate(-158.7565,60.28728)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path809" sodipodi:nodetypes="ccc" style="font-size:12;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path810" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g811" transform="translate(-300.7665,212.3452)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path812" sodipodi:nodetypes="ccc" style="font-size:12;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path813" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g814" transform="translate(-109.1869,185.5508)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path815" sodipodi:nodetypes="ccc" style="font-size:12;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path816" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g822" transform="translate(-192.9193,111.8663)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path823" sodipodi:nodetypes="ccc" style="font-size:12;fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path824" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g825" transform="translate(-101.1486,279.3311)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path826" sodipodi:nodetypes="ccc" style="font-size:12;fill:#00ffff;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path827" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g836" transform="translate(-293.3981,267.9435)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path837" sodipodi:nodetypes="ccc" style="font-size:12;fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path838" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g839" transform="translate(-203.6370,194.9289)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path840" sodipodi:nodetypes="ccc" style="font-size:12;fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path841" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g851" transform="translate(-81.05289,214.3548)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path852" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path853" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g854" transform="translate(-146.0292,146.0292)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path855" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path856" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g857" transform="translate(-231.7711,227.7519)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path858" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path859" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g865" transform="translate(-202.9672,64.97627)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path866" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff9300;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path867" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g868" transform="translate(-158.0866,287.3694)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path869" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff9300;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path870" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g871" transform="translate(-152.7278,188.2303)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path872" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ff9300;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path873" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
<g id="g880" transform="translate(-140.0000,25.00000)">
<polygon id="polygon878" points="418.662,76.6493 399.532,56.5037 376.859,72.5587 390.107,48.1396 367.832,31.538 395.15,36.5918 404.055,10.2764 407.69,37.819 435.47,38.1568 410.399,50.1252 418.662,76.6493 " sodipodi:arg1="1.04002345" sodipodi:arg2="1.66834199" sodipodi:cx="400.575500" sodipodi:cy="45.8358383" sodipodi:r1="35.7292557" sodipodi:r2="10.7187767" sodipodi:sides="5" sodipodi:type="star" style="font-size:12;fill:#ff0000;fill-rule:evenodd;stroke-width:3.75;stroke:#000000;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1;" transform="matrix(0.994342,-0.106230,0.106230,0.994342,-2.344353,42.91328)"/>
<path d="M 388.532 62.8101 C 401.79 40.713 380.796 41.775 381.792 39.3513 C 399.139 44.4405 399.022 35.5462 400.79 24.014 C 403.441 40.3242 406.708 43.765 388.532 62.8101 z " id="path879" sodipodi:nodetypes="cccc" style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:0.5;"/>
</g>
<g id="g883" transform="translate(-216.1370,24.92889)">
<path d="M 424.69 52.5344 C 445.456 51.8645 445.456 82.0082 426.03 82.0082 C 401.245 82.678 404.594 53.2043 424.69 52.5344 z " id="path884" sodipodi:nodetypes="ccc" style="font-size:12;fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:3.75;fill-opacity:1;"/>
<path d="M 425.36 55.2139 C 423.35 53.2043 401.915 63.922 415.982 75.3096 C 424.691 74.6397 427.37 57.2234 425.36 55.2139 z " id="path885" sodipodi:nodetypes="ccc" style="font-size:12;fill:#ffffff;fill-opacity:0.7;fill-rule:evenodd;stroke-width:1pt;"/>
</g>
</g>
</draw>
</page>';
// onvert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('svg_tree.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,98 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
ob_start();
$num = 'CMD01-'.date('ymd');
$nom = 'DUPONT Alphonse';
$date = '01/01/2012';
?>
<style type="text/css">
<!--
div.zone { border: none; border-radius: 6mm; background: #FFFFFF; border-collapse: collapse; padding:3mm; font-size: 2.7mm;}
h1 { padding: 0; margin: 0; color: #DD0000; font-size: 7mm; }
h2 { padding: 0; margin: 0; color: #222222; font-size: 5mm; position: relative; }
-->
</style>
<page format="100x200" orientation="L" backcolor="#AAAACC" style="font: arial;">
<div style="rotate: 90; position: absolute; width: 100mm; height: 4mm; left: 195mm; top: 0; font-style: italic; font-weight: normal; text-align: center; font-size: 2.5mm;">
Ceci est votre e-ticket à présenter au contrôle d'accès -
billet généré par <a href="http://html2pdf.fr/" style="color: #222222; text-decoration: none;">html2pdf</a>
</div>
<table style="width: 99%;border: none;" cellspacing="4mm" cellpadding="0">
<tr>
<td colspan="2" style="width: 100%">
<div class="zone" style="height: 34mm;position: relative;font-size: 5mm;">
<div style="position: absolute; right: 3mm; top: 3mm; text-align: right; font-size: 4mm; ">
<b><?php echo $nom; ?></b><br>
</div>
<div style="position: absolute; right: 3mm; bottom: 3mm; text-align: right; font-size: 4mm; ">
<b>1</b> place <b>plein tarif</b><br>
Prix unitaire TTC : <b>45,00&euro;</b><br>
N° commande : <b><?php echo $num; ?></b><br>
Date d'achat : <b><?php echo date('d/m/Y à H:i:s'); ?></b><br>
</div>
<h1>Billet soirée spécial HTML2PDF</h1>
&nbsp;&nbsp;&nbsp;&nbsp;<b>Valable le <?php echo $date; ?> à 20h30</b><br>
<img src="./res/logo.gif" alt="logo" style="margin-top: 3mm; margin-left: 20mm">
</div>
</td>
</tr>
<tr>
<td style="width: 25%;">
<div class="zone" style="height: 40mm;vertical-align: middle;text-align: center;">
<qrcode value="<?php echo $num."\n".$nom."\n".$date; ?>" ec="Q" style="width: 37mm; border: none;" ></qrcode>
</div>
</td>
<td style="width: 75%">
<div class="zone" style="height: 40mm;vertical-align: middle; text-align: justify">
<b>Conditions d'utilisation du billet</b><br>
Le billet est soumis aux conditions générales de vente que vous avez
acceptées avant l'achat du billet. Le billet d'entrée est uniquement
valable s'il est imprimé sur du papier A4 blanc, vierge recto et verso.
L'entrée est soumise au contrôle de la validité de votre billet. Une bonne
qualité d'impression est nécessaire. Les billets partiellement imprimés,
souillés, endommagés ou illisibles ne seront pas acceptés et seront
considérés comme non valables. En cas d'incident ou de mauvaise qualité
d'impression, vous devez imprimer à nouveau votre fichier. Pour vérifier
la bonne qualité de l'impression, assurez-vous que les informations écrites
sur le billet, ainsi que les pictogrammes (code à barres 2D) sont bien
lisibles. Ce titre doit être conservé jusqu'à la fin de la manifestation.
Une pièce d'identité pourra être demandée conjointement à ce billet. En
cas de non respect de l'ensemble des règles précisées ci-dessus, ce billet
sera considéré comme non valable.<br>
<br>
<i>Ce billet est reconnu électroniquement lors de votre
arrivée sur site. A ce titre, il ne doit être ni dupliqué, ni photocopié.
Toute reproduction est frauduleuse et inutile.</i>
</div>
</td>
</tr>
</table>
</page>
<?php
$content = ob_get_clean();
// convert
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', 0);
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('ticket.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* HTML2PDF Librairy - example
*
* HTML => PDF convertor
* distributed under the LGPL License
*
* @author Laurent MINGUET <webmaster@html2pdf.fr>
*
* isset($_GET['vuehtml']) is not mandatory
* it allow to display the result in the HTML format
*/
// get the HTML
$content = file_get_contents(dirname(__FILE__).'/../examples/res/utf8test.txt');
$content = '<page style="font-family: freeserif"><br />'.nl2br($content).'</page>';
// convert to PDF
try
{
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('real');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('utf8.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}

View File

@@ -0,0 +1,21 @@
"err01","L'etiqueta <b>&lt;[[OTHER]]&gt;</b> encara no existeix.<br><br>Si voleu afegir-la, heu de crear els mètodes <b>o_[[OTHER]]</b> (per l'obertura) i <b>c_[[OTHER]]</b> (pel tancament) seguint el model de les etiquetes existents.<br><br>A més, si creeu nous mètodes, envieu-ho a webmaster@html2pdf.fr per tal d'afegir-los a les següents versions d'HTML2PDF, i que tothom en pugui gaudir."
"err02","Frase de 1000 línies => massa llarga<br><b>Frase :</b> [[OTHER_0]]<br><b>Mida casella :</b> [[OTHER_1]]<br><b>Mida text :</b> [[OTHER_2]]<br>"
"err03","Codi HTML no vàlid, una etiqueta té un tancament de més : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Codi HTML no vàlid, les etiquetes no estan tancades en l'ordre correcte.<br>Estat : <pre>[[OTHER]]</pre>"
"err05","Codi HTML no vàlid, totes les etiquetes han de tenir el seu tancament.<br>Estat : <pre>[[OTHER]]</pre>"
"err06","Impossible carregar la imatge <b>[[OTHER]]</b>"
"err07","El contingut d'una etiqueta TD no quep en una sola pàgina"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","ERROR n°"
"txt02","Fitxer :"
"txt03","Línia :"
"pdf01","Document generat el [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Document generat a les [[date_h]]:[[date_i]]"
"pdf03","Document generat el [[date_d]]/[[date_m]]/[[date_y]] a les [[date_h]]:[[date_i]]"
"pdf04","Pàgina [[page_cu]]/[[page_nb]]"
"pdf05","Els formularis requereixen l'ús de l'Adobe Reader 9"
"vue01","CAPÇALERA"
"vue02","PEU DE PÀGINA"
"vue03","PÀGINA"
"vue04","Visualització"
1 err01 L'etiqueta <b>&lt;[[OTHER]]&gt;</b> encara no existeix.<br><br>Si voleu afegir-la, heu de crear els mètodes <b>o_[[OTHER]]</b> (per l'obertura) i <b>c_[[OTHER]]</b> (pel tancament) seguint el model de les etiquetes existents.<br><br>A més, si creeu nous mètodes, envieu-ho a webmaster@html2pdf.fr per tal d'afegir-los a les següents versions d'HTML2PDF, i que tothom en pugui gaudir.
2 err02 Frase de 1000 línies => massa llarga<br><b>Frase :</b> [[OTHER_0]]<br><b>Mida casella :</b> [[OTHER_1]]<br><b>Mida text :</b> [[OTHER_2]]<br>
3 err03 Codi HTML no vàlid, una etiqueta té un tancament de més : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Codi HTML no vàlid, les etiquetes no estan tancades en l'ordre correcte.<br>Estat : <pre>[[OTHER]]</pre>
5 err05 Codi HTML no vàlid, totes les etiquetes han de tenir el seu tancament.<br>Estat : <pre>[[OTHER]]</pre>
6 err06 Impossible carregar la imatge <b>[[OTHER]]</b>
7 err07 El contingut d'una etiqueta TD no quep en una sola pàgina
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 ERROR n°
11 txt02 Fitxer :
12 txt03 Línia :
13 pdf01 Document generat el [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Document generat a les [[date_h]]:[[date_i]]
15 pdf03 Document generat el [[date_d]]/[[date_m]]/[[date_y]] a les [[date_h]]:[[date_i]]
16 pdf04 Pàgina [[page_cu]]/[[page_nb]]
17 pdf05 Els formularis requereixen l'ús de l'Adobe Reader 9
18 vue01 CAPÇALERA
19 vue02 PEU DE PÀGINA
20 vue03 PÀGINA
21 vue04 Visualització

View File

@@ -0,0 +1,21 @@
"err01","Element <b>&lt;[[OTHER]]&gt;</b> neexistuje.<br><br>Pokud ho chcete přidat, musíte vytvořit metodu <b>o_[[OTHER]]</b> (pro otevření) a <b>c_[[OTHER]]</b> (pro zavření) k začlenění do modelu jako existující element.<br><br>Pokud vytvoříte metodu, nebojte se poslat email na webmaster@html2pdf.fr k zařazení do další verze HTML2PDF."
"err02","Sentence of 1000 lines => too long<br><b>Sentence :</b> [[OTHER_0]]<br><b>Width box :</b> [[OTHER_1]]<br><b>Length text :</b> [[OTHER_2]]<br>"
"err03","Chyba v HTML, element je příliš mnohokrát zavřen: <b>&lt;[[OTHER]]&gt;</b>"
"err04","Chyba v HTML, element není uzavřen ve správném pořadí.<br>Stav : <pre>[[OTHER]]</pre>"
"err05","Chyba v HTML, všechny elementy musí být zavřeny.<br>Stav : <pre>[[OTHER]]</pre>"
"err06","Menohu načíst orbázek <b>[[OTHER]]</b>"
"err07","Obsah TD elementu se nevejde na jednu stránku"
"err08","<b>&lt;[[OTHER]]&gt;</b> element není v &lt;DRAW&gt; elementu"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","CHYBA č."
"txt02","Soubor :"
"txt03","Řádek :"
"pdf01","Dokument vytvořen dne [[date_d]].[[date_m]].[[date_y]]"
"pdf02","Dokument vytvořen v [[date_h]]:[[date_i]]"
"pdf03","Dokument vytvořen dne [[date_d]].[[date_m]].[[date_y]] v [[date_h]]:[[date_i]]"
"pdf04","Stránka [[page_cu]]/[[page_nb]]"
"pdf05","Formuláře vyžadují Adobe Reader 9"
"vue01","HLAVIČKA"
"vue02","PATIČKA"
"vue03","STRÁNKA"
"vue04","POHLED"
1 err01 Element <b>&lt;[[OTHER]]&gt;</b> neexistuje.<br><br>Pokud ho chcete přidat, musíte vytvořit metodu <b>o_[[OTHER]]</b> (pro otevření) a <b>c_[[OTHER]]</b> (pro zavření) k začlenění do modelu jako existující element.<br><br>Pokud vytvoříte metodu, nebojte se poslat email na webmaster@html2pdf.fr k zařazení do další verze HTML2PDF.
2 err02 Sentence of 1000 lines => too long<br><b>Sentence :</b> [[OTHER_0]]<br><b>Width box :</b> [[OTHER_1]]<br><b>Length text :</b> [[OTHER_2]]<br>
3 err03 Chyba v HTML, element je příliš mnohokrát zavřen: <b>&lt;[[OTHER]]&gt;</b>
4 err04 Chyba v HTML, element není uzavřen ve správném pořadí.<br>Stav : <pre>[[OTHER]]</pre>
5 err05 Chyba v HTML, všechny elementy musí být zavřeny.<br>Stav : <pre>[[OTHER]]</pre>
6 err06 Menohu načíst orbázek <b>[[OTHER]]</b>
7 err07 Obsah TD elementu se nevejde na jednu stránku
8 err08 <b>&lt;[[OTHER]]&gt;</b> element není v &lt;DRAW&gt; elementu
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 CHYBA č.
11 txt02 Soubor :
12 txt03 Řádek :
13 pdf01 Dokument vytvořen dne [[date_d]].[[date_m]].[[date_y]]
14 pdf02 Dokument vytvořen v [[date_h]]:[[date_i]]
15 pdf03 Dokument vytvořen dne [[date_d]].[[date_m]].[[date_y]] v [[date_h]]:[[date_i]]
16 pdf04 Stránka [[page_cu]]/[[page_nb]]
17 pdf05 Formuláře vyžadují Adobe Reader 9
18 vue01 HLAVIČKA
19 vue02 PATIČKA
20 vue03 STRÁNKA
21 vue04 POHLED

View File

@@ -0,0 +1,21 @@
"err01","Tag <b>&lt;[[OTHER]]&gt;</b> endnu ikke eksisterer.<br><br>Hvis du ønsker at tilføje det, skal du oprette de metoder <b>o_[[OTHER]]</b> (for åbning) og <b>c_[[OTHER]]</b> (for lukning) ved at følge den model af eksisterende tags.<br><br>Hvis du opretter disse metoder, så tøv ikke med at send mig en e-mail til webmaster@html2pdf.fr til indsat dem i den næste version af HTML2PDF."
"err02","Sætning af 1000 lines => er for lang<br><b>sætning :</b> [[OTHER_0]]<br><b>Bredde boksen :</b> [[OTHER_1]]<br><b>Længde tekst :</b> [[OTHER_2]]<br>"
"err03","HTML-kode er ugyldig, et tag er lukket for mange gange: <b>&lt;[[OTHER]]&gt;</b>"
"err04","HTML-kode er ugyldig, tags er ikke afsluttet på en ordentlig måde.<br>Status : <pre>[[OTHER]]</pre>"
"err05","HTML-kode er ugyldig, alle tags skal lukkes. <br>Status : <pre>[[OTHER]]</pre>"
"err06","Umuligt at indlæse billedet <b>[[OTHER]]</b>"
"err07","Indholdet af en TD tag ikke passer på én side"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","FEJL n°"
"txt02","File :"
"txt03","Linje :"
"pdf01","Siden oprettet d. [[date_y]]-[[date_m]]-[[date_d]]"
"pdf02","Siden oprettet d. [[date_h]]:[[date_i]]"
"pdf03","Siden oprettet d. [[date_y]]-[[date_m]]-[[date_d]] at [[date_h]]:[[date_i]]"
"pdf04","Side [[page_cu]]/[[page_nb]]"
"pdf05","De formularer kræver brug af Adobe Reader 9"
"vue01","HEADER"
"vue02","FOOTER"
"vue03","PAGE"
"vue04","View"
1 err01 Tag <b>&lt;[[OTHER]]&gt;</b> endnu ikke eksisterer.<br><br>Hvis du ønsker at tilføje det, skal du oprette de metoder <b>o_[[OTHER]]</b> (for åbning) og <b>c_[[OTHER]]</b> (for lukning) ved at følge den model af eksisterende tags.<br><br>Hvis du opretter disse metoder, så tøv ikke med at send mig en e-mail til webmaster@html2pdf.fr til indsat dem i den næste version af HTML2PDF.
2 err02 Sætning af 1000 lines => er for lang<br><b>sætning :</b> [[OTHER_0]]<br><b>Bredde boksen :</b> [[OTHER_1]]<br><b>Længde tekst :</b> [[OTHER_2]]<br>
3 err03 HTML-kode er ugyldig, et tag er lukket for mange gange: <b>&lt;[[OTHER]]&gt;</b>
4 err04 HTML-kode er ugyldig, tags er ikke afsluttet på en ordentlig måde.<br>Status : <pre>[[OTHER]]</pre>
5 err05 HTML-kode er ugyldig, alle tags skal lukkes. <br>Status : <pre>[[OTHER]]</pre>
6 err06 Umuligt at indlæse billedet <b>[[OTHER]]</b>
7 err07 Indholdet af en TD tag ikke passer på én side
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 FEJL n°
11 txt02 File :
12 txt03 Linje :
13 pdf01 Siden oprettet d. [[date_y]]-[[date_m]]-[[date_d]]
14 pdf02 Siden oprettet d. [[date_h]]:[[date_i]]
15 pdf03 Siden oprettet d. [[date_y]]-[[date_m]]-[[date_d]] at [[date_h]]:[[date_i]]
16 pdf04 Side [[page_cu]]/[[page_nb]]
17 pdf05 De formularer kræver brug af Adobe Reader 9
18 vue01 HEADER
19 vue02 FOOTER
20 vue03 PAGE
21 vue04 View

View File

@@ -0,0 +1,21 @@
"err01","Das Tag <b>&lt;[[OTHER]]&gt;</b> existiert noch nicht.<br><br>Wenn Sie es hinzufügen möchten, sollen Sie die Methoden<b>o_[[OTHER]]</b> (zu öffnen) und <b>c_[[OTHER]]</b> (zu schließen) nach dem Modell den existierenden Tags.<br><br>Wenn Sie diese Methoden außerdem aufbauen, bitte teilen Sie sie duch eine E-Mail an meine Adresse : webmaster@html2pdf.fr, so daß sie künftig in die nächste Version von HTML2PDF erscheinen."
"err02","1000-Linien Satz => zu lang<br><b>Satz :</b> [[OTHER_0]]<br><b>Breite des Eingabefelds :</b> [[OTHER_1]]<br><b>Länge des Texts :</b> [[OTHER_2]]<br>"
"err03","Falsches HTML Code, überzähliges geschloßene Tag : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Falsches HTML Code, die Tags sind nicht in richtiger Ordnung geschloßen.<br>Status : <pre>[[OTHER]]</pre>"
"err05","Falsches HTML Code, alle Tags sollen geschloßen sein.<br>Status : <pre>[[OTHER]]</pre>"
"err06","Ladung des Bilds unmöglich <b>[[OTHER]]</b>"
"err07","Er Inhalt eines TD-Tag passt nicht nur auf einer Seite"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","Fehler n°"
"txt02","Datei :"
"txt03","Linie :"
"pdf01","Datei aufgebaut am [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Datei aufgebaut um [[date_h]]:[[date_m]]"
"pdf03","Datei aufgebaut am [[date_d]]/[[date_m]]/[[date_y]] um [[date_h]]:[[date_i]]"
"pdf04","Seite [[page_cu]]/[[page_nb]]"
"pdf05","Die Formulare benötigen Sie den Adobe Reader 9"
"vue01","Seite-Header"
"vue02","Fußzeile"
"vue03","Seite"
"vue04","Visualisierung"
1 err01 Das Tag <b>&lt;[[OTHER]]&gt;</b> existiert noch nicht.<br><br>Wenn Sie es hinzufügen möchten, sollen Sie die Methoden<b>o_[[OTHER]]</b> (zu öffnen) und <b>c_[[OTHER]]</b> (zu schließen) nach dem Modell den existierenden Tags.<br><br>Wenn Sie diese Methoden außerdem aufbauen, bitte teilen Sie sie duch eine E-Mail an meine Adresse : webmaster@html2pdf.fr, so daß sie künftig in die nächste Version von HTML2PDF erscheinen.
2 err02 1000-Linien Satz => zu lang<br><b>Satz :</b> [[OTHER_0]]<br><b>Breite des Eingabefelds :</b> [[OTHER_1]]<br><b>Länge des Texts :</b> [[OTHER_2]]<br>
3 err03 Falsches HTML Code, überzähliges geschloßene Tag : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Falsches HTML Code, die Tags sind nicht in richtiger Ordnung geschloßen.<br>Status : <pre>[[OTHER]]</pre>
5 err05 Falsches HTML Code, alle Tags sollen geschloßen sein.<br>Status : <pre>[[OTHER]]</pre>
6 err06 Ladung des Bilds unmöglich <b>[[OTHER]]</b>
7 err07 Er Inhalt eines TD-Tag passt nicht nur auf einer Seite
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 Fehler n°
11 txt02 Datei :
12 txt03 Linie :
13 pdf01 Datei aufgebaut am [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Datei aufgebaut um [[date_h]]:[[date_m]]
15 pdf03 Datei aufgebaut am [[date_d]]/[[date_m]]/[[date_y]] um [[date_h]]:[[date_i]]
16 pdf04 Seite [[page_cu]]/[[page_nb]]
17 pdf05 Die Formulare benötigen Sie den Adobe Reader 9
18 vue01 Seite-Header
19 vue02 Fußzeile
20 vue03 Seite
21 vue04 Visualisierung

View File

@@ -0,0 +1,21 @@
"err01","The tag <b>&lt;[[OTHER]]&gt;</b> does not yet exist.<br><br>If you want to add it, you must create the methods <b>o_[[OTHER]]</b> (for opening) and <b>c_[[OTHER]]</b> (for closure) by following the model of existing tags.<br><br>If you create these methods, do not hesitate to send me an email to webmaster@html2pdf.fr to included them in the next version of HTML2PDF."
"err02","Sentence of 1000 lines => too long<br><b>Sentence :</b> [[OTHER_0]]<br><b>Width box :</b> [[OTHER_1]]<br><b>Length text :</b> [[OTHER_2]]<br>"
"err03","HTML code invalid, a tag is closed too many times: <b>&lt;[[OTHER]]&gt;</b>"
"err04","HTML code invalid, the tags are not closed in an orderly fashion.<br>Status : <pre>[[OTHER]]</pre>"
"err05","HTML code invalid, all tags must be closed.<br>Status : <pre>[[OTHER]]</pre>"
"err06","Impossible to load the image <b>[[OTHER]]</b>"
"err07","The content of a TD tag does not fit on only one page"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","ERROR n°"
"txt02","File :"
"txt03","Line :"
"pdf01","Document generated on [[date_y]]-[[date_m]]-[[date_d]]"
"pdf02","Document generated at [[date_h]]:[[date_i]]"
"pdf03","Document generated on [[date_y]]-[[date_m]]-[[date_d]] at [[date_h]]:[[date_i]]"
"pdf04","Page [[page_cu]]/[[page_nb]]"
"pdf05","The forms require the use of Adobe Reader 9"
"vue01","HEADER"
"vue02","FOOTER"
"vue03","PAGE"
"vue04","View"
1 err01 The tag <b>&lt;[[OTHER]]&gt;</b> does not yet exist.<br><br>If you want to add it, you must create the methods <b>o_[[OTHER]]</b> (for opening) and <b>c_[[OTHER]]</b> (for closure) by following the model of existing tags.<br><br>If you create these methods, do not hesitate to send me an email to webmaster@html2pdf.fr to included them in the next version of HTML2PDF.
2 err02 Sentence of 1000 lines => too long<br><b>Sentence :</b> [[OTHER_0]]<br><b>Width box :</b> [[OTHER_1]]<br><b>Length text :</b> [[OTHER_2]]<br>
3 err03 HTML code invalid, a tag is closed too many times: <b>&lt;[[OTHER]]&gt;</b>
4 err04 HTML code invalid, the tags are not closed in an orderly fashion.<br>Status : <pre>[[OTHER]]</pre>
5 err05 HTML code invalid, all tags must be closed.<br>Status : <pre>[[OTHER]]</pre>
6 err06 Impossible to load the image <b>[[OTHER]]</b>
7 err07 The content of a TD tag does not fit on only one page
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 ERROR n°
11 txt02 File :
12 txt03 Line :
13 pdf01 Document generated on [[date_y]]-[[date_m]]-[[date_d]]
14 pdf02 Document generated at [[date_h]]:[[date_i]]
15 pdf03 Document generated on [[date_y]]-[[date_m]]-[[date_d]] at [[date_h]]:[[date_i]]
16 pdf04 Page [[page_cu]]/[[page_nb]]
17 pdf05 The forms require the use of Adobe Reader 9
18 vue01 HEADER
19 vue02 FOOTER
20 vue03 PAGE
21 vue04 View

View File

@@ -0,0 +1,21 @@
"err01","La etiqueta <b>&lt;[[OTHER]]&gt;</b> todavía no existe.<br><br>Si quiere añadirla, debe crear los métodos <b>o_[[OTHER]]</b> (para la apertura) y <b>c_[[OTHER]]</b> (para el cierre) siguiendo el modelo de las etiquetas existentes.<br><br>Si crea nuevos métodos, envíelos a webmaster@html2pdf.fr para añadirlos a las siguientes versiones de HTML2PDF, y que todo el mundo se pueda beneficiar."
"err02","Frase de 1000 líneas => demasiado larga<br><b>Frase :</b> [[OTHER_0]]<br><b>Tamaño casilla :</b> [[OTHER_1]]<br><b>Tamaño texto :</b> [[OTHER_2]]<br>"
"err03","Código HTML no válido, una etiqueta tiene un cierre de más : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Código HTML no válido, las etiquetas no estan cerradas en el orden correcto.<br>Estado : <pre>[[OTHER]]</pre>"
"err05","Código HTML no válido, todas las etiquetas deben tener su cierre.<br>Estado : <pre>[[OTHER]]</pre>"
"err06","Imposible cargar la imagen <b>[[OTHER]]</b>"
"err07","El contenido de una etiqueta TD no encaja en una sola página"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","ERROR n°"
"txt02","Fichero :"
"txt03","Línea :"
"pdf01","Documento generado el [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Documento generado a las [[date_h]]:[[date_i]]"
"pdf03","Documento generado el [[date_d]]/[[date_m]]/[[date_y]] a las [[date_h]]:[[date_i]]"
"pdf04","Página [[page_cu]]/[[page_nb]]"
"pdf05","Los formularios requieren el uso de Adobe Reader 9"
"vue01","ENCABEZADO"
"vue02","PIE DE PÁGINA"
"vue03","PÁGINA"
"vue04","Visualización"
1 err01 La etiqueta <b>&lt;[[OTHER]]&gt;</b> todavía no existe.<br><br>Si quiere añadirla, debe crear los métodos <b>o_[[OTHER]]</b> (para la apertura) y <b>c_[[OTHER]]</b> (para el cierre) siguiendo el modelo de las etiquetas existentes.<br><br>Si crea nuevos métodos, envíelos a webmaster@html2pdf.fr para añadirlos a las siguientes versiones de HTML2PDF, y que todo el mundo se pueda beneficiar.
2 err02 Frase de 1000 líneas => demasiado larga<br><b>Frase :</b> [[OTHER_0]]<br><b>Tamaño casilla :</b> [[OTHER_1]]<br><b>Tamaño texto :</b> [[OTHER_2]]<br>
3 err03 Código HTML no válido, una etiqueta tiene un cierre de más : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Código HTML no válido, las etiquetas no estan cerradas en el orden correcto.<br>Estado : <pre>[[OTHER]]</pre>
5 err05 Código HTML no válido, todas las etiquetas deben tener su cierre.<br>Estado : <pre>[[OTHER]]</pre>
6 err06 Imposible cargar la imagen <b>[[OTHER]]</b>
7 err07 El contenido de una etiqueta TD no encaja en una sola página
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 ERROR n°
11 txt02 Fichero :
12 txt03 Línea :
13 pdf01 Documento generado el [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Documento generado a las [[date_h]]:[[date_i]]
15 pdf03 Documento generado el [[date_d]]/[[date_m]]/[[date_y]] a las [[date_h]]:[[date_i]]
16 pdf04 Página [[page_cu]]/[[page_nb]]
17 pdf05 Los formularios requieren el uso de Adobe Reader 9
18 vue01 ENCABEZADO
19 vue02 PIE DE PÁGINA
20 vue03 PÁGINA
21 vue04 Visualización

View File

@@ -0,0 +1,21 @@
"err01","La balise <b>&lt;[[OTHER]]&gt;</b> n'existe pas encore.<br><br>Si vous voulez la rajouter, vous devez créer les méthodes <b>o_[[OTHER]]</b> (pour l'ouverture) et <b>c_[[OTHER]]</b> (pour la fermeture) en suivant le modèle des balises existantes.<br><br>De plus, si vous créez ces méthodes, n'hésitez pas à en faire profiter tout le monde en m'écrivant sur webmaster@html2pdf.fr afin qu'elles se retrouvent dans la prochaine version d'HTML2PDF."
"err02","Phrase de 1000 lignes => trop long<br><b>Phrase :</b> [[OTHER_0]]<br><b>Largeur case :</b> [[OTHER_1]]<br><b>Longueur text :</b> [[OTHER_2]]<br>"
"err03","Code HTML non valide, une balise est fermée en trop : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Code HTML non valide, les balises ne sont pas fermées dans le bon ordre.<br>Etat : <pre>[[OTHER]]</pre>"
"err05","Code HTML non valide, toutes les balises doivent être fermées.<br>Etat : <pre>[[OTHER]]</pre>"
"err06","Impossible de charger l'image <b>[[OTHER]]</b>"
"err07","le contenu d'une balise TD ne rentre pas sur une seule page"
"err08","Balise <b>&lt;[[OTHER]]&gt;</b> non contenu dans une balise &lt;DRAW&gt;"
"err09","L'utilisation de la balise <b>&lt;[[OTHER_0]]&gt;</b> a changé, vous ne pouvez plus utiliser [[OTHER_1]]. Lisez le WIKI"
"txt01","ERREUR n°"
"txt02","Fichier :"
"txt03","Ligne :"
"pdf01","Document généré le [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Document généré à [[date_h]]:[[date_i]]"
"pdf03","Document généré le [[date_d]]/[[date_m]]/[[date_y]] à [[date_h]]:[[date_i]]"
"pdf04","Page [[page_cu]]/[[page_nb]]"
"pdf05","Les formulaires nécessitent l'utilisation de Adobe Reader 9"
"vue01","HEADER"
"vue02","FOOTER"
"vue03","PAGE"
"vue04","Restitution"
1 err01 La balise <b>&lt;[[OTHER]]&gt;</b> n'existe pas encore.<br><br>Si vous voulez la rajouter, vous devez créer les méthodes <b>o_[[OTHER]]</b> (pour l'ouverture) et <b>c_[[OTHER]]</b> (pour la fermeture) en suivant le modèle des balises existantes.<br><br>De plus, si vous créez ces méthodes, n'hésitez pas à en faire profiter tout le monde en m'écrivant sur webmaster@html2pdf.fr afin qu'elles se retrouvent dans la prochaine version d'HTML2PDF.
2 err02 Phrase de 1000 lignes => trop long<br><b>Phrase :</b> [[OTHER_0]]<br><b>Largeur case :</b> [[OTHER_1]]<br><b>Longueur text :</b> [[OTHER_2]]<br>
3 err03 Code HTML non valide, une balise est fermée en trop : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Code HTML non valide, les balises ne sont pas fermées dans le bon ordre.<br>Etat : <pre>[[OTHER]]</pre>
5 err05 Code HTML non valide, toutes les balises doivent être fermées.<br>Etat : <pre>[[OTHER]]</pre>
6 err06 Impossible de charger l'image <b>[[OTHER]]</b>
7 err07 le contenu d'une balise TD ne rentre pas sur une seule page
8 err08 Balise <b>&lt;[[OTHER]]&gt;</b> non contenu dans une balise &lt;DRAW&gt;
9 err09 L'utilisation de la balise <b>&lt;[[OTHER_0]]&gt;</b> a changé, vous ne pouvez plus utiliser [[OTHER_1]]. Lisez le WIKI
10 txt01 ERREUR n°
11 txt02 Fichier :
12 txt03 Ligne :
13 pdf01 Document généré le [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Document généré à [[date_h]]:[[date_i]]
15 pdf03 Document généré le [[date_d]]/[[date_m]]/[[date_y]] à [[date_h]]:[[date_i]]
16 pdf04 Page [[page_cu]]/[[page_nb]]
17 pdf05 Les formulaires nécessitent l'utilisation de Adobe Reader 9
18 vue01 HEADER
19 vue02 FOOTER
20 vue03 PAGE
21 vue04 Restitution

View File

@@ -0,0 +1,21 @@
"err01","Il tag <b>&lt;[[OTHER]]&gt;</b> non esiste ancora.<br><br>Se si desidera aggiungere, è necessario creare metodi <b>o_[[OTHER]]</b> (di apertura) e <b>C_[[OTHER]]</b> (per la chiusura) secondo il modello esistente di tag.<br><br>Inoltre, se si creare questi metodi, non esitate a portare il mondo intero ha scritto su webmaster@html2pdf.fr in modo che alla fine nella prossima versione di HTML2PDF."
"err02","Citazione di 1000 linee => troppo lungo<br><b>frase :</b> [[OTHER_0]]<br><b>casella Larghezza :</b> [[OTHER_1]]<br><b>Lunghezza testo :</b> [[OTHER_2]]<br>"
"err03","HTML non valido, un tag è chiusa troppo <b>&lt;[[OTHER]]&gt;</ b>"
"err04","HTML non validi, i tag non sono chiusi nel corretto ordine.<br>Stato :<pre>[[OTHER]]</pre>"
"err05","HTML non valido, tutte le tag deve essere chiuso.<br>Stato :<pre>[[OTHER]]</pre>"
"err06","Impossibile caricare l'immagine <b>[[OTHER]]</b>"
"err07","il contenuto di un tag TD non rientra in una sola pagina"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","ERRORE n°"
"txt02","File :"
"txt03","Linea :"
"pdf01","Documento generato il [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Documento generato [[date_h]]:[[date_i]]"
"pdf03","Documento generato il [[date_d]]/[[date_m]]/[[date_y]] nel [[date_h]]:[[date_i]]"
"pdf04","Pagina [[page_cu]]/[[page_nb]]"
"pdf05","I moduli richiedono l'uso di Adobe Reader 9"
"vue01","HEADER"
"vue02","FOOTER"
"vue03","PAGINA"
"vue04","Visualization"
1 err01 Il tag <b>&lt;[[OTHER]]&gt;</b> non esiste ancora.<br><br>Se si desidera aggiungere, è necessario creare metodi <b>o_[[OTHER]]</b> (di apertura) e <b>C_[[OTHER]]</b> (per la chiusura) secondo il modello esistente di tag.<br><br>Inoltre, se si creare questi metodi, non esitate a portare il mondo intero ha scritto su webmaster@html2pdf.fr in modo che alla fine nella prossima versione di HTML2PDF.
2 err02 Citazione di 1000 linee => troppo lungo<br><b>frase :</b> [[OTHER_0]]<br><b>casella Larghezza :</b> [[OTHER_1]]<br><b>Lunghezza testo :</b> [[OTHER_2]]<br>
3 err03 HTML non valido, un tag è chiusa troppo <b>&lt;[[OTHER]]&gt;</ b>
4 err04 HTML non validi, i tag non sono chiusi nel corretto ordine.<br>Stato :<pre>[[OTHER]]</pre>
5 err05 HTML non valido, tutte le tag deve essere chiuso.<br>Stato :<pre>[[OTHER]]</pre>
6 err06 Impossibile caricare l'immagine <b>[[OTHER]]</b>
7 err07 il contenuto di un tag TD non rientra in una sola pagina
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 ERRORE n°
11 txt02 File :
12 txt03 Linea :
13 pdf01 Documento generato il [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Documento generato [[date_h]]:[[date_i]]
15 pdf03 Documento generato il [[date_d]]/[[date_m]]/[[date_y]] nel [[date_h]]:[[date_i]]
16 pdf04 Pagina [[page_cu]]/[[page_nb]]
17 pdf05 I moduli richiedono l'uso di Adobe Reader 9
18 vue01 HEADER
19 vue02 FOOTER
20 vue03 PAGINA
21 vue04 Visualization

View File

@@ -0,0 +1,21 @@
"err01","De tag <b>&lt;[[OTHER]]&gt;</b> bestaat nog niet.<br><br>Om deze toe te voegen, gebruik de methods <b>o_[[OTHER]]</b> (om te openen) en <b>c_[[OTHER]]</b> (om te sluiten) volgens het model van de bestaande tags.<br><br>Als u deze methods maakt, stuur deze dan a.u.b. via e-mail naar webmaster@html2pdf.fr voor opname in de volgende versie van HTML2PDF."
"err02","Zin van 1000 regels => te lang<br><b>Zin :</b> [[OTHER_0]]<br><b>Kaderbreedte :</b> [[OTHER_1]]<br><b>Tekstlengte :</b> [[OTHER_2]]<br>"
"err03","Ongeldige HTML code, overvloedig afgesloten tag : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Ongeldige HTML code, de tags zijn niet correct afgesloten.<br>Status : <pre>[[OTHER]]</pre>"
"err05","Ongeldige HTML code, alle tags dienen te zijn gesloten.<br>Status : <pre>[[OTHER]]</pre>"
"err06","Kan afbeelding niet laden: <b>[[OTHER]]</b>"
"err07","De inhoud van de cel (<TD>) past niet op een pagina"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","Fout nr"
"txt02","Bestand :"
"txt03","Regel :"
"pdf01","Document gemaakt op [[date_d]]-[[date_m]]-[[date_y]]"
"pdf02","Document gemaakt om [[date_h]]:[[date_i]]"
"pdf03","Document gemaakt op [[date_d]]-[[date_m]]-[[date_y]] om [[date_h]]:[[date_i]]"
"pdf04","Pagina [[page_cu]] van [[page_nb]]"
"pdf05","De formulieren vereisen het gebruik van Adobe Reader 9"
"vue01","Paginakop"
"vue02","Paginavoet"
"vue03","Pagina"
"vue04","Bekijken"
1 err01 De tag <b>&lt;[[OTHER]]&gt;</b> bestaat nog niet.<br><br>Om deze toe te voegen, gebruik de methods <b>o_[[OTHER]]</b> (om te openen) en <b>c_[[OTHER]]</b> (om te sluiten) volgens het model van de bestaande tags.<br><br>Als u deze methods maakt, stuur deze dan a.u.b. via e-mail naar webmaster@html2pdf.fr voor opname in de volgende versie van HTML2PDF.
2 err02 Zin van 1000 regels => te lang<br><b>Zin :</b> [[OTHER_0]]<br><b>Kaderbreedte :</b> [[OTHER_1]]<br><b>Tekstlengte :</b> [[OTHER_2]]<br>
3 err03 Ongeldige HTML code, overvloedig afgesloten tag : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Ongeldige HTML code, de tags zijn niet correct afgesloten.<br>Status : <pre>[[OTHER]]</pre>
5 err05 Ongeldige HTML code, alle tags dienen te zijn gesloten.<br>Status : <pre>[[OTHER]]</pre>
6 err06 Kan afbeelding niet laden: <b>[[OTHER]]</b>
7 err07 De inhoud van de cel (<TD>) past niet op een pagina
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 Fout nr
11 txt02 Bestand :
12 txt03 Regel :
13 pdf01 Document gemaakt op [[date_d]]-[[date_m]]-[[date_y]]
14 pdf02 Document gemaakt om [[date_h]]:[[date_i]]
15 pdf03 Document gemaakt op [[date_d]]-[[date_m]]-[[date_y]] om [[date_h]]:[[date_i]]
16 pdf04 Pagina [[page_cu]] van [[page_nb]]
17 pdf05 De formulieren vereisen het gebruik van Adobe Reader 9
18 vue01 Paginakop
19 vue02 Paginavoet
20 vue03 Pagina
21 vue04 Bekijken

View File

@@ -0,0 +1,21 @@
"err01","A tag <b>&lt;[[OTHER]]&gt;</b> ainda não existe.<br><br>Se você quer inserí-la, deve criar os métodos <b>o_[[OTHER]]</b> (para abrí-la) e <b>c_[[OTHER]]</b> (para fechá-la) seguindo o modelo das tags existentes.<br><br>Se você criar novos métodos, os envie para webmaster@html2pdf.fr para que as próximas versões de HTML2PDF, e o restante do mundo se beneficie com isso."
"err02","Frase de 1000 linhas => muito grande<br><b>Frase :</b> [[OTHER_0]]<br><b>Tamanho do quadro :</b> [[OTHER_1]]<br><b>Tamanho do texto :</b> [[OTHER_2]]<br>"
"err03","Código HTML não válido, uma tag está com fechamento sobrando : <b>&lt;[[OTHER]]&gt;</b>"
"err04","Código HTML não válido, as tags não estão fechadas na ordem correta.<br>Estado : <pre>[[OTHER]]</pre>"
"err05","Código HTML não válido, todas as tags devem ser fechadas.<br>Estado : <pre>[[OTHER]]</pre>"
"err06","Impossível carregar imagem <b>[[OTHER]]</b>"
"err07","O conteúdo de uma tag TD não se encaixa em apenas uma página"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","ERRO n°"
"txt02","Arquivo :"
"txt03","Linha :"
"pdf01","Documento generado em [[date_d]]/[[date_m]]/[[date_y]]"
"pdf02","Documento generado às [[date_h]]:[[date_i]]"
"pdf03","Documento generado em [[date_d]]/[[date_m]]/[[date_y]] às [[date_h]]:[[date_i]]"
"pdf04","Página [[page_cu]]/[[page_nb]]"
"pdf05","Os formulários exigem a utilização do Adobe Reader 9"
"vue01","CABEÇALHO"
"vue02","RODAPÉ"
"vue03","PÁGINA"
"vue04","Visualização"
1 err01 A tag <b>&lt;[[OTHER]]&gt;</b> ainda não existe.<br><br>Se você quer inserí-la, deve criar os métodos <b>o_[[OTHER]]</b> (para abrí-la) e <b>c_[[OTHER]]</b> (para fechá-la) seguindo o modelo das tags existentes.<br><br>Se você criar novos métodos, os envie para webmaster@html2pdf.fr para que as próximas versões de HTML2PDF, e o restante do mundo se beneficie com isso.
2 err02 Frase de 1000 linhas => muito grande<br><b>Frase :</b> [[OTHER_0]]<br><b>Tamanho do quadro :</b> [[OTHER_1]]<br><b>Tamanho do texto :</b> [[OTHER_2]]<br>
3 err03 Código HTML não válido, uma tag está com fechamento sobrando : <b>&lt;[[OTHER]]&gt;</b>
4 err04 Código HTML não válido, as tags não estão fechadas na ordem correta.<br>Estado : <pre>[[OTHER]]</pre>
5 err05 Código HTML não válido, todas as tags devem ser fechadas.<br>Estado : <pre>[[OTHER]]</pre>
6 err06 Impossível carregar imagem <b>[[OTHER]]</b>
7 err07 O conteúdo de uma tag TD não se encaixa em apenas uma página
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 ERRO n°
11 txt02 Arquivo :
12 txt03 Linha :
13 pdf01 Documento generado em [[date_d]]/[[date_m]]/[[date_y]]
14 pdf02 Documento generado às [[date_h]]:[[date_i]]
15 pdf03 Documento generado em [[date_d]]/[[date_m]]/[[date_y]] às [[date_h]]:[[date_i]]
16 pdf04 Página [[page_cu]]/[[page_nb]]
17 pdf05 Os formulários exigem a utilização do Adobe Reader 9
18 vue01 CABEÇALHO
19 vue02 RODAPÉ
20 vue03 PÁGINA
21 vue04 Visualização

View File

@@ -0,0 +1,21 @@
"err01","<b>&lt;[[OTHER]]&gt;</b> etiketi bulunamadý.<br><br>Eklemek isterseniz, <b>o_[[OTHER]]</b> þeklinde açýp, <b>c_[[OTHER]]</b> þeklinde kapatabilirsiniz.<br><br> Bu þekilde etiketler üretirseniz lütfen daha sonraki HTML2PDF versiyonuna eklenmek üzere bana gönderin. ( webmaster@html2pdf.fr )."
"err02","Ýçerik 1000 satýrdan fazla ve gerekenden uzun <br><b>Konu :</b> [[OTHER_0]]<br><b>Geniþlik :</b> [[OTHER_1]]<br><b>Yazý boyutu :</b> [[OTHER_2]]<br>"
"err03","HTML kodu hatalý, etiket birden fazla defa kapatýlmýþ: <b>&lt;[[OTHER]]&gt;</b>"
"err04","HTML kodu hatalý, etiketler gereken düzen içinde kapatýlmamýþ.<br>Durum : <pre>[[OTHER]]</pre>"
"err05","HTML kodu hatalý, bütün etiketler kapatýlmalý.<br>Durum : <pre>[[OTHER]]</pre>"
"err06","Resim dosyasý okunamýyor <b>[[OTHER]]</b>"
"err07","TD içeriði bir sayfaya sýðmýyor"
"err08","<b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag"
"err09","The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI"
"txt01","HATA n°"
"txt02","Dosya :"
"txt03","Satýr :"
"pdf01","Doküman üretilme tarihi [[date_y]]-[[date_m]]-[[date_d]]"
"pdf02","Doküman üretilme tarihi [[date_h]]:[[date_i]]"
"pdf03","Doküman üretilme tarihi [[date_y]]-[[date_m]]-[[date_d]] saati [[date_h]]:[[date_i]]"
"pdf04","Sayfa [[page_cu]]/[[page_nb]]"
"pdf05","Adobe Reader 9 gerektirir"
"vue01","DOSYA ÜSTÜ"
"vue02","DOSYA ALTI"
"vue03","SAYFA"
"vue04","Görünüm"
1 err01 <b>&lt;[[OTHER]]&gt;</b> etiketi bulunamadý.<br><br>Eklemek isterseniz, <b>o_[[OTHER]]</b> þeklinde açýp, <b>c_[[OTHER]]</b> þeklinde kapatabilirsiniz.<br><br> Bu þekilde etiketler üretirseniz lütfen daha sonraki HTML2PDF versiyonuna eklenmek üzere bana gönderin. ( webmaster@html2pdf.fr ).
2 err02 Ýçerik 1000 satýrdan fazla ve gerekenden uzun <br><b>Konu :</b> [[OTHER_0]]<br><b>Geniþlik :</b> [[OTHER_1]]<br><b>Yazý boyutu :</b> [[OTHER_2]]<br>
3 err03 HTML kodu hatalý, etiket birden fazla defa kapatýlmýþ: <b>&lt;[[OTHER]]&gt;</b>
4 err04 HTML kodu hatalý, etiketler gereken düzen içinde kapatýlmamýþ.<br>Durum : <pre>[[OTHER]]</pre>
5 err05 HTML kodu hatalý, bütün etiketler kapatýlmalý.<br>Durum : <pre>[[OTHER]]</pre>
6 err06 Resim dosyasý okunamýyor <b>[[OTHER]]</b>
7 err07 TD içeriði bir sayfaya sýðmýyor
8 err08 <b>&lt;[[OTHER]]&gt;</b> tag not in a &lt;DRAW&gt; tag
9 err09 The using of the <b>&lt;[[OTHER_0]]&gt;</b>> tag has changed, you can not use [[OTHER_1]] anymore. Read the WIKI
10 txt01 HATA n°
11 txt02 Dosya :
12 txt03 Satýr :
13 pdf01 Doküman üretilme tarihi [[date_y]]-[[date_m]]-[[date_d]]
14 pdf02 Doküman üretilme tarihi [[date_h]]:[[date_i]]
15 pdf03 Doküman üretilme tarihi [[date_y]]-[[date_m]]-[[date_d]] saati [[date_h]]:[[date_i]]
16 pdf04 Sayfa [[page_cu]]/[[page_nb]]
17 pdf05 Adobe Reader 9 gerektirir
18 vue01 DOSYA ÜSTÜ
19 vue02 DOSYA ALTI
20 vue03 SAYFA
21 vue04 Görünüm