2015-04-24 13 views
9

Così sto usando dompdf per creare pdf di html. Che funziona davvero bene, l'unico problema è quando l'html è troppo grande e dompdf lo crea su due pagine. C'è un modo forse in dompdf o in html per ridimensionarlo su una sola pagina?dompdf - ridimensiona il pdf per adattarlo alla pagina

L'aiuto sarebbe molto apprezzato! Grazie!

Ecco la mia configurazione e il mio codice per creare file PDF.

define("DOMPDF_ENABLE_HTML5PARSER", true); 
define("DOMPDF_ENABLE_FONTSUBSETTING", true); 
define("DOMPDF_UNICODE_ENABLED", true); 
define("DOMPDF_DPI", 120); 
define("DOMPDF_ENABLE_REMOTE", true); 

require_once 'dompdf/dompdf_config.inc.php'; 

$dompdf = new \DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->set_paper("a4", "portrait"); 
$dompdf->render(); 
$dompdf->stream("page.pdf", array("Attachment" => 0)); 
+0

html troppo grande? hai uno screenshot per mostrarci cosa succede nella condizione attuale. –

+0

l'html è composto da un grande jpg all'inizio e da un testo variabile sotto il jpg. il testo può essere lungo a volte, quindi sarebbe bello se dompdf potesse ridimensionare tutto in un bel pdf. puoi quasi farlo usando l'impostazione dpi. quindi adesso ho un'anteprima con il pdf e una casella di selezione in cui puoi scegliere il dpi fino a quando non entra in una pagina. sarebbe bello se dom pdf lo farebbe automaticamente con un'impostazione –

+0

Se si può vivere con un multiplo di una dimensione impostata, ho precedentemente delineato un metodo qui: http://stackoverflow.com/q/26691304/264628. – BrianS

risposta

1

dispiace, ma c'è nessuna impostazione nel dompdf per farlo.
per raggiungere i tuoi bisogni, devi giocare con CSS file personalizzato la dimensione immagini o la dimensione dei caratteri del testo

0

dompdf ha alcuni problemi con i CSS e tabelle. Le migliori pratiche sono di evitare celle o riquadri di file e di non utilizzare file css esterni. Inoltre, è supportata solo una serie limitata di regole CSS. Controlla l'intero CSSCompatibility list.

Per risolvere il problema, hai provato a impostare lo stile in linea dello img su style="max-width:100%; max-height:100%;"?

Ecco un esempio completo di scalare un'immagine di grandi dimensioni (4,256px × 2,832px) all'interno di una pagina:

<?php 
$html = <<< LOL 
<html> 
<head> 
</head 
<body> 
<div width="100%"><img style="max-width:100%; max-height:100%;" src="http://www.norrbottenbigband.com/upload/images/norrbotten-big-band_hq.jpg"> </div> 

</body> 
</html> 
LOL; 

define("DOMPDF_ENABLE_HTML5PARSER", true); 
define("DOMPDF_ENABLE_FONTSUBSETTING", true); 
define("DOMPDF_UNICODE_ENABLED", true); 
define("DOMPDF_DPI", 120); 
define("DOMPDF_ENABLE_REMOTE", true); 
//define("DOMPDF_ENABLE_JAVASCRIPT", true); 
//define("DOMPDF_ENABLE_CSS_FLOAT", true); 

require_once 'dompdf_config.inc.php'; 

$dompdf = new \DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->set_paper("a4", "portrait"); 
$dompdf->render(); 
$dompdf->stream("page.pdf", array("Attachment" => 0)); 

Se nessuna delle opere di cui sopra, prova a mettere il pdf uscita all'interno di un div a Impostare la div a una dimensione specifica.

Problemi correlati