
dompdf, un outil puissant pour convertir de l’HTML vers PDF en PHP dompdf est un convertisseur de HTML vers PDF écrit en PHP, qui essaie de respecter au mieux les styles CSS tout en assurant des fonctionnalités utiles pour l’impression (saut de page, numéro de page, couleurs CMJN, formats de page, résolution des images, etc). Le principe de cette bibliothèque est de télécharger et lire les feuilles de style externes, les balises, et les attributs des éléments individuels HTML pour ensuite les insérer dans le document PDF résultant. Il supporte également la plupart des attributs de présentation de HTML 4 pour rester compatible avec les documents HTML sans styles CSS. Cette bibliothèque a longtemps été à l’abandon sur SourceForge, puis Google Code, mais elle est depuis plus d’un an maintenant hébergée sur GitHub où elle est actuellement maintenue par de nouveaux développeurs. Cependant pour découvrir au mieux le projet dompdf, j’ai pensé que le meilleur moyen serait d’interviewer un développeur actif du projet, Fabien Ménager. [sourcecode language="HTML"]
Object-Oriented PHP: Working with Inheritance Home : Articles : Object-Oriented PHP: Working with Inheritance Tutorial by Matt Doyle | Level: Intermediate | Published on 26 May 2011 Categories: Learn how inheritance works in PHP. This tutorial explores the concept of parent and child classes; overriding methods; final classes; abstract classes, and interfaces. Welcome to my third object-oriented PHP tutorial! In this article we're going to explore the idea of inheritance in object-oriented programming, and how inheritance works in PHP. We'll look at the following topics in this article: The concept of inheritance, and why it's so useful How one PHP class can inherit from another How a child class can override some of the functionality of its parent Working with final classes and methods Using abstract classes, and Working with interfaces. Ready? How inheritance works Inheritance is based around the concept of parent classes and child classes . Parent classes are also known as base classes or superclasses . derived classes subclasses By overriding
Convert HTML to PDF - BeeBole As a background task for our web application BeeBole, I was looking for an easy and efficient way to produce PDF documents without being stuck with postscript like syntax or being feature limited in a design point of view. Last week I discovered the tool I was looking for : WKHTMLTOPDF By leveraging the power of the webkit engine through QtWebKit module, this thing is converting HTML with full CSS support to PDF the same way you “Save as PDF” from your browser In this article, I’ll show you the very first prototype I did of a possible WKHTMLTOPDF integration with our application. Let’s start by installing this nifty tool the easy way (tested on Ubuntu Hardy and Jaunty 64 bit): wget tar -jxvf wkhtmltopdf-0.8.3-static.tar.bz2 sudo aptitude install ia32-libs Next, you’ll have to make a symbolic link pointing to WKHTMLTOPDF in /usr/local/bin. sudo ln -s /full_path/WKHTMLTOPDF /usr/local/bin/WKHTMLTOPDF
Phar – PHP archiving practice Phar – PHP archiving practice Today we will continue PHP lessons. I guess you noticed that due your project become larger – the more and more files it contain. Phar extension appear in PHP since version 5.2. Make attention, by default, the PHAR archives have read-only access (so you will unable to create it). In our lesson, I will tell you how you can create own libraries and use it. download in package Ok, download the example files and lets start coding ! Step 1. Firstly, lets prepare 2 sample classes for us: classes/SampleClass.php classes/SampleClass2.php Very easy, isn`t it? classes/index.php My goal will wrap whole folder ‘classes’ into single library file. Now, lets prepare ‘lib’ folder (with access to writing) in your root folder. index.php Here you can see result of our page: In beginning, I check, are compiled library (lib/SampleLibrary.phar) already exists or not. You can use different ways (functions) to add files into library, this is possible via: Conclusion
Command Line Print - with Firefox Latest version: Command Line Print 0.5.2 Platform: All Mozilla Firefox 1.5 - 3.6 Last Update: 2010-01-26 Note for download sites.google.com does not allow me to upload a file whose file extension is ".xpi". Usage: >firefox -print -print -printmode pdf -printfile .. This application tries to reproduce the last printing situation. -print <URL> @required. -printmode mode @optional. mode argument can be either {0, 1, 2, 3, printer, pdf, png, ps, postscript}. -printfile filepath @optional. filepath is an absolute, or a relative path from the current directory, like other CLI applications. -printdelay seconds @optional. Gecko, as a layout engine, is able to detect an end of document loading, but after that, some AJAX site may go on another data fetch and re-rendering itself by JavaScript. For Unix users: Firefox uses realpath(3) in <stdlib.h>, to resolve a relative path. Bad example: Good example A: Good example B: See also:
Les flashcodes, comment les générer automatiquement et facilement avec PHP Posté le 21 mars 2011 dans Développement web , par Abdelhak - Caroline nous expliquait dans un précédent article ce qu’est un flashcode, comment ces codes sont utilisés, etc. Nous, on fait beaucoup de PHP, tout les jours, et on aime bien se sentir rassuré de temps en temps en se disant avec PHP on peut tout faire ! Alors, peut-on faire des flashcodes avec php ? c’est le sujet de ce billet, générer un flashcode (ou plus exactement un Qrcode) avec php. La librairie en question est PHP QrCode (très original ^^). Pour la télécharger c’est ici : Exemple d’utilisation : Et pour finir voici un petit snippet complet qui permet d’afficher sur n’importe quelle page d’un site, un Qrcode renvoyant vers cette même page, en insérant une balise image quelque part sur la page : <? Voici le résultat : Ingénieur développeur web à X-PRIME, naeh.net c'est mon blog, snippets.fr est ma boite à snippets…
Conversion : methodes Un des mes "Graals" est de trouver enfin un moyen simple rapide et fiable pour générer du PDF à partir d'un document HTML complet, avec prise en compte des feuilles de style. La raison du besoin est assez simple, j'archive tout ou presque en PDF, et particulièrement les pages WEB que j'ai peur de voir disparaître du jour au lendemain. Or avec un outil en ligne de commande, quel que soit le navigateur utilisé, j'ai toujours le moyen de créer un menu click-droit qui va bien pour convertir une page et me la ranger sagement dans le bon dossier. État des lieux Les outils libres en ligne de commande de type HTMT-to-PDF ne manque pas mais beaucoup ont tous en commun l'incapacité de prendre en charge proprement les feuilles de styles. C'est le cas par exemple d'htmtopdf et htmldoc. Utilisation de KHTML/WebKIT Pour ne pas embarquer tout la quincaillerie KDE, le mieux est de pouvoir utiliser directement le moteur de rendu WebKIT et la librairie PDF de QT4. Utilisation de FireFox/Gecko Conclusion
[PHP 5.1] Classe d'Upload et Redimensionnement Bonjour,php 5.4 nous offre désormais la possibilité d'avoir des informations sur la progression d'un upload via une variable de session. En faisant une requête ajax il est donc possible d'afficher des informations textuelles et/ou une barre de progression pour indiquer l'avancement de l'upload.Dans le script ci-dessous, je reprend mon dernier exemple en y ajoutant une barre de progression et l'information du temps restant.Vous remarquerez que le code php reste identique. Le code javascript a été complété pour faire les requêtes ajax et le code html pour inclure l'input d'identification de la variable de session et le div d'affichage de la progression. Des liens vers des fichiers javascript ont également été ajoutés comme indiqué ci-dessous :J'utilise jquery par simplification car il peut nous fournir une barre de progression prête à l'emploi.
Adaptive Images - Des images adaptées auto aux résolutions écran Adaptive images est un kit Javascript et PHP permettant d'optimiser l'affichage de vos images en fonction de la résolution de votre navigateur. Toujours à la quête de l'optimisation frontend des sites web, Adaptive Images vous permettra de gagner énormément en ressources en proposant une version de vos images adaptée à la taille de votre navigateur. Imaginons que vous proposiez une image de 242kb sur votre site web, adaptée pour les grosses résolutions... les navigateurs mobiles vont télécharger la même image, mais souvent sur un réseau mobile ! Lent, très lent ! Grâce à Adaptive Images, vous n'avez rien à modifier dans votre code, simplement intégrer le fichier .htaccess, le script et fichier PHP pour redimensionner à la volée (si image non présente en cache) pour la version miniature. On passe donc de 242kb à 39kb pour notre smartphone. Site Officiel
10 super useful PHP snippets We Recommend These Resources Having the right code snippet at the right time can definitely be a life saver for web developers. Today, I’ve compiled 10 really awesome PHP code snippets that will, I hope, be very helpful in your forthcomming developments. Super simple page caching When your project isn’t based on a CMS or framework, it can be a good idea to implement a simple caching system on your pages. 01.<? 03. 05. 07. if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) { 08. include($cachefile); 09. exit; 12. ob_start(); 14. 15. output all your html here. 16. 17.<? 19. 20. fwrite($fp, ob_get_contents()); 21. fclose($fp); 23. ob_end_flush(); » Credit: Wes Bos Calculate distances in PHP Here is a very handy function, which calculate the distance from a point A to a point B, using latitudes and longitudes. 01.function distance($lat1, $lon1, $lat2, $lon2, $unit) { 03. 04. 05. 06. 07. 08. 10. if ($unit == "K") { 11. return ($miles * 1.609344); 12. } else if ($unit == "N") { Usage:
Détecter si le visiteur vient d’un iPhone iPad iPod Android | eBuildy blog, Web, Adobe flex, JQuery,Flash,Prestashop Avec tous ces mobiles et surtout les forfaits qui vont avec, la part des visiteurs venant d’un mobile est à présent significative. Le hic est que les tailles d’écran proposé (à part le iPad qui n’est pas un mobile…) est souvent minuscule, et donc, très souvent le site visité est inapproprié à la navigation sous mobile. Il existe 3 solutions de détection: Avec un fichier .htaccessAvec un script PhpAvec du Javascript Détection htaccess L’avantage: le visiteur est redirigé de suite sans charger la page par défaut. L’inconvénient: il faut réécrire un site compatible Le principe est simple, dans un htaccess, on va chercher dans le User Agent (String envoyée par le navigateur pour chaque requête HTTP) la présence de mots clés: “iphone,ipod,android” etc etc liste que vous pouvez largement continuer avec palm,smartphone,toshiba,sony,nokia…. bref la liste peut être très très …. longue…Puis si la condition est TRUE, on redirige la requête vers un sous domaine: RewriteCond %{REQUEST_URI} !
Twig - The flexible, fast, and secure PHP template engine - Homepage