Ich hatte immer das Problem, wenn ich mit FPDF gearbeitet habe, das ich keine vorhandenen PDFs importieren konnte.
Diese wollte ich als Template nutzen, was nur FPDF von Haus aus nicht kann.

Ich habe die Erweiterung FPDI gefunden, womit es nun möglich ist, vorhandene PDFs zu öffnen.

Alle benötigten Sachen findet ihr hier:
Downloadseite von FPDF und Dokumentation
Downloadseite von FPDI / FPDF_TPL und Dokumentation

Alles herunterladen und entpacken. Bei FPDI / FPDF_TPL beide Sachen herunterladen. Die Datei fpdf_tpl.php aus dem FPDF_TPL Archiv in den Ordner von FPDI Kopieren. Ich habe die Ordner von FPDF und FPDI umbenannt, das sie nur noch fpdf und fpdi heißen

So un nun ein kleines Beispiel:

  1. <?php
  2. require_once(‘fpdf/fpdf.php’);
  3. require_once(‘fpdi/fpdi.php’);
  4.  
  5. $pdf = new FPDI();
  6.  
  7. $pdf->setSourceFile(‘template.pdf’);
  8. $tplidx = $pdf->importPage(1);
  9.  
  10. $pdf->addPage();
  11. $pdf->useTemplate($tplidx);
  12.  
  13. $pdf->SetFont(‘Arial’,‘B’,16);
  14. $pdf->Cell(0, 10, ‘Ich bin Text’);
  15.  
  16. $pdf->Output(‘newpdf.pdf’, ‘D’);
  17. ?>

 

Für ein neues Projekt habe ich das gebraucht. PHP bringt passende Funktionen für DBase schon mit, aber ich habe eine Klasse gefunden mit der es einfacher geht.
Die Klasse zum auslesen von DBase Datenbanken steht unter der GPL. Die Klasse kannst du hier downloaden: dbf_class.php

So und nun der Code:
Ab PHP Version 5 gibt es erst die CSV Funktionen.

  1. <?php
  2. include("dbf_class.php");
  3.  
  4. $dbaseDB = ‘DB.dbf’;
  5. $dbf = new dbf_class($dbaseDB);
  6.  
  7. $csvFile = ‘file.csv’;
  8. $csv = fopen($csvFile,"w");
  9.  
  10. $num_rec=$dbf->dbf_num_rec;
  11. fputcsv($csv, array_keys($dbf->getRowAssoc(0)));
  12.  
  13. for($i=0; $i<$num_rec; $i++) {
  14.     fputcsv($csv, $dbf->getRow($i));
  15. }
  16.  
  17. fclose($csv);?>
  18. ?>

Für PHP Version 4, wo es die fputcsv() funktion noch nicht gibt.

  1. <?php
  2. include("dbf_class.php");
  3.  
  4. $dbaseDB = ‘DB.dbf’;
  5. $dbf = new dbf_class($dbaseDB);
  6.  
  7. $csvFile = ‘file.csv’;
  8. $csv_trenner = ‘;’;
  9. $csv = fopen($csvFile,"w");
  10.  
  11. $num_rec=$dbf->dbf_num_rec;
  12. fwrite($csv, implode($csv_trenner,array_keys($dbf->getRowAssoc(0)))."\n");
  13.  
  14. for($i=0; $i<$num_rec; $i++) {
  15.     fwrite($csv, implode($csv_trenner,$dbf->getRow($i))."\n");
  16. }
  17.  
  18. fclose($csv);?>
  19. ?>

Hier eine kleine Übersicht über die nützlichsten vordefinierten Konstanten in PHP.

Konstante Funktion
__FILE__ Name des laufenden Scripts
__LINE__ Aktuelle Zeilennummer
__FUNCTION__ Name der aktuellen Funktion
__CLASS__ Klassenname des aktuell verwendeten Objekts
__METHOD__ Aktueller Name der Klassenfunktion
PHP_VERSION Versionsnummer des PHP-Interpreter
PHP_OS Name des Betriebssystems
Mathematische Konstanten
Konstante Wert Bedeutung
M_PI 3.141592653589… pi
M_PI_2 1.570796326794… pi/2
M_PI_4 0.785398163397… pi/4
M_1_PI 0.318309886183… 1/pi
M_SQRT2 1.414213562373… sqrt(2)