Zum Inhalt springen

pdfgenerator2 / readmap() - Problem

Erstellt am 28. August 2009 · 3 Antworten · letzte Antwort am 4. Juli 2012

Tags: Frage

paolosc ·

Guten Morgen,

folgendes Problem. Ich habe "pdfgenerator2" installiert, erhalte jedoch die folgende Fehlermeldung, wenn ich die entsprechende Seitem-ID aufrufe:

Fatal error: Cannot redeclare readmap() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:8-) in /www/htdocs/v117385/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php on line 32

Dementsprechend will die Extension die Funktion "readmap" erzeugen, allerdings läuft der Prozess schon Serverseitung (all-inkl.de) von Haus aus. Damit muss ich also leben. Könnt Ihr mir einen Tip geben, was ich im Modul ändern muss, um das Problem zu umgehen? Ich kenne mich mit php & Co dummerweise nicht allzu gut aus. Ich denke mal, dass ich der Extension irgendwie beibringen muss, die serverseitige Funktion zu nutzen.

Lieben Dank!

gmf ·

Hallo,

grundsätzlich kannst du das auch ohne große PHP-Kenntnisse leicht abfangen.
Theoretisch müsste es reichen, wenn du in der makefont.php mit der Funktion function_exists prüfst ob die Funktion bereits deklariert wurde.

In etwa so:

if (!function_exists('ReadMap')) {
  function ReadMap($enc) {
   ...
  }
}
GELBGRUEN ·

Das verschiebt nur den Fehler:

Fatal error: Cannot redeclare ReadAFM() (previously declared in /usr/share/php/fpdf/font/makefont/makefont.php:34) in /www/htdocs/[...]/typo3conf/ext/pdf_generator2/html2ps/fpdf/font/makefont/makefont.php on line 133

Hat Jemand inzwischen eine Lösung für dieses Problem gefunden, bis auf das Löschen der anderen makefont.php?

faen ·

Hallo, ich war ebenfalls mit dem Problem konfrontiert und ich möchte - auch wenn dieser thread schon etwas älter ist - meine Lösung hier mitteilen.
gmfs Ansatz hat mich hierzu gebracht:

Datei: pdf_generator2/html2ps/output.fpdf.class.php

//require_once('fpdf/fpdf.php');
//require_once('fpdf/font/makefont/makefont.php');
if(!class_exists('FPDF')){
  require_once(t3lib_extMgm::extPath('pdf_generator2') . 'html2ps/fpdf/fpdf.php');
  require_once(t3lib_extMgm::extPath('pdf_generator2') . 'html2ps/fpdf/font/makefont/makefont.php');
}

ich denke, so sollten alle möglichen Konflikte, die durch eine vorab geladene FPDF Bibliothek entstehen, erschlagen sein.