2012-01-12 688 views
5

¿Hay alguna forma en que pueda establecer el ancho y alto del PDF generado? quiero personalizar el ancho y alto del PDF. Normalmente sería en un tamaño de un papel bond corto, pero ¿cómo puedo personalizarlo? digamos, por ejemplo, quiero que sea de 200 x 500 píxeles de tamaño?Ancho y alto personalizados en DOMPDF

¡Cualquier idea sería muy apreciada! ¡aclamaciones!

+0

como DOMPDF es muy lento, te aconsejo que probar una alternativa mejor y mucho más rápido como [wkhtmltopdf] (https://code.google.com/p/wkhtmltopdf/) – greut

+0

en el sistema actual que estamos desarrollando, estamos usando DOMPDF, así que tengo que encajar. Gracias por la sugerencia, aunque tenga en cuenta este – unknown

Respuesta

2

DOMPDF maneja el tamaño del papel a través de la configuración.

define ("DOMPDF_DEFAULT_PAPER_SIZE", "letter"); 

Puede Referente a todos los tamaños disponibles allí:

https://github.com/dompdf/dompdf/blob/2eaf8fe0f1c95ab76e7a428a39a54dd240e2b2ec/src/Adapter/CPDF.php#L40

+0

¿Qué sucede si quiero personalizarlo? ¿tamaño? ¿Hay alguna manera? – unknown

+4

Simplemente agréguelo a la lista: 'CPDF_Adapter :: $ PAPER_SIZES ['mysize'] = array (0, 0, ..., ...);' – greut

+0

gracias, intente esto – unknown

6

Usted puede configurar su propio formato, sin tener que cambiar el código DOMPDF, pasando un array cuando se está llamando DOMPDF: : set_paper(). Asegúrese de que contenga la anchura y la altura en puntos, así:

$dompdf->set_paper(array(0, 0, 595, 841), 'portrait');

+0

¿Sabes cuáles son los primeros 2 valores en la matriz? – Sean256

+0

No estoy seguro de por qué lo hicieron de esta manera, pero los 4 valores juntos se usan para calcular el ancho y la altura. Me gusta: '$ width = $ size [2] - $ size [0]' y '$ height = $ size [3] - $ size [1]'. Por lo tanto, es más fácil dejar que los primeros 2 valores sean 0. Esa también es la forma en que lo hicieron con todos los formatos de página predefinidos. – Michiel

+1

Este es un formato común cuando se dibuja un rectángulo: '[x1, y1, x2, y2]'. Como dijo Michiel, debes mantener los primeros dos valores como cero: '0,0 ' –

Cuestiones relacionadas