LIV. Fonctions Haru PDF

Introduction

L'extension PECL/haru fournit une API pour la bibliothèque Haru Free PDF - bibliothèque libre, multi-plateforme et opensource pour la génération de fichiers PDF.

Vous pouvez trouver la bibliothèque ici : » http://libharu.sourceforge.net.

AVERTISSEMENT

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Pré-requis

Vous devez installer d'abord libharu pour activer l'utilisation PECL/haru. PECL/haru a été testé avec libharu 2.0.8, les anciennes versions peuvent éventuellement fonctionner. PECL/haru nécessite également PHP 5.1.3 ou supérieur.

Installation

Des informations sur l'installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D'autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu'un CHANGELOG, peuvent être trouvées ici : » http://pecl.php.net/package/haru.

La dernière bibliothèque DLL PECL/haru Win32 DLL peut être téléchargée ici : » php_haru.dll.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Exemples

Exemple 1012. Exemple avec PECL/haru

<?php

$doc 
= new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* Affiche les miniatures */

$page $doc->addPage(); /* Ajoute une page au document */
$page->setSize(HaruPage::SIZE_A4HaruPage::LANDSCAPE); /* Définit la page pour
utiliser le format A4 en paysage */

$courier $doc->getFont("Courier-Bold"); /* Nous utiliserons les polices internes */

$page->setRGBStroke(000); /* Définit les couleurs */
$page->setRGBFill(0.70.80.9);
$page->rectangle(150150550250); /* Dessine un rectangle */

$page->fillStroke(); /* On le remplit */

$page->setDash(array(33), 0); /* Définit le style pour les lignes de cette page */
$page->setFontAndSize($courier60); /* Définit la police et la taille */

$page->setRGBStroke(0.50.50.1); /* Définit la couleur de la ligne */
$page->setRGBFill(111); /* Définit la couleur de remplissage */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* Remplit le texte */

/* Affiche le texte */
$page->beginText();
$page->textOut(210270"Bonjour le monde !");
$page->endText();

$doc->save("/tmp/test.pdf"); /* Sauvegarde le document dans un fichier */

?>

Ouvrez le document résultant dans votre client PDF favori et vous devriez voir un rectangle bleu contenant le texte blanc suivant : "Bonjour le monde !".

Classes pré-définies

HaruException
HaruDoc
HaruPage
HaruFont
HaruImage
HaruEncoder
HaruOutline
HaruAnnotation
HaruDestination

Polices internes et encodages

Polices interns

Ces polices Base14 sont intégrées dans PDF et toutes les visualisateurs peuvent les afficher. L'utilisation de ces polices peut baisser la taille du fichier résultat et rendre le processus plus rapide, évitant le chargement de police externe. Cependant, ces polices ne supportent que le jeu de caractères latin1 et vous devez charger des polices externes si vous avez besoin d'utiliser d'autres jeux de caractères.

Les polices Base14 :

  • Courrier

  • Courrier-Gras

  • Courrier-Italique

  • Courrier-Gras et italique

  • Helvetica

  • Helvetica-Gras

  • Helvetica-Italique

  • Helvetica-Gras et italique

  • Times-Roman

  • Times-Gras

  • Times-Italique

  • Times-Gras et italique

  • Symbol

  • ZapfDingbats

Encodages internes

Tableau 102. Encodages de jeu de caractères sur un seul octet

NomDescription
StandardEncoding L'encodage par défaut de PDF.
MacRomanEncoding L'encodage par défaut de Mac OS.
WinAnsiEncoding L'encodage par défaut de Windows.
FontSpecific L'encodage des polices internes.
ISO8859-2 Latin2 (Europe de l'est)
ISO8859-3 Latin3 (Europe de l'ouest)
ISO8859-4 Latin4 (Europe du nord)
ISO8859-5 Cyrillien
ISO8859-6 Arabe
ISO8859-7 Grèque
ISO8859-8 Hébreu
ISO8859-9 Latin5 (Turque)
ISO8859-10 Latin6 (Nordique)
ISO8859-11 Thaï
ISO8859-13 Latin7 (Jante baltique)
ISO8859-14 Latin8 (Celtique)
ISO8859-15 Latin9
ISO8859-16 Latin10
CP1250 MS Windows Codepage 1250.
CP1251 MS Windows Codepage 1251.
CP1252 MS Windows Codepage 1252.
CP1253 MS Windows Codepage 1253.
CP1254 MS Windows Codepage 1254.
CP1255 MS Windows Codepage 1255.
CP1256 MS Windows Codepage 1256.
CP1257 MS Windows Codepage 1257.
CP1258 MS Windows Codepage 1258.
KOI8-R Jeu de caractères cyrillien.

Tableau 103. Encodages de jeu de caractères multi-octets

NomDescription
GB-EUC-H Encodage EUC-CN.
GB-EUC-V Version verticale de GB-EUC-H.
GBK-EUC-H Encodage Microsoft Code Page 936 (lfCharSet 0x86) GBK.
GBK-EUC-V Version verticale de GBK-EUC-H.
ETen-B5-H Jeu de caractères Microsoft Code Page 950 (lfCharSet 0x88) Big Five avec les extensions ETen.
ETen-B5-V Version verticale de ETen-B5-H.
90ms-RKSJ-H Microsoft Code Page 932, caractère JIS X 0208.
90ms-RKSJ-V Version verticale de 90ms-RKSJ-V.
90msp-RKSJ-H Microsoft Code Page 932, caractère JIS X 0208 (proportionnel).
EUC-H Jeu de caractères JIS X 0208, encodage EUC-JP.
EUC-V Version verticale de EUC-H.
KSC-EUC-H Jeu de caracères KS X 1001:1992, encodage EUC-KR.
KSC-EUC-V Version verticale de KSC-EUC-V.
KSCms-UHC-H Microsoft Code Page 949 (lfCharSet 0x81), jeu de caractères KS X 1001:1992 et 8822 additionnel hangul, encodage Unified Hangul Code (UHC) (proportionnel).
KSCms-UHC-HW-H Microsoft Code Page 949 (lfCharSet 0x81), jeu de caracères KS X 1001:1992 et 8822 additionnel hangul, encodage Unified Hangul Code (UHC) (largeur fixe).
KSCms-UHC-HW-V Version verticale de KSCms-UHC-HW-H.

Table des matières

HaruException — Classe Haru PDF Exception
HaruDoc — Classe Haru PDF Document
HaruPage — Classe Haru PDF Page
HaruFont — Classe Haru PDF Font
HaruImage — Classe Haru PDF Image
HaruEncoder — Classe Haru PDF Encoder
HaruOutline — Classe Haru PDF Outline
HaruAnnotation — Classe Haru PDF Annotation
HaruDestination — Classe Haru PDF Destination
HaruAnnotation::setBorderStyle — Définit le style de bordure d'une annotation
HaruAnnotation::setHighlightMode — Définit le mode de mise en évidence de l'annotation
HaruAnnotation::setIcon — Définit le style de l'icône de l'annotation
HaruAnnotation::setOpened — Définit le statut initial de l'annotation
HaruDestination::setFit — Définit l'apparence de la page afin qu'elle tienne dans la fenêtre
HaruDestination::setFitB — Définit l'apparence de la page afin qu'elle tienne dans une boite de la page dans la fenêtre
HaruDestination::setFitBH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la boite
HaruDestination::setFitBV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la boite
HaruDestination::setFitH — Définit l'apparence de la page afin qu'elle tienne en largeur dans la page
HaruDestination::setFitR — Définit l'apparence de la page afin qu'elle tienne dans le rectangle spécifié
HaruDestination::setFitV — Définit l'apparence de la page afin qu'elle tienne en hauteur dans la fenêtre
HaruDestination::setXYZ — Définit l'apparence d'une page
HaruDoc::addPage — Ajoute une nouvelle page au document
HaruDoc::addPageLabel — Définit le style de numérotation d'une série de pages
HaruDoc::__construct — Construit une nouvelle instance HaruDoc instance
HaruDoc::createOutline — Crée une instance HaruOutline
HaruDoc::getCurrentEncoder — Récupère l'instance HaruEncoder actuellement utilisée dans le document
HaruDoc::getCurrentPage — Retourne la page courante du document
HaruDoc::getEncoder — Récupère l'instance HaruEncoder de l'encodage spécifié
HaruDoc::getFont — Récupère une instance HaruFont
HaruDoc::getInfoAttr — Récupère la valeur courante d'un attribut de document spécifié
HaruDoc::getPageLayout — Récupère la disposition courante de la page
HaruDoc::getPageMode — Récupère le mode courant de la page
HaruDoc::getStreamSize — Récupère la taille du flux temporaire
HaruDoc::insertPage — Insère une nouvelle page juste avant la page spécifiée
HaruDoc::loadJPEG — Charge une image JPEG et retourne une nouvelle instance HaruImage
HaruDoc::loadPNG — Charge une image PNG et retourne une instance HaruImage
HaruDoc::loadRaw — Charge une image RAW et retourne une instance HaruImage
HaruDoc::loadTTC — Charge la police avec l'index spécifié depuis le fichier TTC
HaruDoc::loadTTF — Charge un fichier de police TTF
HaruDoc::loadType1 — Charge la police Type1
HaruDoc::output — Écrit les données du document dans un buffer de sortie
HaruDoc::readFromStream — Lit les données depuis le flux temporaire
HaruDoc::resetError — Réinitialise le statut d'erreur du gestionnaire de document
HaruDoc::resetStream — Revient au début du flux temporaire
HaruDoc::save — Sauvegarde le document dans le fichier spécifié
HaruDoc::saveToStream — Sauvegarde le document dans un flux temporaire
HaruDoc::setCompressionMode — Définit le mode de compression pour le document
HaruDoc::setCurrentEncoder — Définit l'encodeur courant pour le document
HaruDoc::setEncryptionMode — Définit le mode de cryptage pour le document
HaruDoc::setInfoAttr — Définit l'attribut d'information du document
HaruDoc::setInfoDateAttr — Définit les attributs d'informations de date et d'heure pour le document
HaruDoc::setOpenAction — Définit quelle page est affichée lors de l'ouverture du document
HaruDoc::setPageLayout — Définit la façon dont la page doit être affichée
HaruDoc::setPageMode — Définit la façon dont le document doit être affiché
HaruDoc::setPagesConfiguration — Définit le nombre de pages par jeu de pages
HaruDoc::setPassword — Définit les mots de passe de l'utilisateur et du propriétaire pour le document
HaruDoc::setPermission — Définit les permissions du document
HaruDoc::useCNSEncodings — Active l'encodage chinois simplifié
HaruDoc::useCNSFonts — Active les polices chinoises simplifiées internes
HaruDoc::useCNTEncodings — Active l'encodage chinois traditionnel
HaruDoc::useCNTFonts — Active les polices chinoises traditionnelles internes
HaruDoc::useJPEncodings — Active l'encodage japonais
HaruDoc::useJPFonts — Active les polices japonaises internes
HaruDoc::useKREncodings — Active l'encodage coréen
HaruDoc::useKRFonts — Active les polices coréennes internes
HaruEncoder::getByteType — Récupère le type d'octets dans le texte
HaruEncoder::getType — Récupère le type de l'encodeur
HaruEncoder::getUnicode — Convertit un caractère en unicode
HaruEncoder::getWritingMode — Récupère le mode d'écriture de l'encodeur
HaruFont::getAscent — Récupère la montée verticale de la police
HaruFont::getCapHeight — Récupère la distance depuis la ligne de base des lettres en majuscule
HaruFont::getDescent — Récupère la descente verticale de la police
HaruFont::getEncodingName — Récupère le nom de l'encodage
HaruFont::getFontName — Récupère le nom de la police
HaruFont::getTextWidth — Récupère la largeur totale du texte, le nombre de caractères, le nombre de mots et le nombre d'espaces
HaruFont::getUnicodeWidth — Récupère la largeur d'un caractère dans une police
HaruFont::getXHeight — Récupère la distance depuis la ligne de base des lettres minuscule
HaruFont::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
HaruImage::getBitsPerComponent — Récupère le nombre d'octets utilisés pour décrire chaque composant de la couleur de l'image
HaruImage::getColorSpace — Récupère le nom de l'espace de couleur de l'image
HaruImage::getHeight — Récupère la hauteur de l'image
HaruImage::getSize — Récupère la taille de l'image
HaruImage::getWidth — Récupère la largeur de l'image
HaruImage::setColorMask — Définit le masque de couleur de l'image
HaruImage::setMaskImage — Définit le masque de l'image
HaruOutline::setDestination — Définit la destination pour le contour
HaruOutline::setOpened — Définit le statut initial du contour
HaruPage::arc — Ajoute un arc au chemin courant
HaruPage::beginText — Commence un objet texte et définit la position courante du texte à (0,0)
HaruPage::circle — Ajoute un cercle au chemin courant
HaruPage::closePath — Ajoute une ligne droite depuis le point courant jusqu'au point de départ du chemin
HaruPage::concat — Concatène la matrice de transformation courante et la matrice spécifiée
HaruPage::createDestination — Crée une nouvelle instance HaruDestination
HaruPage::createLinkAnnotation — Crée une nouvelle instance HaruAnnotation
HaruPage::createTextAnnotation — Crée une nouvelle instance HaruAnnotation
HaruPage::createURLAnnotation — Crée et retourne une nouvelle instance HaruAnnotation instance
HaruPage::curveTo2 — Ajoute une courbe de Bézier au chemin courant
HaruPage::curveTo3 — Ajoute une courbe de Bézier au chemin courant
HaruPage::curveTo — Ajoute une courbe de Bézier au chemin courant
HaruPage::drawImage — Affiche une image dans la page
HaruPage::ellipse — Ajoute une ellipse au chemin courant
HaruPage::endPath — Termine l'objet chemin courant sans effectuer d'opérations de remplissage et de peinture
HaruPage::endText — Termine l'objet texte courant
HaruPage::eofill — Remplit le chemin courant en utilisant la règle "even-odd"
HaruPage::eoFillStroke — Remplit le chemin courant en utilisant la règle "even-odd", puis, peint le chemin
HaruPage::fill — Remplit le chemin courant en utilisant des nombres différents de zéro
HaruPage::fillStroke — Remplit le chemin en utilisant des nombres différents de zéro, puis peint le chemin
HaruPage::getCharSpace — Récupère la valeur courante de l'espacement des caractères
HaruPage::getCMYKFill — Récupère la couleur de remplissage courante
HaruPage::getCMYKStroke — Récupère la couleur de remplissage courante
HaruPage::getCurrentFont — Récupère la police actuellement utilisée
HaruPage::getCurrentFontSize — Récupère la taille de la police courante
HaruPage::getCurrentPos — Récupère la position courante pour l'affichage
HaruPage::getCurrentTextPos — Récupère la position courante pour l'affichage du texte
HaruPage::getDash — Récupère le style de tiret courant
HaruPage::getFillingColorSpace — Récupère la couleur de remplissage
HaruPage::getFlatness — Récupère la planéité de la page
HaruPage::getGMode — Récupère le mode courant de graphique
HaruPage::getGrayFill — Récupère la couleur courante de remplissage
HaruPage::getGrayStroke — Récupère la couleur courante
HaruPage::getHeight — Récupère la hauteur de la page
HaruPage::getHorizontalScaling — Récupère la valeur courante de l'échelle horizontale
HaruPage::getLineCap — Récupère le style courant de fin de lignes
HaruPage::getLineJoin — Récupère le style de jointure de lignes
HaruPage::getLineWidth — Récupère la largeur courante de la ligne
HaruPage::getMiterLimit — Récupère la valeur de la limite de l'anglet
HaruPage::getRGBFill — Récupère la couleur courante de remplissage
HaruPage::getRGBStroke — Récupère la couleur de peinture courante
HaruPage::getStrokingColorSpace — Récupère la couleur de peinture de l'espace courant
HaruPage::getTextLeading — Récupère la valeur courante de l'espacement des lignes
HaruPage::getTextMatrix — Récupère la matrice de transformation courante du texte de la page
HaruPage::getTextRenderingMode — Récupère le mode de rendu courant du texte
HaruPage::getTextRise — Récupère la valeur de la levée du texte
HaruPage::getTextWidth — Récupère la largeur du texte en utilisant la taille de la police courante, l'espacement des caractères et l'espacement des mots
HaruPage::getTransMatrix — Récupère la matrice de transformation courante de la page
HaruPage::getWidth — Récupère la largeur de la page
HaruPage::getWordSpace — Récupère la valeur courante de l'espacement entre les mots
HaruPage::lineTo — Trace une ligne depuis le point courant vers le point spécifié
HaruPage::measureText — Calcule le nombre de caractères qui peuvent être inclus dans la largeur spécifiée
HaruPage::moveTextPos — Déplace la position du texte à une position donnée
HaruPage::moveTo — Définit le point de départ pour la nouvelle ligne
HaruPage::moveToNextLine — Déplace la position du texte au début de la prochaine ligne
HaruPage::rectangle — Ajoute un rectangle à la position courante
HaruPage::setCharSpace — Définit l'espacement des caractères pour la page
HaruPage::setCMYKFill — Définit la couleur de remplissage de la page
HaruPage::setCMYKStroke — Définit la couleur de remplissage de la page
HaruPage::setDash — Définit le style de tiret pour la page
HaruPage::setFlatness — Définit la planéité de la page
HaruPage::setFontAndSize — Définit la police et sa taille pour la page
HaruPage::setGrayFill — Définit la couleur de remplissage de la page
HaruPage::setGrayStroke — Définit la couleur de remplissage de la page
HaruPage::setHeight — Définit la hauteur de la page
HaruPage::setHorizontalScaling — Définit la graduation horizontale de la page
HaruPage::setLineCap — Définit la forme à utiliser à la fin des lignes
HaruPage::setLineJoin — Définit le style de jointure de ligne pour la page
HaruPage::setLineWidth — Définit la largeur de la ligne pour la page
HaruPage::setMiterLimit — Définit la valeur courante de la limite de l'anglet de la page
HaruPage::setRGBFill — Définit la couleur de remplissage pour la page
HaruPage::setRGBStroke — Définit la couleur de remplissage de la page
HaruPage::setRotate — Définit l'angle de rotation de la page
HaruPage::setSize — Définit la taille et la direction de la page
HaruPage::setSlideShow — Définit le style de transition pour la page
HaruPage::setTextLeading — Définit l'espacement entre les lignes du texte pour la page
HaruPage::setTextMatrix — Définit la matrice de transformation de texte courante de la page
HaruPage::setTextRenderingMode — Définit le mode de rendu du texte pour la page
HaruPage::setTextRise — Définit la valeur courante de la levée du texte
HaruPage::setWidth — Définit la largeur de la page
HaruPage::setWordSpace — Définit l'espacement entre les mots pour la page
HaruPage::showText — Affiche le texte à la position courante de la page
HaruPage::showTextNextLine — Déplace la position courante au début de la prochaine ligne et affiche le texte
HaruPage::stroke — Peint le chemin courant
HaruPage::textOut — Affiche le texte à la position spécifiée
HaruPage::textRect — Affiche le texte d'une région spécifique