TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

FPDF in Extension verwenden


Autor Nachricht
Verfasst am: 02. 04. 2012 [18:43]
Philipp88
Themenersteller
Dabei seit: 09.02.2012
Beiträge: 121
hi,

Ich möchte die FPDF Extension verwenden um eine PDF zu genieren.

Mein Php- Code:
PHP
require_once(t3lib_extMgm::extPath('fpdf').'class.tx_fpdf.php');
 
  $pdf = t3lib_div::makeInstance('PDF');
 
  $pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hallo Welt!');
$pdf->Output();


Leider kommt auf meiner Seite:
HTML
%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x?3R??2?35W(?r Q?w3T04?30PISp  ?Z*?[????(hx$???+???(j*?d???? endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 5 0 R >> /XObject << >> >> endobj 6 0 obj << /Producer (FPDF 1.6) /CreationDate (D:20120402180226) >> endobj 7 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 8 0000000000 65535 f 0000000227 00000 n 0000000415 00000 n 0000000009 00000 n 0000000087 00000 n 0000000314 00000 n 0000000519 00000 n 0000000594 00000 n trailer << /Size 8 /Root 7 0 R /Info 6 0 R >> startxref 697 %%EOF


innerhalb des Header- Bereiches statt sich Adobe Reader mit der PDF zu öffnenicon_frown.gifWas ist denn da falsch?

Wie kann ich dann die erzeugte PDF in einer Typo3 Htmlmail als Anhang hinzufügen

Meine aktueller Mail- Code:
PHP
$this->htmlMail = t3lib_div::makeInstance('t3lib_htmlmail');
      $this->htmlMail->start();
      $this->htmlMail->recipient = $mail;
      $this->htmlMail->subject = "Neue Buchung";
      $this->htmlMail->from_email = $email_a;
      $this->htmlMail->from_name =  "$vorname_a  $name_a";
      $this->htmlMail->returnPath = $this->conf['FromEmail'];
      $this->htmlMail->setHTML($this->htmlMail->encodeMsg($html_start.$einleitung.$message.$html_end));
      $this->htmlMail->send($this->conf['infomail']);


Hab schon mit
PHP
addAttachment($attachment)

probiert leider gibt er mir die Anlage (in diesen Test war das eine einfache HTML- Datei) ohne Anhang in der Mail aus und mein Text die in &message gespeichert ist als .txt Anhang. Das soll doch anders herum seinicon_rolleyes.gif

Hoffe auf Hilfe
Profil
Verfasst am: 04. 04. 2012 [12:33]
toifel
Dabei seit: 14.07.2010
Beiträge: 99
Hallo,

wie ist denn $attachment definiert?
Bei mir hat es einwandfrei geklappt, indem ich das PDF zuerst über Output(NAME, 'F') irgendwo auf dem server abgelegt habe, und dann die Datei als Attachment angehängt.

Warum der Header beim Output an den Browser zerschossen wird kann ich leider auch nicht sagen... schaut aber so aus, als würde Typo3 da vorher schon was schicken.
ProfilSkype
Verfasst am: 04. 04. 2012 [15:26]
Philipp88
Themenersteller
Dabei seit: 09.02.2012
Beiträge: 121
Hi,

vielen Dank für die Antwort. Im $attachmet ist zurzeit nur eine ganz normale HTML drin, da ich mit der genererung der PDF noch ein anderes habbanghead.gif Das mit den Header konnt ich erstmal löse, indem ich die() nach den Output geschrieben hab (ist zwar doof weil danach noch Code ausgeführt werden soll...)

Das Problem ist jetzt das ich in Meiner vollständigen Extension immer der Fehler auftritt "FPDF error: Some data has already been output, can't send PDF file"icon_frown.gif Davor wird aber per Php nix ausgegeben. Hab dieses $pdf Teil auch mal direkt nach function main() geschrieben ohne erfolgicon_frown.gif Kannst du oder jemand anderes mir helfen?
Profil
Verfasst am: 04. 04. 2012 [17:58]
toifel
Dabei seit: 14.07.2010
Beiträge: 99
Da bin ich leider raus, da ich ExtBase eingesetzt habe und somit auch keine "main" Funktion aufgerufen wird.
Ich würde aber tippen, dass bereits vor dem Aufruf der Extension eine Ausgabe von Typo3 generiert wird... evtl. irgendwelche Header oder sowas?
ProfilSkype
Verfasst am: 04. 04. 2012 [19:05]
Philipp88
Themenersteller
Dabei seit: 09.02.2012
Beiträge: 121
Aber das komische ist eben, dass bei einer anderen Extension die ich mal zum Testen erstellt habe das phne Probleme funktioniertbanghead.gifMuss ich doch mal die Extension mal neu aufbauen und nach und nach den code einfügenicon_frown.gif Oder hast du noch ne andere Idee?
Profil