powered - tcpdf tamaño de pagina
TCPDF Tamaño de página personalizado (7)
Este ejemplo en el sitio web de tcpdf muestra cómo usar formatos de página como A4, A5, etc., pero ¿cómo configuro tcpdf para que use tamaños personalizados como 175 mm x 266 mm?
Soluciones apreciadas.
Edite tcpdf.php y agregue un nuevo tipo de página o modifique un tipo existente al tamaño de su página.
En la versión más reciente de TCPDF puede definir el tamaño de la página de varias maneras:
- Todos los formatos de página estándar ya están definidos (más de 300 tipos).
- Simplemente puede 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).
- Alternativamente, puede definir los detalles de la página avanzada (MediaBox, Cropbox, BleedBox, TrimBox, ArtBox) como se explica en la documentación del método
setPageFormat()
en http://www.tcpdf.org .
Compruebe también los ejemplos por defecto no. 28 y 60 en http://www.tcpdf.org .
La respuesta anterior no funcionará para mí, así que agrego mi solución aquí: de http://www.tcpdf.org/examples/example_060.phps , change 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);
La verdad, ahora puedes resolverlo así.
//AddPage [P(PORTRAIT),L(LANDSCAPE)],FORMAT(A4-A5-ETC)
$pdf->AddPage(''P'',''A5'');
No se requiere ninguna edición de la clase ... tcpdf no acepta un parámetro de ancho / longitud, solo acepta dos longitudes y determina cuál es cuál usar 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);
Vaya 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'');
Es importante poner "LETRA" en mayúsculas, puede ver todos los valores posibles en este archivo: tcpdf/include/tcpdf_static.php
.
EDIT: Estaba equivocado: puede dar una matriz (matriz ($ ancho, $ altura)) en el parámetro ...
Creé una subclase tcpdf donde modifiqué algunas cosas: getPageSizeFromFormat (); Aquí está el código: http://paste.pocoo.org/show/294958/ .
Luego llamo a mi clase personalizada, agrego un nuevo formato y establezco 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);