Rapide Advanced Adulte
   cpdf   
Resultatscpdf   |   Contact

     Manuel PHP     

 

Table :

.Fonctions .NET
.Fonctions Apache
.Alternative PHP Cache
.Débogueur avancé pour PHP
.Tableaux
.Aspell (Obsolète)
.Nombres de grande taille BCMath
.Compilateur bytecode pour PHP
.Compression Bzip2
.Calendrier
.Paiement CCVS (Obsolète)
.Classes et Objets
.Fonctions Classkit
.Fonctions ClibPDF
.COM et .Net (Windows)
.Crack
.Caractères
.CURL
.Paiement Cybercash
.Fonctions Crédit Mutuel CyberMUT
.Cyrus IMAP
.Dates et heures
.Fonctions DB++
.DBA
.dBase
.DBM (Obsolète)
.Fonctions dbx
.Direct IO
.Accès aux dossiers
.Fonctions DOM
.Fonctions DOM XML
.Fonctions enchant
.Gestion des erreurs
.EXIF
.Fonctions Expect
.Fonctions de monitorage d'altération de fichiers
.Forms Data Format
.Fonctions Fileinfo
.Fonctions filePro
.Système de fichiers
.Fonctions Filter
.Fonctions Firebird/InterBase
.Fonctions Firebird/Interbase (PDO FIREBIRD)
.Fonctions FriBiDi
.FrontBase
.Fonctions FTP
.Fonctions
.Fonctions GeoIP
.Gettext (GNU)
.Fonctions GMP
.gnupg Fonctions
.Net Gopher
.Fonctions hash
.HTTP
.Hyperwave
.Hyperwave API
.Fonctions IBM (PDO IBM)
.Fonctions IBM DB2, Cloudscape et Apache Derby
.ICAP
.Iconv
.Fonctions ID3
.Fonctions d'administration d'IIS
.Images
.Image magick Functions
.IMAP
.Informix
.Fonctions Informix (PDO INFORMIX)
.Ingres II
.IRC
.Intégration de Java avec PHP
.Fonctions JSON
.KADM5
.LDAP
.libxml
.Lotus Notes
.Fonctions LZF
.Mail
.Traitement d'email
.Mathématiques
.MaxDB PHP Extension
.MCAL
.chiffrement mcrypt
.Fonctions de paiement MCVE (Monetra)
.Fonctions Memcache
.Hash
.Fonctions Mimetype
.Ming pour Flash
.Fonctions diverses
.mnoGoSearch
.Microsoft SQL Server
.Microsoft SQL Server et Fonctions Sybase (PDO DBLIB)
.Sessions Mohawk
.mSQL
.Chaînes de caractères multi-octets
.Fonctions muscat
.MySQL
.Fonctions MySQL (PDO MYSQL)
.Extension MySQL améliorée
.Fonctions de contrôle d'écran de terminal
.Réseau
.Fonctions Newt
.Netscape Server API
.agrégation d'objets/Composition de fonctions
.Overload
.Fonctions Oracle
.Fonctions ODBC (unifiés)
.Fonctions ODBC et DB2 (PDO ODBC)
.oggvorbis
.Gestion Audio OpenAL
.OpenSSL
.Oracle (Obsolète)
.Fonctions Oracle (PDO OCI)
.Bufferisation de sortie
.Ovrimos SQL
.Accès aux fichiers Paradox
.Fonctions Parsekit
.Contrôle des processus
.Expressions rationnelles compatibles Perl
.Fonctions PDF
.Fonctions PDO
.Phar archive stream and classes
.Options PHP et informations
.Fonctions POSIX
.Expressions rationnelles
.PostgreSQL
.Fonctions PostgreSQL (PDO PGSQL)
.Impression
.Exécution de programmes externes
.Création de document PostScript
.Pspell
.qtdom
.Radius
.Rar
.Readline (GNU)
.Recode (GNU)
.Fonctions Lecture d'En-tête RPM
.Fonctions runkit
.SAM - Messagerie asynchrone
.Extension client Satellite CORBA (Obsolète)
.SCA Functions
.Fonctions SDO
.Fonctions de Service d'Accès de Données SDO XML
.Fonctions SDO Relationnel Service d'Accès de Données
.Sémaphores et gestion de la mémoire partagée
.SESAM
.Sauvegarde d'Identifiant de session PostgreSQL
.Sessions
.Mémoire partagée
.Fonctions SimpleXML
.Fonctions SNMP
.Fonctions SOAP
.Sockets
.Fonctions Standard PHP Library (SPL)
.Fonctions SQLite
.Fonctions SQLite (PDO SQLITE)
.Shell2 sécurisé
.Fonctions statistics
.Flux
.Chaînes de caractères (Strings)
.Shockwave Flash
.Sybase
.Fonctions TCP Wrappers
.Tidy
.Analyseur de code PHP
.Unicode Functions
.URL
.Fonctions de gestion des variables
.Paiement par Verisign
.vpopmail
.API windows
.WDDX
.Fonctions win32ps
.Fonctions win32service
.Fonctions xattr
.Fonctions xdiff
.Analyseur syntaxique XML
.XML-RPC
.XMLReader functions
.Fonctions XMLWriter
.XSL
.XSLT
.YAZ
.NIS
.Fonctions ZIP
.Compression Zlib
 
   

  cpdf  


XIV. Fonctions ClibPDF

Introduction

L'extension ClibPDF vous permet de créer des documents PDF avec PHP. Les fonctionnalités et API de ClibPDF sont très similaires à PDFlib. Cette documentation devrait être lue avec le manuel ClibPDF sous la main, car il est beaucoup plus détaillé.

Beaucoup de fonctions natives de ClibPDF et du module PHP, de même que celles de PDFlib ont le même nom. Toutes les fonctions, hormis cpdf_open() utilisent un pointeur sur un document comme premier paramètre.

Actuellement, ce pointeur n'est pas utilisé en interne, car ClibPDF ne supporte pas la création de plusieurs documents PDF simultanément. En fait, il ne vaut mieux pas l'envisager, car les résultats sont aléatoires. Je ne veux même pas imaginer les problèmes qui pourraient se poser avec les environnements multi-tâches. Selon l'auteur de ClibPDF, cette situation va changer dans les prochaines versions (lorsque cette documentation a été écrite, c'était la version 1.10). Si vous avez besoin de cette fonctionnalité, utilisez pdflib.

Une caractéristique pratique de ClibPDF (et aussi de PDFlib) est celle de créer le document PDF en mémoire, sans fichiers temporaires. ClibPDF permet aussi de passer les coordonnées avec une unité prédéfinie (ce qui peut être simulé avec pdf_translate() de la bibliothèque PDFlib).

Un autre atout de ClibPDF est que chaque page peut être modifiée à tout moment même si une nouvelle page a été ouverte. La fonction cpdf_set_current_page() vous permet de quitter temporairement une page et d'en modifier une autre.

La plupart des fonctions sont très simples d'emploi. Le plus difficile est probablement de créer un document PDF simple. L'exemple suivant devrait vous aider à démarrer. La page contient du texte qui utilise la police "Times-Roman" en taille 30, outlined. Le texte est souligné.

Note : Cette extension a été déplacée dans le module PECL et ne sera plus intégrée dans PHP à partir de PHP 5.1.0.

Note : Si vous êtes intéressés par des alternatives gratuites pour générer des PDF, sans passer par des bibliothèques PDF, voyez cette entrée de la FAQ.

Pré-requis

Pour utiliser les fonctions ClibPDF vous devez installer la libriaire ClibPDF. Elle est disponible au téléchargement sur le site de FastIO, mais elle impose l'achat d'une licence pour utilisation commerciale. PHP requiert que vous utilisiez ClibPDF >= 2.

Installation

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec l'option --with-cpdflib[=DIR]. DIR est le dossier d'installation de CPDFLib et, par défaut, il vaut /usr. De plus, vous pouvez spécifier les bibliothèques TIFF et JPEG que vous utilisez. Pour cela, ajoutez les options de configuration --with-jpeg-dir[=DIR] et --with-tiff-dir[=DIR].

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

CPDF_PM_NONE (entier)

CPDF_PM_OUTLINES (entier)

CPDF_PM_THUMBS (entier)

CPDF_PM_FULLSCREEN (entier)

CPDF_PL_SINGLE (entier)

CPDF_PL_1COLUMN (entier)

CPDF_PL_2LCOLUMN (entier)

CPDF_PL_2RCOLUMN (entier)

Exemples

Exemple 1. Exemple simple ClibPDF

<?php
$cpdf
= cpdf_open(0);
cpdf_page_init($cpdf, 1, 0, 595, 842, 1.0);
cpdf_add_outline($cpdf, 0, 0, 0, 1, "Page 1");
cpdf_begin_text($cpdf);
cpdf_set_font($cpdf, "Times-Roman", 30, "WinAnsiEncoding");
cpdf_set_text_rendering($cpdf, 1);
cpdf_text($cpdf, "Times Roman outlined", 50, 50);
cpdf_end_text($cpdf);
cpdf_moveto($cpdf, 50, 50);
cpdf_lineto($cpdf, 740, 330);
cpdf_stroke($cpdf);
cpdf_finalize_page($cpdf, 1);
cpdf_finalize($cpdf);
Header("Content-type: application/pdf");
cpdf_output_buffer($cpdf);
cpdf_close($cpdf);
?>

La distribution pdflib contient un exemple plus complet, qui crée des séries de pages avec une horloge. Voici cet exemple converti en script PHP qui utilise l'extension ClibPDF :

Exemple 2. Exemple pdfclock de la distribution pdflib 2.0

<?php
$radius
= 200;
$margin = 20;
$pagecount = 40;

$pdf = cpdf_open(0);
cpdf_set_creator($pdf, "pdf_clock.php");
cpdf_set_title($pdf, "Analog Clock");

while (
$pagecount-- > 0) {
  
cpdf_page_init($pdf, $pagecount+1, 0, 2 * ($radius + $margin), 2 * ($radius + $margin), 1.0);

  
cpdf_set_page_animation($pdf, 4, 0.5, 0, 0, 0);  /* wipe */

  
cpdf_translate($pdf, $radius + $margin, $radius + $margin);
  
cpdf_save($pdf);
  
cpdf_setrgbcolor($pdf, 0.0, 0.0, 1.0);

  
/* minute strokes */
  
cpdf_setlinewidth($pdf, 2.0);
  for (
$alpha = 0; $alpha < 360; $alpha += 6)
    {
    
cpdf_rotate($pdf, 6.0);
    
cpdf_moveto($pdf, $radius, 0.0);
    
cpdf_lineto($pdf, $radius-$margin/3, 0.0);
    
cpdf_stroke($pdf);
    }

  
cpdf_restore($pdf);
  
cpdf_save($pdf);

  
/* 5 minute strokes */
  
cpdf_setlinewidth($pdf, 3.0);
  for (
$alpha = 0; $alpha < 360; $alpha += 30)
  {
    
cpdf_rotate($pdf, 30.0);
    
cpdf_moveto($pdf, $radius, 0.0);
    
cpdf_lineto($pdf, $radius-$margin, 0.0);
    
cpdf_stroke($pdf);
  }

  
$ltime = getdate();

  
/* draw hour hand */
  
cpdf_save($pdf);
  
cpdf_rotate($pdf, -(($ltime['minutes']/60.0) + $ltime['hours'] - 3.0) * 30.0);
  
cpdf_moveto($pdf, -$radius/10, -$radius/20);
  
cpdf_lineto($pdf, $radius/2, 0.0);
  
cpdf_lineto($pdf, -$radius/10, $radius/20);
  
cpdf_closepath($pdf);
  
cpdf_fill($pdf);
  
cpdf_restore($pdf);

  
/* draw minute hand */
  
cpdf_save($pdf);
  
cpdf_rotate($pdf, -(($ltime['seconds']/60.0) + $ltime['minutes'] - 15.0) * 6.0);
  
cpdf_moveto($pdf, -$radius/10, -$radius/20);
  
cpdf_lineto($pdf, $radius * 0.8, 0.0);
  
cpdf_lineto($pdf, -$radius/10, $radius/20);
  
cpdf_closepath($pdf);
  
cpdf_fill($pdf);
  
cpdf_restore($pdf);

  
/* draw second hand */
  
cpdf_setrgbcolor($pdf, 1.0, 0.0, 0.0);
  
cpdf_setlinewidth($pdf, 2);
  
cpdf_save($pdf);
  
cpdf_rotate($pdf, -(($ltime['seconds'] - 15.0) * 6.0));
  
cpdf_moveto($pdf, -$radius/5, 0.0);
  
cpdf_lineto($pdf, $radius, 0.0);
  
cpdf_stroke($pdf);
  
cpdf_restore($pdf);

  
/* draw little circle at center */
  
cpdf_circle($pdf, 0, 0, $radius/30);
  
cpdf_fill($pdf);

  
cpdf_restore($pdf);

  
cpdf_finalize_page($pdf, $pagecount+1);
}

cpdf_finalize($pdf);
header("Content-type: application/pdf");
cpdf_output_buffer($pdf);
cpdf_close($pdf);
?>

Voir aussi

Voir aussi la documentation de PDFlib.

Table des matières
cpdf_add_annotation -- Ajoute une annotation
cpdf_add_outline -- Ajoute un signet à la page courante
cpdf_arc -- Dessine un arc de cercle
cpdf_begin_text -- Démarre une section de texte
cpdf_circle -- Dessine un cercle
cpdf_clip -- Aligne les dessins sur le chemin courant
cpdf_close -- Ferme un fichier PDF
cpdf_closepath_fill_stroke -- Remplit le chemin, dessine le bord et ferme le chemin
cpdf_closepath_stroke -- Ferme le fichier et dessine une ligne le long du chemin
cpdf_closepath -- Ferme le chemin
cpdf_continue_text -- Affiche le texte à la ligne suivante
cpdf_curveto -- Dessine une courbe
cpdf_end_text -- Termine une section de texte
cpdf_fill_stroke -- Remplit le chemin, et dessine le bord
cpdf_fill -- Remplit le chemin courant
cpdf_finalize_page -- Termine une page
cpdf_finalize -- Termine un document
cpdf_global_set_document_limits -- Fixe les limites d'un document PDF
cpdf_import_jpeg -- Ouvre une image JPEG
cpdf_lineto -- Dessine une ligne
cpdf_moveto -- Fixe le point courant de dessin CPDF
cpdf_newpath -- Commence un nouveau chemin
cpdf_open -- Ouvre un nouveau document PDF
cpdf_output_buffer -- Affiche le document PDF qui est en mémoire
cpdf_page_init -- Commence une nouvelle page
cpdf_place_inline_image -- Place une image dans une page
cpdf_rect -- Dessine un rectangle
cpdf_restore -- Restaure un environnement sauvegardé
cpdf_rlineto -- Dessine une ligne
cpdf_rmoveto -- Fixe le point courant
cpdf_rotate_text -- Configure l'inclinaison d'un texte
cpdf_rotate -- Effectue une rotation
cpdf_save_to_file -- Écrit un document PDF dans un fichier
cpdf_save -- Sauve l'environnement courant
cpdf_scale -- Modifie l'échelle
cpdf_set_action_url -- Paramètre un hyper lien
cpdf_set_char_spacing -- Fixe l'espacement des caractères
cpdf_set_creator -- Définit le créateur d'un document PDF
cpdf_set_current_page -- Définit la page courante
cpdf_set_font_directories -- Définit les dossiers dans lesquels on doit rechercher des polices externes
cpdf_set_font_map_file -- Configure le fichier de remplacement de polices externes
cpdf_set_font -- Sélectionne la police courante et sa taille
cpdf_set_horiz_scaling -- Fixe l'échelle horizontale du texte
cpdf_set_keywords -- Fixe les mots-clés d'un document PDF
cpdf_set_leading -- Fixe la distance entre deux lignes
cpdf_set_page_animation -- Fixe l'animation de la transition entre les pages
cpdf_set_subject -- Fixe le sujet d'un document PDF
cpdf_set_text_matrix -- Fixe la matrice du texte
cpdf_set_text_pos -- Fixe la position du texte
cpdf_set_text_rendering -- Détermine le rendu du texte
cpdf_set_text_rise -- Fixe l'élévation du texte
cpdf_set_title -- Fixe le titre d'un document PDF
cpdf_set_viewer_preferences -- Indique comment afficher le document à l'utilisateur
cpdf_set_word_spacing -- Fixe l'espacement des mots
cpdf_setdash -- Définit le motif de pointillés
cpdf_setflat -- Définit la platitude (flatness)
cpdf_setgray_fill -- Définit le niveau de gris comme couleur de remplissage
cpdf_setgray_stroke -- Choisit un niveau de gris comme couleur de dessin
cpdf_setgray -- Modifie un niveau de gris comme couleur de dessin et de remplissage
cpdf_setlinecap -- Fixe le paramètre linecap
cpdf_setlinejoin -- Fixe le paramètre linejoin
cpdf_setlinewidth -- Fixe la largeur de ligne
cpdf_setmiterlimit -- Fixe le paramètre miter limit
cpdf_setrgbcolor_fill -- Choisit une couleur rgb comme couleur de remplissage
cpdf_setrgbcolor_stroke -- Choisit une couleur rgb comme couleur de dessin
cpdf_setrgbcolor -- Choisit une couleur rgb comme couleur de dessin et de remplissage
cpdf_show_xy -- Affiche un texte à une position
cpdf_show -- Imprime un texte à la position courante
cpdf_stringwidth -- Retourne la taille de la police courante
cpdf_stroke -- Dessine une ligne le long du chemin
cpdf_text -- Imprime un texte avec des options
cpdf_translate -- Modifie l'origine du système de coordonnées

    Annonces       
 

 Retour au chapitre Php

 

Top
 

Ajouter JungleKey.fr à votre Explorateur

 
 

About Us | © 2007 JungleKey




iBlack | Mobile | Wiki | Ajouter
.