Pagina 1 din 1

Creare document PDF cu DomPDF

Scris: Mie Mar 11, 2015
de andras
Salut,
Am facut un document pdf c\u Dompdf (fisierul "pdflist0.php"). Problem: merge perfect pe local dar nu merge pe server. Nu da nici un fel de eroare dar ramine in fisierul pdflist0.php (apare in Opera si Chrome o pagina alba). Nu salveaza pe server nici nu trimite la client. Nu afiseaza nici un fel de mesaj. La echo apare corect $html.
In cod am pus: (la final):

Cod: Selectaţi tot

<?php
$html .='</body></html>';   // ultima instructiune care inchide $html

//echo $html;
 $filename = "list0_" . date('Ymd') . ".pdf";
// foloseste clasa dompdf ca sa creeze fisierul PDF, il salveaza, apoi il returneaza la browser
$dompdf = new DOMPDF();
$dompdf->load_html($html);            // incarca sirul HTML
$dompdf->render();                    // transforma HTML in PDF
$pdf = $dompdf->output();             // preia PDF ca sir
//file_put_contents(($savein.$filename), $pdf);           // salveaza fisierul pdf pe server
$dompdf->stream($filename);      // Trimite documentul PDF la client
exit();
?>
Care sa fie cauza? Am folosit Dompdf ultima varianta (2014).
Multumesc.

Creare document PDF cu DomPDF

Scris: Joi Mar 12, 2015
de MarPlo
Salut
Am testat acest cod si functioneaza:

Cod: Selectaţi tot

<?php 
include 'dompdf_config.inc.php';
$html ='<html><head><title>Test DomPdf 2014</title></head><body><h1>Test DomPdf 2014</h1></body></html>';

//echo $html;
$savein = '';    // director pt salvat fisier
$filepdf = 'list0_'. date('Ymd') .'.pdf';

// foloseste clasa dompdf ca sa creeze fisierul PDF, il salveaza, apoi il returneaza la browser
$dompdf = new DOMPDF();
$dompdf->load_html($html);            // incarca sirul HTML
$dompdf->render();                    // transforma HTML in PDF
$pdf = $dompdf->output();             // preia PDF ca sir

file_put_contents($savein . $filepdf, $pdf);  // salveaza fisierul pdf

$dompdf->stream($filepdf);             // trimite documentul PDF la client

// Alternativ, redirect la fisierul pdf salvat pe server
// header('Location: '. $savein . $filepdf);
?>
- La adresa asta e documehtatia de utilizare:
digitaljunkies.ca/dompdf/usage.php

- In fisierul "dompdf_config.inc.php" am pus comment la linia de cod 332 deoarece acceseaza un fisier php pentru alte fonturi, dar care nu exista si returna eroare.

Cod: Selectaţi tot

require_once(DOMPDF_LIB_DIR . "/php-font-lib/classes/Font.php");

Creare document PDF cu DomPDF

Scris: Joi Mar 12, 2015
de andras
Din pacate la mine nu merge pe server, doar pe local. Nu salveaza nici pe server desi am indicat un folder cu drepturi 0777. Codul intreg (fisierul pdflist0proba.php):

Cod: Selectaţi tot

<?php 
include('dompdf/dompdf_config.inc.php');
$html ='<html><head><title>Test DomPdf 2014</title></head><body><h1>Test DomPdf 2014</h1></body></html>';
$savein = 'poze/';    // director pt salvat fisier
$filepdf = 'list0_'. date('Ymd') .'.pdf';
$dompdf = new DOMPDF();
$dompdf->load_html($html);            // incarca sirul HTML
$dompdf->render();                    // transforma HTML in PDF
$pdf = $dompdf->output();             // preia PDF ca sir
file_put_contents($savein . $filepdf, $pdf);  // salveaza fisierul pdf
$dompdf->stream($filepdf);             // trimite documentul PDF la client
?>
Eroarea de la linia 332 am observat-o, eu puneam un fisier Font.php acolo unde l-a cautat. Acum am comentat linia. Nu stiu de de nu merge, vad ca nu foloseste headere.
E posibil sa fie ceva din php.ini de pe server?

Sa incerc mPdf? Si PHPExcel poate genera fisiere pdf da am vrut cu dompdf.

Creare document PDF cu DomPDF

Scris: Joi Mar 12, 2015
de MarPlo
Incearca fara file_put_contents(), doar cu stream() pt. a trimite direct documentul pdf la browser.
Daca nu functioneaza, presupun ca oproblema e ceva de la configurarile serverului, dar nu ma pricep.
Poate te pot lamuri cei de la hosting.
Pe serverul unde e acest site functioneaza.

Eventual poti incerca si cu alta clasa php, nu conteaza, doar sa-ti functioneze.
- Personal nu stiu cum e cu mPdf.

Creare document PDF cu DomPDF

Scris: Vin Mar 13, 2015
de andras
Pana la urma cauza s-a dovedit a fi banala: in PHP era nevoie extensia php-mbstring, care este default pe local in Windows (php_mbstring.dll) dar nu este default pe server in Linux. Se instaleaza php-mbstring pe linux si merge.