Cet exemple sur le site Web de tcpdf montre comment utiliser les formats de page tels que A4, A5, etc., mais comment puis-je configurer tcpdf pour utiliser des formats personnalisés comme 175 mm x 266 mm?
Des solutions appréciées.
EDIT: Je me suis trompé: vous pouvez donner un tableau (array ($ width, $ height)) en paramètre ..
J'ai créé une sous-classe tcpdf dans laquelle j'ai modifié quelques éléments: getPageSizeFromFormat (); Voici le code: http://paste.pocoo.org/show/294958/ .
J'appelle ensuite ma classe personnalisée, ajoute un nouveau format et définit un nouveau format:
$pdf = new CUSTOMPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
//Add a custom size
$width = 175;
$height = 266;
$orientation = ($height>$width) ? 'P' : 'L';
$pdf->addFormat("custom", $width, $height);
$pdf->reFormat("custom", $orientation);
Aucune édition de la classe n'est requise ... tcpdf n'accepte pas de paramètre largeur/longueur, il accepte seulement deux longueurs et détermine laquelle est laquelle à l'aide de la présentation (Portrait ou Paysage)
$pageLayout = array($width, $height); // or array($height, $width)
$pdf = new TCPDF('p', 'pt', $pageLayout, true, 'UTF-8', false);
Sur la nouvelle version de TCPDF, vous pouvez définir la taille de la page de plusieurs manières:
setPageFormat()
à http://www.tcpdf.org .Vérifiez également les exemples par défaut no. 28 et 60 sur http://www.tcpdf.org .
Allez à /config/tcpdf_config.php et autour de la ligne 117, modifiez la ligne:
define ('PDF_PAGE_FORMAT', 'A4');
par
define ('PDF_PAGE_FORMAT', 'LETTER');
Il est important de mettre "LETTER" en majuscule, vous pouvez voir toutes les valeurs possibles dans ce fichier: tcpdf/include/tcpdf_static.php
.
La vérité, maintenant vous pouvez le résoudre comme ça.
//AddPage [P(PORTRAIT),L(LANDSCAPE)],FORMAT(A4-A5-ETC)
$pdf->AddPage('P','A5');
La réponse ci-dessus ne fonctionnera pas pour moi, alors j'ajoute ma solution ici - de http://www.tcpdf.org/examples/example_060.phps , changez urx, à votre intention
// set page format (read source code documentation for further information)
// MediaBox - width = urx - llx 210 (mm), height = ury - lly = 297 (mm) this is A4
$page_format = array(
'MediaBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
//'CropBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297),
//'BleedBox' => array ('llx' => 5, 'lly' => 5, 'urx' => 205, 'ury' => 292),
//'TrimBox' => array ('llx' => 10, 'lly' => 10, 'urx' => 200, 'ury' => 287),
//'ArtBox' => array ('llx' => 15, 'lly' => 15, 'urx' => 195, 'ury' => 282),
'Dur' => 3,
'trans' => array(
'D' => 1.5,
'S' => 'Split',
'Dm' => 'V',
'M' => 'O'
),
'Rotate' => 90,
'PZ' => 1,
);
// Check the example n. 29 for viewer preferences
// add first page ---
$pdf->AddPage('P', $page_format, false, false);
Modifiez le fichier tcpdf.php et ajoutez un nouveau type de page ou modifiez un type existant à la taille de votre page.