Pfdf -> Datei erstellen und Zippen

Kalito

Erfahrenes Mitglied
Hallo, ich habe in einer DB die Personendaten stehen aus denen ich für jede Person eine PDF erstellen soll. Alle PDF muss ich dann in eine Zip packen. Jedoch weiß ich nicht so recht, wie ich die Lebensläufe mit fpdf in die zip bekomme ohne die PDFs vorher physisch zu speichern.
Wie mache ich das am blödestens?
Gruß, Kalito
 
Wenn du die ZIP Datei aus gespeicherten PDFs erstellen kannst, dann mach es doch so das du die einzelnen Dateien nach dem Zippen einfach wieder löscht!?
 
Ok, habe eine Lösung gefunden wie es sogar ganz einfach geht:

PHP:
<?php
// ZIP Datei erstellen
$zip = new ZipArchive;
$zip->open('pdf_als_zip.zip', ZipArchive::CREATE);

require('fpdf/fpdf.php');

// PDF Datei 1 erstellen
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Inhalt von Datei 1!');
$pdf_ausgabe = $pdf->Output("datei1.pdf", "S");
// und in ZIP schreiben
$zip->addFromString("datei1.pdf", $pdf_ausgabe);

// Datei 2
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',40);
$pdf->Cell(40,10,'Inhalt von Datei 2!');
$pdf_ausgabe = $pdf->Output("datei2.pdf", "S");
// und in ZIP schreiben
$zip->addFromString("datei2.pdf", $pdf_ausgabe);


// Datei 3
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',10);
$pdf->Cell(40,10,'Inhalt von Datei 3!');
$pdf_ausgabe = $pdf->Output("datei3.pdf", "S");
// und in ZIP schreiben
$zip->addFromString("datei3.pdf", $pdf_ausgabe);

$zip->close();
?>

Im Beispiel werden hintereinander 3 PDF Dateien erstellt und jeweils in der Variable $pdf_ausgabe gespeichert. Dann wird der Inhalt dieser Variable als String direkt in die ZIP-Datei gespeichert.
 
Zurück