PHP 5.4.33 Released

Exemples d'utilisation

La plupart des fonctions est simple d'utilisation. La difficulté réside probablement dans la création de votre premier document PDF. L'exemple suivant devrait vous aider à commencer. Il est développé pour PHP 4 et crée le fichier hello.pdf contenant une seule page. Il crée quelques contenus, charge la police Helvetica-Bold et affiche le texte "Bonjour le monde ! (dit PHP)".

Exemple #1 Exemple issu de la distribution PDFlib pour PHP 4

<?php
$p 
PDF_new();

/*  ouvre un nouveau fichier PDF ; insère un nom de fichier pour créer le PDF sur le disque */
if (PDF_begin_document($p"""") == 0) {
    die(
"Error: " PDF_get_errmsg($p));
}

PDF_set_info($p"Creator""hello.php");
PDF_set_info($p"Author""Rainer Schaaf");
PDF_set_info($p"Title""Bonjour le monde (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"Hello world!");
PDF_continue_text($p"(dit 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=hello.pdf");
print 
$buf;

PDF_delete($p);
?>

L'exmemple suivant provient du paquet PDFlib de PHP 5. Il utilise le nouveau gestionnaire d'exception ainsi que la fonctionnalité d'embarquement d'objets, disponible en PHP 5. Il crée un fichier hello.pdf sur une page. Il crée quelques contenus, charge la police Helvetica-Bold et affiche le texte "Bonjour le monde ! (dit PHP)".

Exemple #2 Exemple issu de la distribution PDFlib pour PHP 5

<?php

try {
    
$p = new PDFlib();

    
/*  ouvre un nouveau fichier PDF ; insère un nom de fichier pour créer le PDF sur le disque */
    
if ($p->begin_document("""") == 0) {
        die(
"Error: " $p->get_errmsg());
    }

    
$p->set_info("Creator""hello.php");
    
$p->set_info("Author""Rainer Schaaf");
    
$p->set_info("Title""Bonjour le monde (PHP)!");

    
$p->begin_page_ext(595842"");

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

    
$p->setfont($font24.0);
    
$p->set_text_pos(50700);
    
$p->show("Hello world!");
    
$p->continue_text("(dit 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=hello.pdf");
    print 
$buf;
}
catch (
PDFlibException $e) {
    die(
"PDFlib exception occurred in hello sample:\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
5
matt at kynx dot org
2 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