maniweb
Messages postés3Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention11 décembre 2004
-
9 déc. 2004 à 15:53
maniweb
Messages postés3Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention11 décembre 2004
-
11 déc. 2004 à 19:29
Bonjour,
je souhaite ecrire un script qui enregistre toutes les images d'un fichier wordml dans un dossier séparé.
Les caracteristiques d'une image dans un fichier wordml se trouvent entre les balises <w:binData> et </w:binData> mais je ne sais comment m'en servir
si vous avez une petite idée je suis preneur
merci pour votre aide
a+ mani
maniweb
Messages postés3Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention11 décembre 2004 11 déc. 2004 à 19:29
Bon j'ai trouvé la soultion en faite c'était pas trés compliqué l'image est en faite encode en base 64 entre les balises <w:binData w:name="wordml://03000001.png">iVBORw0KGgoAAAA...
</w:binData>
il suffit donc de recuper le contenu textuel de la balise
puis d'utiliser la fonction base64_decode de php
elnawak
Messages postés27Date d'inscriptionmercredi 3 septembre 2003StatutMembreDernière intervention21 février 2005 9 déc. 2004 à 19:22
salut maniweb
j'ai peut etre une idée qui pourrai te convenir , si le wordml est bien du xml (il me semble) ... sinon je sais pas . Si il s'agit d'un fichier respectant les normes xml tu peux utiliser l'objet DOM de php5 (pourvPHP4 dsl mais je serai pas capable de t'aider). en utilisant un getElementsByTagName("element_XML") tu devrai facilement recuperer le chemin de ton image et a partir de la tu peux facilement en faire ce qu tu veux.
tu devrais trouver des sources php4 et 5 sur ce site qui devrais bien t'aider.
si tu fais du php5 je peux te donner plus de detail sur le DOM .
maniweb
Messages postés3Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention11 décembre 2004 10 déc. 2004 à 11:20
Salut, merci d'avoir répondu
J'utilise bien php5 et la librairie dom xml pour lire les fichiers wordml et editer mes propres fichiers xml
J'arrive parfaitement a recuperer l'element le probleme c'est que je ne sais pas quoi en faire
Tu dois avoir raison en disant
Voici le bout de code xml d'un fichier wordml tu a peut etre une idée de comment faire
function getImage ($xml) {
$params = $forums->documentElement->getElementsByTagName('binData ');
foreach ($params as $param) {
if ($param->hasChildNodes()) {
$param->firstChild->nodeValue ;
$param->getAttribute("name") // tu recupere le nom mais tu dois virer le "wordml://" (avec substring par ex)
}
}
}
De la, avec le nom tu fais un copy() vers le dossier que tu veux, par contre,si tu supprime les images du dossier d'origine , tu risque de devoir changer le chemin de certains attributs de ton fichier, avec getAttribute("attribut")=...;
j'ai pas teste le code mais ca devrai etre ca , enfin si tu veux je peux t'aider a faire un code plus precis mais il faudrai un fichier wordml complet ou du moins avec les déclarations des namespaces de l'element pict.