2010-10-16 270 views

Respuesta

15

EDIT: sólo estaba equivocada: se puede dar una matriz (array ($ anchura, altura $)) en el parámetro ..

he creado una subclase TCPDF donde he modificado algunas cosas: getPageSizeFromFormat(); Aquí está el código: http://paste.pocoo.org/show/294958/.

Entonces llamo a mi clase personalizada, añadir un nuevo formato y establecer un nuevo formato:

$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

Edite tcpdf.php y agregue un nuevo tipo de página o modifique un tipo existente al tamaño de su página.

30

No modificar la clase es requieren ... TCPDF no acepta un parámetro de anchura/longitud, se solo acepta dos longitudes y determina que es el que utiliza el diseño (ya sea vertical u horizontal)

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

Gracias! ¡Me ayudo mucho! – Refilon

7

Onthe versión más reciente TCPDF puede definir el tamaño de página de varias maneras. Todos los formatos de página estándar ya están definidos (más de 300 tipos). Puede simplemente definir un tamaño de página definiendo una matriz con 2 números: ancho, alto (independientemente de la orientación de la página). Como alternativa, puede definir detalles avanzados de la página (MediaBox, Cropbox, BleedBox, TrimBox, ArtBox) como se explica en la documentación del método setPageFormat() en http://www.tcpdf.org Consulte también los ejemplos por defecto n. 28 y 60 en http://www.tcpdf.org

0

La respuesta anterior no funcionará para mí, así que añadir mi solución aquí - de http://www.tcpdf.org/examples/example_060.phps, el cambio urx, Ury para su propósito

// 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

Ir a/config/tcpdf_config. php y alrededor de la línea 117, modifique la línea:

define ('PDF_PAGE_FORMAT', 'A4'); 

por

define ('PDF_PAGE_FORMAT', 'LETTER'); 

Se es importante poner "LETRA" en mayúscula, puede ver todos los valores posibles en este archivo: tcpdf/include/tcpdf_static.php.