Einfache Anwendungsbeispiele

Die meisten Funktionen sind einfach zu verwenden. Die schwierigste Aufgabe ist vielleicht, Ihr erstes PDF-Dokument zu erstellen. Das folgende Beispiel sollte Ihnen den Einstieg erleichtern. Es ist für PHP 4 entwickelt und erstellt die Datei hallo.pdf mit einer Seite. Das Beispiel definiert den Inhalt einiger Dokumentinformationsfelder, lädt die Schriftart Helvetica-Bold und gibt den Text "Hallo Welt! (sagt PHP)" aus.

Beispiel #1 "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 4

<?php
$p 
PDF_new();

/* öffnet eine neue PDF-Datei; fügen Sie einen Dateinamen ein,
   um das PDF auf der Platte zu speichern */
if (PDF_begin_document($p"""") == 0) {
    die(
"Error: " PDF_get_errmsg($p));
}

PDF_set_info($p"Creator""hallo.php");
PDF_set_info($p"Author""Rainer Schaaf");
PDF_set_info($p"Title""Hallo Welt (PHP)!");

PDF_begin_page_ext($p595842"");

$font PDF_load_font($p"Helvetica-Bold""winansi""");

PDF_setfont($p$font24.0);
PDF_set_text_pos($p50700);
PDF_show($p"Hallo Welt!");
PDF_continue_text($p"(sagt PHP)");
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: inline; filename=hallo.pdf");
print 
$buf;

PDF_delete($p);
?>

Das folgende Code-Beispiel ist in der PDFlib-Distribution für PHP 5 enthalten. Es verwendet die in PHP 5 erstmalig verfügbare Funktionalität zur Ausnahmebehandlung und Objektkapselung. Das Beispiel erstellt eine einseitige Datei namens hallo.pdf. Es definiert den Inhalt einiger Dokumentinformationsfelder, lädt die Schrift Helvetica-Bold und gibt den Text "Hallo Welt! (sagt PHP)" aus.

Beispiel #2 "Hallo Welt"-Beispiel der PDFlib-Distribution für PHP 5

<?php

try {
    
$p = new PDFlib();

    
/* öffnet eine neue PDF-Datei; fügen Sie einen Dateinamen ein,
       um das PDF auf der Platte zu speichern */
    
if ($p->begin_document("""") == 0) {
        die(
"Error: " $p->get_errmsg());
    }

    
$p->set_info("Creator""hallo.php");
    
$p->set_info("Author""Rainer Schaaf");
    
$p->set_info("Title""Hallo Welt (PHP)!");

    
$p->begin_page_ext(595842"");

    
$font $p->load_font("Helvetica-Bold""winansi""");

    
$p->setfont($font24.0);
    
$p->set_text_pos(50700);
    
$p->show("Hallo Welt!");
    
$p->continue_text("(sagt PHP)");
    
$p->end_page_ext("");

    
$p->end_document("");

    
$buf $p->get_buffer();
    
$len strlen($buf);

    
header("Content-type: application/pdf");
    
header("Content-Length: $len");
    
header("Content-Disposition: inline; filename=hallo.pdf");
    print 
$buf;
}
catch (
PDFlibException $e) {
    die(
"Eine PDFlib-Exception ist aufgetreten im hallo-Schnipsel:\n" .
    
"[" $e->get_errnum() . "] " $e->get_apiname() . ": " .
    
$e->get_errmsg() . "\n");
}
catch (
Exception $e) {
    die(
$e);
}
$p 0;
?>

add a note add a note

User Contributed Notes 1 note

up
1
matt at kynx dot org
12 years ago
Be careful with your Content-Length if you're using multi-byte function overloading (http://www.php.net/manual/en/mbstring.overload.php). You will want to do:

<?php
$len
= mb_strlen($buf, 'ASCII');
?>

Otherwise your PDF will be truncated and unreadable. Just cost me a sunny afternoon :-/
To Top