Wer eine PHP-Andwendung betreibt und dazu eine gute Lib zur Erstellung von PDF-Dokumenten sucht, dem kann ich MPdf sehr empfehlen. Diese Bibliothek macht aus HTML PDF’s; und das nicht nur billig, Es sind auch zahlreich Styles verfügbar zur Verfeinerung des grafischen Layouts.
Die Bibliothek kann entweder via Composer oder manuell eingebunden werden. Ich persönlich habe es manuell mittels eigenem Autoloader gemacht, und es funktioniert sehr gut. Mit nur 2 Zeilen Code kann ich ein PDF erzeugen:
$pdf = '<html><body><h1>Test X-Office PDF</h1><img src="file://' . CO_COREPATH . '/images/crossoffice-logo.png" id="invoice-logo"></body></html>';
$result = $CO->pdf->createPdf($pdf, 'test.pdf');
Es stehen zudem diverse Ausgabe-Möglichkeiten zur Verfügung: Ob als Download, String oder als Datei speichern.
Zur Bibliothek geht es hier: https://mpdf.github.io
Die Einbindung von MPdf erfolgt in etwa so z.B.:
$mpdf = new Mpdf(['tempDir' => CO_SYSPATH . '/tmp']);
// mPDF configuration
$mpdf->useAdobeCJK = true;
$mpdf->autoScriptToLang = true;
$mpdf->autoVietnamese = true;
$mpdf->autoArabic = true;
$mpdf->autoLangToFont = true;
// Enable image error logging
$mpdf->showImageErrors = true;
// Set a password if set for the voucher
if (!empty($password)) {
$mpdf->SetProtection(array('copy', 'print'), $password, $password);
}
$mpdf->WriteHTML((string) $html);
// If $stream is true (default) the PDF will be displayed directly in the browser
// otherwise will be returned as a download
if ($stream) {
return $mpdf->Output($filename . '.pdf', 'I');
}
else {
$result = $mpdf->Output($this->pdfPath . '/' . $filename, 'S');
return ['content' => $result,
'filepath' => $this->pdfPath . '/' . $filename];
}
0 Kommentare