2010-10-16 4 views
16

This example sur le site Web de tcpdf montre comment utiliser les formats de page comme A4, A5 etc., mais comment puis-je configurer tcpdf pour utiliser des formats personnalisés comme 175 mm x 266 mm?TCPDF Taille de page personnalisée

Solutions appréciées.

Répondre

15

EDIT: J'étais mal: vous pouvez donner un tableau (tableau (largeur de $, hauteur de $)) dans le paramètre ..

Je créé une sous-classe de tcpdf où j'ai modifié quelques petites choses: getPageSizeFromFormat() Voici le code: http://paste.pocoo.org/show/294958/.

Puis-je appeler mon classe personnalisée, ajouter un nouveau format et définir 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); 
0

Modifiez tcpdf.php et ajoutez un nouveau type de page ou modifiez un type existant à la taille de votre page.

30

Aucune modification de la classe est besoin ... tcpdf n'accepte pas un paramètre largeur/longueur, il accepte seulement deux longueurs et détermine ce qui est qui en utilisant la mise en page (Portrait ou Paysage)

$pageLayout = array($width, $height); // or array($height, $width) 
$pdf = new TCPDF('p', 'pt', $pageLayout, true, 'UTF-8', false); 
+0

Merci! M'a beaucoup aidé! – Refilon

7

Onthe version plus récente TCPDF vous pouvez définir la taille de la page de plusieurs façons. Tous les formats de page standard sont déjà définis (plus de 300 types). Vous pouvez simplement définir une taille de page en définissant un tableau avec 2 nombres: largeur, hauteur (quelle que soit l'orientation de la page). Vous pouvez également définir des détails de page avancés (MediaBox, Cropbox, BleedBox, TrimBox, ArtBox) comme expliqué dans la documentation de la méthode setPageFormat() au http://www.tcpdf.org Vérifiez également les exemples par défaut n. 28 et 60 à http://www.tcpdf.org

0

La réponse ci-dessus ne fonctionnera pas pour moi, donc j'ajouter ici ma solution - de http://www.tcpdf.org/examples/example_060.phps, changement urx, Ury pour votre but

// 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); 
5

Aller à/config/tcpdf_config. php et autour de la ligne 117, de modifier la ligne:

define ('PDF_PAGE_FORMAT', 'A4'); 

par

define ('PDF_PAGE_FORMAT', 'LETTER'); 

Il Il est important de mettre "LETTRE" en majuscule, vous pouvez voir toutes les valeurs possibles dans ce fichier: tcpdf/include/tcpdf_static.php.

Questions connexes