PDF erzeugen

Von: , Frage gestellt am Do, 2. Sep 2010

Hallo, ich will quasi ohne Textprogramm Briefe erzeugen.
funktioniert auch, wenn ich als Parameter text=Filename angebe.
Nur muss dann Filename auf dem Server liegen.
Die Variante mit dem Einkopieren klappt aber nicht, es wird nur das erste, manchmaal auch 2 Zeichen ausgegeben. Hier das von allem Ballast befreite Programm:

<?php
//2.9.2010>
require('fpdf.php');

function Eingabe(){
 echo '<form action="" method="post">';
 echo '<textarea name="lines" rows=10 cols=40>Text einfügen</textarea>';
 echo '<input type="submit" value="PDF erzeugen">';
 echo '</form>';
}
if (!isset($lines))
 if (!isset($text)) Eingabe();
 else    $lines=file($text);
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
 for ($a=0; $a<count($lines); $a++) 
// for ($a=0; $a<2; $a++) 
         $pdf->Write(5,$lines[$a]);
$pdf->Output();
?>
Möglicherweise ist das kein PHP-Problem.
Hoffe aber trotzdem hier auf den den entscheidenden Fehlerhinweis.
Guten Abend
Joachim

2 Antworten zu dieser Frage

  1. Antwort von nach 2 Stunden 1 hilfreich
    Re: PDF erzeugen

    Hallo, ich will quasi ohne Textprogramm Briefe erzeugen.
    funktioniert auch, wenn ich als Parameter text=Filename
    angebe.
    Nur muss dann Filename auf dem Server liegen.
    Die Variante mit dem Einkopieren klappt aber nicht, es wird
    nur das erste, manchmaal auch 2 Zeichen ausgegeben. Hier das
    von allem Ballast befreite Programm:
    <?php
    //2.9.2010>
    require('fpdf.php');

    function Eingabe(){
    echo '<form action="" method="post">';
    echo '<textarea name="lines" rows=10 cols=40>Text
    einfügen</textarea>';
    echo '<input type="submit" value="PDF erzeugen">';
    echo '</form>';
    }
    ah eine Form erzeugen :-) if (!isset($lines))
    also irgentwo gibt es ein


    $lines = preg_split("/\r\n|\r/", $_POST['lines']);


    jedenfals wenn du unten mit schleifen arbeitest. if (!isset($text)) Eingabe();
    else $lines=file($text);
    $pdf=new FPDF(); :$pdf->AddPage(); :$pdf->SetFont('Times','',12);
    for ($a=0; $a<count($lines); $a++)
    es geht auch das alles auf \n replaced wird, dann bricht PDF das selber um, jedenfals sagt das fpdf so.

    $lines = preg_replace("/\r\n|\r/","\n",$_POST{'lines']);


    und dann ohne schleife ausgeben , wie gesagt, im fpdf steht, das /n umgebrochen werden, leider produziert jeder browser mal gerne andere endzeichen :-) Hätt ich das damals bloss gelesen, manuel umbrechen ist der tot :-) if (!isset($lines))
    if (!isset($text)) Eingabe();
    else $lines=file($text);
    $pdf=new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    for ($a=0; $a<count($lines); $a++)
    // for ($a=0; $a<2; $a++)
    $pdf->Write(5,$lines[$a]);
    $pdf->Output();
    ?>Möglicherweise ist das kein PHP-Problem.
    Hoffe aber trotzdem hier auf den den entscheidenden
    Fehlerhinweis.
    Guten Abend
    Joachim

    • Antwort von nach 21 Stunden 0 hilfreich
      Re^2: PDF erzeugen

      Danke, ich hab zwar noch nicht alle deine Hinweise verstanden,
      Falsch ist also dass ich $lines einmal als Array und einmal als String benutze.
      Schönes Wochenende

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!