Creare document PDF cu DomPDF
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
andras
- Mesaje:430
Creare document PDF cu DomPDF
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.
MarPlo
Mesaje:4343
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");
andras
Mesaje:430
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.
MarPlo
Mesaje:4343
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.
andras
Mesaje:430
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.
Subiecte similare
- Creare meniu in site cu php
Scripturi de pe site
Primul mesaj
Salut
Am incercat sa pun icons pe primul nivel al meniului din tutorialu tau: Creare site de la zero si nu reusesc sa il adaug pe butonele care...
Ultimul mesaj
Multumes pt ajutor
Este ok acum.
Din exeplul dat de tine am mai vazut ceva intersant si anume acel meniu asa zis breadcrumb cu ce ma selectat deja....