Este dilema se puede solucionar de diferentes formas, sin embargo te compartimos la que para nosotros es la respuesta más completa.
Solución:
No se requiere editar la clase… tcpdf no acepta un parámetro de ancho/largo, solo acepta dos largos y determina cuál es cuál usando 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);
EDITAR: Estaba equivocado: puedes dar un array (array($ancho, $alto)) 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);
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 un array con 2 números: ancho, alto (independientemente de la orientación de la página).
- Alternativamente, puede definir detalles de página avanzados (MediaBox, Cropbox, BleedBox, TrimBox, ArtBox) como se explica en la documentación del
setPageFormat()
método en http://www.tcpdf.org.
Compruebe también los ejemplos predeterminados no. 28 y 60 en http://www.tcpdf.org.
Si conservas alguna desconfianza o forma de acrecentar nuestro artículo eres capaz de escribir una referencia y con mucho placer lo interpretaremos.