<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://arts-numeriques.codedrops.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Arts num&#233;riques</title>
	<link>https://arts-numeriques.codedrops.net/</link>
	<description>artsnumeriques est le support des cours de St&#233;phane Noel, professeur &#224; l'&#233;cole de recherche graphique.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://arts-numeriques.codedrops.net/spip.php?id_mot=62&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Photo album, Cody Trepte, 2007</title>
		<link>http://arts-numeriques.codedrops.net/Photo-album-Cody-Trepte-2007</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Photo-album-Cody-Trepte-2007</guid>
		<dc:date>2011-05-06T08:31:39Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Generative art</dc:subject>
		<dc:subject>Installation</dc:subject>
		<dc:subject>Open Source</dc:subject>
		<dc:subject>Big book</dc:subject>
		<dc:subject>Ecriture</dc:subject>

		<description>&lt;p&gt;&#034;Photo album&#034; se pr&#195;&#169;sente sous la forme d'une &#195;&#169;tag&#195;&#168;re sur laquelle sont rang&#195;&#169;s des livres consultables &#195; la tranche noire. Sur la couverture, la description d'une photo souvenir. A l'int&#195;&#169;rieur, les donn&#195;&#169;es binaires de cette m&#195;&#170;me image.&lt;/p&gt;

-
&lt;a href="http://arts-numeriques.codedrops.net/-Catalogue-virtuel-" rel="directory"&gt;Catalogue virtuel&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Generative-art-+" rel="tag"&gt;Generative art&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Installation-+" rel="tag"&gt;Installation&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Open-Source-+" rel="tag"&gt;Open Source&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Big-book,62-+" rel="tag"&gt;Big book&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Ecriture-+" rel="tag"&gt;Ecriture&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L150xH100/arton234-12916.jpg?1726838354' class='spip_logo spip_logo_right' width='150' height='100' alt=&#034;&#034; /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Tags : binaire, livre, transmodal, conceptuel&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href=&#034;http://www.codytrepte.com/photo-album/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#034;Photo album&#034;&lt;/a&gt; se pr&#233;sente sous la forme d'une &#233;tag&#232;re sur laquelle sont rang&#233;s des livres consultables &#224; la tranche noire. Sur la couverture, la description d'une photo souvenir. A l'int&#233;rieur, les donn&#233;es binaires de cette m&#234;me image.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_454 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/10_installs-30-66ce7.jpg?1743951768' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Les arts num&#233;riques exposent/invoquent souvent des processus, dont l'oeuvre pr&#233;sent&#233;e est le r&#233;sultat d&#233;ceptif. De ce point de vue, on ne peut s'emp&#234;cher de voir la une filiation avec l'art conceptuel, dont l'entreprise &#233;tait de faire cheminer le spectateur depuis la mati&#232;re morte - l'objet pr&#233;sent&#233; -, &#224; travers le proc&#233;d&#233; qui l'a g&#233;n&#233;r&#233;, vers la pens&#233;e et ses multiples connections intellectuelles et &#233;motionnelles, qui en sont l'origine.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_451 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/10_6-d6d0c.jpg?1743951768' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Les livres de la pi&#232;ce &#034;Photo album&#034;, de Cody Trepte, un jeune artiste am&#233;ricain vivant &#224; Los Angeles, sont dans cette lign&#233;e. Trepte cite d'ailleurs dans les titres de ses oeuvres Sol Lewit aussi bien que Alan Turing, comme si le pont entre la recherche sur l'intelligence artificielle et l'art conceptuel &#233;tait &#233;vidente. C'est pourtant &#224; Hanne Darboven, une des plus radicale des artistes conceptuelles, que l'on pensera avec cette pi&#232;ce, ou l'information est &#224; la fois gonfl&#233;e - de l'image vers un texte binaire - et en m&#234;me temps ramass&#233;e dans la forme du livre.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_455 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L450xH294/book-hanna-darboven-einjahrhundert-70feb.jpg?1726908211' width='450' height='294' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;br class='autobr' /&gt;
&lt;i&gt;Hanne Darboven, EinJahrhundert, 1971&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Les &#034;Photo albums&#034; ne nous permettent pas de voir sous forme iconique (analogique) la photographie. On serait tent&#233; de dire &#034;ne nous permet pas de voir l'original&#034; mais, ironiquement, les donn&#233;es binaires constitue l'original. Les photos souvenir sont d&#233;sormais r&#233;alis&#233;es avec des appareils num&#233;riques, et le tirage argentique est donc une interpr&#233;tation analogique r&#233;alis&#233;e &#224; partir d'un document num&#233;rique. C'est ce que nous jettent au visage les pages de 0 et de 1 sagement pos&#233;s avec une police &#034;monospace&#034;.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_452 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/10_4-d28ef.jpg?1743951768' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Trepte donne donc &#224; voir deux signifiants, le texte &#233;voquant sur le mode de la description humaine un contenu faisant appel &#224; notre imagination, et un texte litt&#233;ral d&#233;crivant l'image d'un point de vue digital. Les deux descriptions renvoient humains et machines dos &#224; dos. Si la description digitale est plus exacte (elle d&#233;crit l'image morceau par morceau de mani&#232;re exhaustive), elle est inutile dans le monde analogique o&#249; elle est projet&#233;e : personne ne peut lire ce livre. La description quant &#224; elle est courte, synth&#233;tique, laissant apparaitre l'&#233;criture descriptive comme un codec humain tr&#232;s puissant, une affirmation ironique de la sup&#233;riorit&#233; des hommes sur les machines par leur capacit&#233; &#224; faire sens, et agir par &#233;motion. Car d'un point de vue digital, les livres pos&#233;s sur l'&#233;tag&#232;re contiennent tous la m&#234;me chose, des donn&#233;es brutes &#233;quivalentes.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_453 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/10_5-fa96e.jpg?1743951769' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_450 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH333/10_7-d8e41.jpg?1743951769' width='500' height='333' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Voir aussi la pi&#232;ce &#034;&lt;a href=&#034;http://www.codytrepte.com/1-year-of-archived-email/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;1 Year of Archived Email&lt;/a&gt;&#034;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>PDF : 40 pages avec des lignes al&#195;&#169;atoires</title>
		<link>http://arts-numeriques.codedrops.net/PDF-40-pages-avec-des-lignes</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/PDF-40-pages-avec-des-lignes</guid>
		<dc:date>2010-10-23T22:37:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Processing</dc:subject>
		<dc:subject>Big book</dc:subject>

		<description>
&lt;p&gt;Un script complet pour g&#195;&#169;n&#195;&#169;rer un livre de 40 pages avec couverture avant et arri&#195;&#168;re. Le script lui-m&#195;&#170;me g&#195;&#169;n&#195;&#168;re des lignes avec un d&#195;&#169;placement al&#195;&#169;atoire. D&#195;&#168;s que la ligne touche le bord de la zone d&#195;&#169;finie pour le dessin, une nouvelle page est cr&#195;&#169;&#195;&#169;e et un nouveau dessin d&#195;&#169;marre. Une fois les 40 pages cr&#195;&#169;&#195;&#169;e, le script s'arr&#195;&#170;te. &lt;br class='autobr' /&gt; Le code a des variables param&#195;&#169;trables en t&#195;&#170;te du script, pour d&#195;&#169;terminer l'amplitude des lignes, le nombre de pages, les marges du dessin, (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Exemples-" rel="directory"&gt;int&#195;&#169;raction et calcul&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Processing-+" rel="tag"&gt;Processing&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Big-book,62-+" rel="tag"&gt;Big book&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Un script complet pour g&#195;&#169;n&#195;&#169;rer un livre de 40 pages avec couverture avant et arri&#195;&#168;re. Le script lui-m&#195;&#170;me g&#195;&#169;n&#195;&#168;re des lignes avec un d&#195;&#169;placement al&#195;&#169;atoire. D&#195;&#168;s que la ligne touche le bord de la zone d&#195;&#169;finie pour le dessin, une nouvelle page est cr&#195;&#169;&#195;&#169;e et un nouveau dessin d&#195;&#169;marre. Une fois les 40 pages cr&#195;&#169;&#195;&#169;e, le script s'arr&#195;&#170;te.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le code a des variables param&#195;&#169;trables en t&#195;&#170;te du script, pour d&#195;&#169;terminer l'amplitude des lignes, le nombre de pages, les marges du dessin, l'auteur du livre...&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_389 spip_documents spip_documents_center'&gt;&lt;img src='http://arts-numeriques.codedrops.net/local/cache-vignettes/L500xH548/randomlinesbook-12-9cf36.jpg?1757775066' width='500' height='548' alt=&#034;&#034; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Chaque dessin est accompagn&#195;&#169; d'une num&#195;&#169;rotation de page, du d&#195;&#169;compte du nombre de lignes et du temps d'ex&#195;&#169;cution du dessin.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//
// Livre aleatoire - octobre 2010
//
import processing.pdf.*;
PGraphicsPDF pdf; PFont myFont; // parametres du dessin, changer pour affiner
int nbpages=40; // nombre de pages
int marge=100; // marges &#195; respecter
int deplacement=8; // d&#195;&#169;placement maximum entre deux iterations
String auteur=&#034;St&#195;&#169;phane Noel&#034;; // variable du script
float posx,posy,p_posx,p_posy;
int compteur=1;
int nbsquare=0;
int startmillis=0; void setup() { size(594, 594); //String[] fontList = PFont.list(); //println(fontList); myFont = createFont(&#034;Aller-Light&#034;, 24); // police gratuite : http://www.fontsquirrel.com/fonts/Aller textFont(myFont,24); pdf = (PGraphicsPDF)beginRecord(PDF, &#034;randomlinesbook.pdf&#034;); // titre du pdf beginRecord(pdf); background(255); positionnebloc(); // nouvelle position de d&#195;&#169;part du dessin commencelivre(); // appelle la fonction qui cree la couverture fill(255); stroke(10); numerotation();
} void draw() { fill(255); line(posx,posy,p_posx,p_posy); p_posx=posx; p_posy=posy; nbsquare++; posx+=random(-deplacement,deplacement); posy+=random(-deplacement,deplacement); if(posx &gt; width-marge || posx &lt; marge || posy &gt; height-marge || posy &lt; marge) { // si la ligne sort de la zone fill(0); affichenbsquare(); afficher le nombre de lignes et le temps d'execution compteur++; fill(255); pdf.nextPage(); if(compteur &lt; nbpages) { background(255); positionnebloc(); // nouvelle position de d&#195;&#169;part du dessin nbsquare=0; numerotation(); } else { // si le nombre de page est atteint finitlivre(); // genere la couverture arriere endRecord(); exit(); // Quitte } }
} void positionnebloc() { p_posx=posx=random(width*0.45,width*0.55); p_posy=posy=random(height*0.45,width*0.55);
} void numerotation() { float ty=height-(marge/2); textFont(myFont,8); fill(0); textAlign(LEFT); text(&#034;Page &#034; + compteur,marge,ty);
} void affichenbsquare() { // calcule le temps de r&#195;&#169;alisation int duree=millis()-startmillis; float ty=height-(marge/2); textFont(myFont,8); fill(0); textAlign(RIGHT); text(duree/1000+ &#034; secondes, &#034; + nbsquare + &#034; formes&#034;,width-marge,ty); startmillis=millis();
} void commencelivre() { // cree la couverture fill(0); textAlign(CENTER); textFont(myFont,30); text(&#034;The random line book&#034;,width/2,(height/2)-30); textFont(myFont,18); text(auteur,width/2,(height/2)+30); pdf.nextPage(); pdf.nextPage(); background(255);
} void finitlivre() { pdf.nextPage(); // une page blanche fill(0); // cree une page avec la date de cr&#195;&#169;ation textAlign(LEFT); String texte=&#034;\nCe livre a &#195;&#169;t&#195;&#169; enti&#195;&#168;rement g&#195;&#169;n&#195;&#169;r&#195;&#169; par un script.\n\nChacun de ses dessins part de la zone centrale de la page, et est compos&#195;&#169; de traits d'une longueur de &#034; + (deplacement*25.1)/72 +&#034; millim&#195;&#168;tres maximum dans n'importe quelle direction, &#195; partir du trait pr&#195;&#169;c&#195;&#169;dent.&#034; +&#034; Chaque dessin s'arrete lorsque le bord de la zone de dessin est touch&#195;&#169;.\n\n&#034; +&#034;Ce livre est compos&#195;&#169; de &#034;+ nbpages +&#034; pages. Il a &#195;&#169;t&#195;&#169; g&#195;&#169;n&#195;&#169;r&#195;&#169; le &#034;+day() +&#034;/&#034;+month()+&#034;/&#034;+year()+&#034; &#195; &#034;+hour()+&#034;:&#034;+minute()+&#034;.&#034;; textFont(myFont,12); text(texte,marge,marge+12,width-(marge*2),height-(marge*2)); textFont(myFont,10); text(auteur,marge,height-(marge+12));
} void keyPressed() { // pour interrompre n'importe quand (garde-fou) affichenbsquare(); pdf.nextPage(); pdf.nextPage(); finitlivre(); endRecord(); exit(); // Quit
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://arts-numeriques.codedrops.net/IMG/pdf/randomlinesbook.pdf" length="406287" type="application/pdf" />
		
		<enclosure url="http://arts-numeriques.codedrops.net/IMG/zip/livre_random_line.zip" length="396453" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>PDF : Produire un pdf avec processing</title>
		<link>http://arts-numeriques.codedrops.net/PDF-Produire-un-pdf-avec</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/PDF-Produire-un-pdf-avec</guid>
		<dc:date>2009-09-22T21:06:31Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Processing</dc:subject>
		<dc:subject>Big book</dc:subject>

		<description>
&lt;p&gt;Processing est un logiciel ouvert, on peut lui greffer des librairies, des ensembles de fonctions qui permettent d'&#195;&#169;tendre ses possibilit&#195;&#169;s. Une de ces librairies, fournie avec processing, permet de g&#195;&#169;n&#195;&#169;rer les pdf. &lt;br class='autobr' /&gt; Comme la librairie est fournie avec Processing, on ne devra pas l'installer, juste l'inclure dans notre sketch. &lt;br class='autobr' /&gt;
Pour cela, en t&#195;&#170;te du script, avant le setup, on importe la librairie. Cette op&#195;&#169;ration invisible met &#195; disposition le code de la librairie pour le reste de (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Formation-" rel="directory"&gt;Formation&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Processing-+" rel="tag"&gt;Processing&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Big-book,62-+" rel="tag"&gt;Big book&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Processing est un logiciel ouvert, on peut lui greffer des librairies, des ensembles de fonctions qui permettent d'&#195;&#169;tendre ses possibilit&#195;&#169;s. Une de ces librairies, fournie avec processing, permet de g&#195;&#169;n&#195;&#169;rer les pdf.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Comme la librairie est fournie avec Processing, on ne devra pas l'installer, juste l'inclure dans notre sketch.&lt;/p&gt;
&lt;p&gt;Pour cela, en t&#195;&#170;te du script, avant le setup, on importe la librairie. Cette op&#195;&#169;ration invisible met &#195; disposition le code de la librairie pour le reste de votre script. On peut &#195;&#169;crire le code ci-dessous ou aller dans Sketch/import library... et s&#195;&#169;lectionner &#034;pdf&#034;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;import processing.pdf.*;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois la librairie import&#195;&#169;e, on sp&#195;&#169;cifie une taille &#195; notre animation et par la m&#195;&#170;me de l'animation. Les textes, les lignes, cercles, rectangles et m&#195;&#170;me les formes en 3d peuvent &#195;&#170;tre export&#195;&#169;es dans le pdf sous forme vectorielle, ce qui est confortable : on peut faire des poster g&#195;&#169;ants !&lt;/p&gt;
&lt;p&gt;La m&#195;&#169;thode standard consiste alors &#195; cr&#195;&#169;er un objet pdf (cr&#195;&#169;er un &#034;objet pdf&#034; vide), &#195; d&#195;&#169;marrer l'enregistrement du pdf. Ce qui est dessin&#195;&#169; &#195; l'&#195;&#169;cran est alors dessin&#195;&#169; dans le pdf. On peut durant cet enregistrement cr&#195;&#169;er de nouvelles pages. On stoppe alors l'&#195;&#169;criture du pdf. Par s&#195;&#169;curit&#195;&#169;, on sort enfin du programme avec la fonction exit() ;&lt;/p&gt;
&lt;p&gt;Le tout donne &#195;&#167;a :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;// un script simple pour produire un pdf de plusieurs pages import processing.pdf.*; PGraphicsPDF pdf; // cr&#195;&#169;er un objet pdf vide void setup(){ size(594, 842); pdf = (PGraphicsPDF)beginRecord(PDF, &#034;coolpdf.pdf&#034;); // on d&#195;&#169;marre l'&#195;&#169;criture background(255); } void draw(){ float taille=random(60); ellipse(mouseX, mouseY, taille, taille); // dessiner des cercles de taille al&#195;&#169;toire &#195; l'endroit de la souris
} void keyPressed() { switch (key) { case ' ': // barre d'espace : page suivante pdf.nextPage(); // creer une nouvelle page background(255); break; case 'x': // x : pdf termin&#195;&#169; endRecord(); exit(); // Quitter pour &#195;&#170;tre sur que tout est ok break; }
}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Le code ci-dessus permet de cr&#195;&#169;er diff&#195;&#169;rentes pages en appuyant sur la barre d'espace, et de stopper l'enregistrement avec la touche &#034;x&#034;. Tant qu'on le laisse tourner, les cercle s'entassent dans la m&#195;&#170;me page.&lt;/p&gt;
&lt;p&gt;On peut mettre en pause un enregistrement, ou &#195;&#169;crire un pdf sans afficher son contenu dans l'animation, pour en savoir plus, consulter la documentation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://processing.org/reference/libraries/pdf/index.html&#034;&gt;La page de reference sur le site Processing&lt;/a&gt; (la m&#195;&#170;me se trouve dans l'aide du logiciel).&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>G&#195;&#169;n&#195;&#169;rer un pdf avec FPDF</title>
		<link>http://arts-numeriques.codedrops.net/Plus-generer-un-pdf-avec-FPDF</link>
		<guid isPermaLink="true">http://arts-numeriques.codedrops.net/Plus-generer-un-pdf-avec-FPDF</guid>
		<dc:date>2008-12-11T00:22:02Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>St&#233;phane Noel</dc:creator>


		<dc:subject>Php</dc:subject>
		<dc:subject>Open Source</dc:subject>
		<dc:subject>Big book</dc:subject>

		<description>
&lt;p&gt;Fpdf est une classe qui permet de g&#195;&#169;n&#195;&#169;rer des pdf sans librairie additionnelle. La documentation est en fran&#195;&#167;ais pour une fois alors profitons-en. &lt;br class='autobr' /&gt; Fpdf est une classe assez puissante qui permet de cr&#195;&#169;er des pdf, d'y incorporer du texte, des images, ainsi que des &#195;&#169;l&#195;&#169;ments de types lignes, cercles, etc. Quelques contributions permettent d'&#195;&#169;tendre ses fonctionnalit&#195;&#169;s, pour faire des doubles pages notamment. &lt;br class='autobr' /&gt;
Ici le script que nous allons faire va g&#195;&#169;n&#195;&#169;rer un pdf de jaquette dvd, (&#8230;)&lt;/p&gt;


-
&lt;a href="http://arts-numeriques.codedrops.net/-Exemples-67-" rel="directory"&gt;Exemples&lt;/a&gt;

/ 
&lt;a href="http://arts-numeriques.codedrops.net/+-Php-+" rel="tag"&gt;Php&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Open-Source-+" rel="tag"&gt;Open Source&lt;/a&gt;, 
&lt;a href="http://arts-numeriques.codedrops.net/+-Big-book,62-+" rel="tag"&gt;Big book&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Fpdf est une classe qui permet de g&#195;&#169;n&#195;&#169;rer des pdf sans librairie additionnelle. La documentation est en fran&#195;&#167;ais pour une fois alors profitons-en.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Fpdf est une classe assez puissante qui permet de cr&#195;&#169;er des pdf, d'y incorporer du texte, des images, ainsi que des &#195;&#169;l&#195;&#169;ments de types lignes, cercles, etc. Quelques contributions permettent d'&#195;&#169;tendre ses fonctionnalit&#195;&#169;s, pour faire des doubles pages notamment.&lt;/p&gt;
&lt;p&gt;Ici le script que nous allons faire va g&#195;&#169;n&#195;&#169;rer un pdf de jaquette dvd, avec une tranche, une image d'illustration, un titre, un texte de pr&#195;&#169;sentation, etc.&lt;/p&gt;
&lt;p&gt;Le script complet est fourni en bas de cette page, il est comment&#195;&#169;. N'oubliez pas d'aller voir pour plus d'information &lt;a href=&#034;http://www.fpdf.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la partie &#034;manuel&#034; du site de fpdf&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le script envoie directement le pdf vers le navigateur, ce qui signifie qu'aucun fichier n'est cr&#195;&#169;&#195;&#169; sur le serveur. Sauver le document sur le serveur est &#195;&#169;videmment possible.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;&lt;?php // on va faire une pochette de dvd, avec la tranche et tout require('fpdf.php'); // creer le pdf en mode portrait, unites en mm, de 270 sur 180 mm $pdf=new FPDF('P','mm',array(270,180)); $pdf-&gt;SetAutoPageBreak(0); // importer la police sf_old_republic $pdf-&gt;AddFont('sf_old_republic','','92d32b2fabae934a986869823839779b_sf_old_republic.php'); // cree une page dans le document, sinon vide $pdf-&gt;AddPage(); // couleur de remplissage : noir $pdf-&gt;SetFillColor(0,0,0); // on cr&#195;&#169;e la tranche avec un rectangle noir $pdf-&gt;Rect(127.5, 0, 15, 180, &#034;F&#034;); // importation de l'image en couverture en for&#195;&#167;ant la taille $pdf-&gt;Image('Will_code_HTML_for_food.jpg',142.5,45,127.5,170); // definir la police : sf_old_republic en 45 points // placement du pointeur et ecriture du titre $pdf-&gt;SetFont('sf_old_republic','',45); $pdf-&gt;SetXY(150,8); $pdf-&gt;MultiCell(100,15,'Will code PHP for food',0,&#034;L&#034;); // importation de l'image en couverture arriere $pdf-&gt;Image('Will_code_HTML_for_food.jpg',10,10,50,70); // descriptif // placer le pointeur pour le texte // definir le texte // ecrire le titre et texte avec multicell $pdf-&gt;SetXY(30,90); $pdf-&gt;SetFont('Arial','B',12); $pdf-&gt;MultiCell(100,5,'Will code PHP for food',0,&#034;L&#034;); $pdf-&gt;SetX(30); $pdf-&gt;SetFont('Arial','',9); $texte=&#034;Un film inoubliable, avec de vrais tramps et de vraies page en html 4, du php, du javascript, et du d&#195;&#169;buggage pour compatibilit&#195;&#169; avec les principaux navigateurs.\nLe sous-prol&#195;&#169;tariat gagne ce qui &#195;&#169;tait encore recemment des metiers &#195; haut potentiel, que fait la profession ? Elle brade son savoir faire. \n\n'Epatant', nous dit le magasine Premiere.&#034;; $pdf-&gt;MultiCell(80,4,utf8_decode($texte)); // placer le copyright $pdf-&gt;SetXY(10,-10); $pdf-&gt;SetFont('Arial','I',8); $texte=&#034;Copyright Workplace testing crew&#034;; $pdf-&gt;Cell(120,2,$texte); // le titre sur la tranche // couleur : blanc $pdf-&gt;SetTextColor(255,255,255); $pdf-&gt;SetXY(129.5,17); $pdf-&gt;SetFont('Arial','B',18); // moche bidouille : placer des retour chariot pour la tranche $texte=&#034;W\ni\nl\nl\n\nc\no\nd\ne\n\nP\nH\nP\n\nf\no\nr\n\nf\no\no\nd&#034;; $pdf-&gt;MultiCell(10,7,strtoupper($texte),0,&#034;C&#034;); // sortir le pdf vers le navigateur $pdf-&gt;Output(); ?&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Plus : le texte &#195; angle droit&lt;/h2&gt;
&lt;p&gt;La tranche utilise un texte mis &#195; la ligne &#195; chaque lettre. On pourrait cette partie plus &#195;&#169;l&#195;&#169;gante en op&#195;&#169;rant une rotation sur le bloc texte, ce qui est possible moyennant l'int&#195;&#169;gration d'un fonction suppl&#195;&#169;mentaire &lt;a href=&#034;http://beerbytes.blogspot.com/2007/07/pdf-trials.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;disponible ici&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;G&#195;&#169;n&#195;&#169;rer des fichiers de police utilisables avec Fpdf&lt;/h2&gt;
&lt;p&gt;Pour utiliser des polices diff&#195;&#169;rentes que les polices de base, il faut les transformer et les d&#195;&#169;poser dans le dossier contenant la classe. Un peu compliqu&#195;&#169;, mais une page de traitement a &#195;&#169;t&#195;&#169; mise &#195; disposition pour faciliter le travail de conversion &#195; partir d'une police ttf :&lt;br class='manualbr' /&gt;&lt;a href=&#034;http://fpdf.fruit-lab.de/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;G&#195;&#169;n&#195;&#169;rer les fichiers .php et .afm &#195; partir d'un fichier .ttf&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://arts-numeriques.codedrops.net/IMG/pdf/doc-1.pdf" length="66323" type="application/pdf" />
		
		<enclosure url="http://arts-numeriques.codedrops.net/IMG/zip/generer_pdf.zip" length="141556" type="application/zip" />
		

	</item>



</channel>

</rss>
