pdf erstellen daten werden verfälscht

macropode

Erfahrenes Mitglied
Hi.
Ich möchte aus einer db daten auslesen und diese in eine pdf dynamisch einfügen. die daten in der db sind in " utf8_unicode_ci" konvertiert.

das pdf script kann damit nur nix anfangen ohne daten funktioniert es problemlos.

Hier der code:
PHP:
<?php
session_start();
include("zugang.php");


$sqla = "SELECT * from daten";
$ergebnisa = mysql_query($sqla);
    while ($zeile = mysql_fetch_assoc($ergebnisa))
    {
    $name = $zeile["name"];
    $strasse = $zeile["strasse"];    
    $ort = $zeile["ort"];    
    $tel = $zeile["tel"];    
    $fax = $zeile["fax"];    
    $bank = $zeile["bank"];    
    $ktnr = $zeile["ktnr"];    
    $blz = $zeile["blz"];    
    $stnr = $zeile["stnr"];    
    $www = $zeile["www"];    
    $email = $zeile["email"];    
    }



$k = 0;
$dat = 0;


$sqlb = "SELECT * from angebot where id = '".$_SESSION['angeb']."'";
 
    $ergebnisb = mysql_query($sqlb);
    while ($zeile = mysql_fetch_assoc($ergebnisb))
    {
    $k = $zeile["kundennr"];
    $dat = $zeile["datum"];    
    }

$nummer = 0;
$name = 0;
$strasse = 0;
$stadt = 0;
$plz = 0;
$ort = 0;


$sqlc = "SELECT * from kunden where id = '".$k."'";
 
    $ergebnisc = mysql_query($sqlc);
    while ($zeile = mysql_fetch_assoc($ergebnisc))
    {
    
    $name = $zeile["name"];
    $strasse = $zeile["strasse"];
    $plz = $zeile["plz"];
    $stadt = $zeile["stadt"];
    $nummer = $zeile["kundennr"];
    }

$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
   die("Error: " . PDF_get_errmsg($p));
}

PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "ichselber");
PDF_set_info($p, "Title", "Hello world (PHP)!");

PDF_begin_page_ext($p, 595, 842, "");

$font = PDF_load_font($p, "Helvetica", "unicode", "");

PDF_setfont($p, $font, 12.0);
PDF_set_text_pos($p, 30, 780);
PDF_show($p, $name);
PDF_continue_text($p, $strasse);
PDF_continue_text($p, $ort);

PDF_set_text_pos($p, 451, 780);
PDF_show($p, $tel);
PDF_continue_text($p, $fax);

pdf_setlinewidth ($p, 1);
PDF_moveto ($p, 30, 750);
pdf_lineto($p, 565, 750);
pdf_stroke($p);




PDF_end_page_ext($p, "");

PDF_end_document($p, "");

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: no; filename=hello.pdf");
print $buf;

PDF_delete($p);
?>

woran könnte es eurer meinung nach liegen das es nicht klappt?

bitte helft mir!
 
habe es jetzt mal mit fpdf probiert.
installation war erfolgreich.

hier der code:

PHP:
<?php
echo 'test';


define('FPDF_INSTALLDIR', './fpdf');

if(!defined('FPDF_FONTPATH')) define('FPDF_FONTPATH', FPDF_INSTALLDIR.'/font/');
include(FPDF_INSTALLDIR.'/fpdf.php');
// Prüfen ob die Klasse existiert
if(class_exists('FPDF')) {
  // Die Klasse existiert, Installation ok
  die("Die Installation war erfolgreich. Die Klasse FPDF existiert.");
} else {
  // Die Klasse existiert nicht
  die("Die Klasse FPDF existiert nicht.
       Prüfen Sie, ob die Datei '".FPDF_INSTALLDIR."/fpdf.php' vorhanden ist."); 
}



require('/fpdf.php');

$pdf= new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hallo Welt!');
$pdf->Output();
?>

das problem ist das mir das script zwar sagt das die installation erfolgreich war, jedoch öffnet sich keine pdf.

seht ihr den fehler?
 
Was soll die Ausgabe mit die() ?
Wenn du solche Ausgaben machst, kann kein PDF angezeigt werden.
 
fpdf hab ich jetzt hinbekommen. es funktioniert. jedoch werden auch da keine umlaute angezeigt bzw verfällscht.

Woran kann das liegen?
 
Zurück