Steffen Gebert: Auftrag: Dynamische Grafik und PDF-Druck-Export erzeugen ;-)

Beitrag lesen

Hallo Steffen,

Nun habe ich mal versucht, die PDFlib auszuprobieren, allerdings treibt die mich zur Verzweiflung, weil alle damit erzeugten dateien nur schrott sind (ich hab den code von phpbuilder.com).

Warum schrott? Ich kenne die PDFLib in der Version 4.01 in Zusammenspiel mit PHP 4.0.6 und 4.2.0 und hatte damit bisher keine Probleme. Welcher Code von PHPBuilder.com? (die Seite ist groß ;-)) Wie sehen die ausgegeben Dateien aus? Was ist an ihnen auszusetzen?

Christian

Hallo.

Mittlerweile bin ich so weit, dass ich es wenigstens schaffe, die PDF-datei (erfolgreich) in ein verzeichnis zu schreiben. - das funktioniert schon mal.
laut http://www.zend.com/zend/spotlight/creatingpdfmay1.php sollte es aber auch mit dem dort gezeigten code funktionieren, die pdf-datei direkt auszugeben.

so müsste es doch (laut zend.com) eigentlich auch funktionieren:
<?php

$pdf = pdf_new();
pdf_open_file($pdf);

pdf_set_info($pdf, "author", "Steffen Gebert");
pdf_set_info($pdf, "title", "Test zend.com");
pdf_set_info($pdf, "creator", "Steffen Gebert");
pdf_set_info($pdf, "subject", "Test zend.com");

pdf_begin_page($pdf, 450, 450);

$font = pdf_findfont($pdf, "Helvetica", "host", 0);
pdf_setfont($pdf, $font, 14);
pdf_show_xy($pdf, "Hallo Welt!", 5, 255);

pdf_end_page($pdf);

pdf_close($pdf);

$buffer = pdf_get_buffer($pdf);

header("Content-type: application/pdf");
header("Content-Length: ".strlen($buffer));
header("Content-Disposition: inline; filename=zend.pdf");

echo $buffer;

pdf_delete($pdf);
?>

was würdest du mir raten, wie ich das angehen soll, dass ich sowohl ein pdf als auch eine vorschau brauche.

  • ich habe mir das jetzt so gedacht:
    ich erstelle schon einmal das pdf und mache davon mittels imagemagick eine vorschau. die wird dann ausgegeben (notfalls wird das erst mit niedriger aufgelösten grafiken gemacht).
    das spart mir das ganze jeweils als grafik und pdf umzusetzen, dafür dauert aber das generieren der vorschau länger.

mfg,
steffen