PHP - PDF erzeugen: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Es gibt verschiedene Libs um PDF Dokumente dynamisch zu erzeugen. Bekannt sind z.B. fpdf oder mpdf ==fpdf== Mit fpdf kann man auf sehr viele Eigenschaften des p…“)
 
Zeile 23: Zeile 23:
 
Code Ausschnitt:
 
Code Ausschnitt:
 
<pre>
 
<pre>
 +
</pre>
 +
 +
=== PDF Datei übergeben (korrekte Header)===
 +
Quelle: http://christian-asche.com/blog/2006/03/13/pdf-dateien-mit-php-ausgeben/ Zugriff 7/2013
 +
 +
Eigentlich eine einfache Übung, wäre da nicht wieder der Internet Explorer. Ein einfacher Versuch schlägt bei https (SSL) fehlt:
 +
<pre>
 +
$pdfFilename = '';
 +
 +
header('Content-Type: application/pdf');
 +
header('Content-Disposition: inline; filename="'.$pdfFilename.'"');
 +
 +
readfile($pdfFilename);
 +
</pre>
 +
 +
Der IE meldet, daß er die Datei nicht speichern kann. Abhilfe schafft nur folgender header:
 +
 +
<pre>
 +
// Download Bug IE bei SSL
 +
header('Pragma: anytextexeptno-cache', true);
 +
</pre>
 +
Komplettes Beispiel:
 +
<pre>
 +
$pdfFilename = '';
 +
 +
header('HTTP/1.1 200 OK');
 +
header('Status: 200 OK');
 +
 +
// Download Bug IE bei SSL
 +
header('Pragma: anytextexeptno-cache', true);
 +
 +
header('Content-Type: application/pdf');
 +
header('Content-Disposition: inline; filename="'.$pdfFilename.'"');
 +
 +
readfile($pdfFilename);
 +
 
</pre>
 
</pre>

Version vom 12. Juli 2013, 10:52 Uhr

Es gibt verschiedene Libs um PDF Dokumente dynamisch zu erzeugen. Bekannt sind z.B. fpdf oder mpdf

fpdf

Mit fpdf kann man auf sehr viele Eigenschaften des pdfs auf sehr niedriger Ebene zugreifen. Es lassen sich z.B. Milimeter genaue Angaben machen. Eingesetzt z.B. beim Peter und Paul PUP Manager zum erzeugen der Mitgliedskarten.


mpdf

mpdf eignet sich für das schnelle erzeugen von pdfs aus html Dokumenten. Es unterstützt auch CSS.


Links

http://www.fpdf.de (nicht die original Seite aber dafür auf deutsch)


Beispiele

E-Mail Anhang mit mpdf

http://wiki.zone30.info/wikizone/index.php/PHP_-_E-Mail_versenden

Mitgliedskarte mit fpdf in TYPO3 Extension

Code Ausschnitt:


PDF Datei übergeben (korrekte Header)

Quelle: http://christian-asche.com/blog/2006/03/13/pdf-dateien-mit-php-ausgeben/ Zugriff 7/2013

Eigentlich eine einfache Übung, wäre da nicht wieder der Internet Explorer. Ein einfacher Versuch schlägt bei https (SSL) fehlt:

$pdfFilename = '';

header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="'.$pdfFilename.'"');

readfile($pdfFilename);

Der IE meldet, daß er die Datei nicht speichern kann. Abhilfe schafft nur folgender header:

// Download Bug IE bei SSL
header('Pragma: anytextexeptno-cache', true);

Komplettes Beispiel:

$pdfFilename = '';

header('HTTP/1.1 200 OK');
header('Status: 200 OK');

// Download Bug IE bei SSL
header('Pragma: anytextexeptno-cache', true);

header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="'.$pdfFilename.'"');

readfile($pdfFilename);