Générer un document word en php
neru59
-
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je créé actuellement une application web pour mon entreprise qui consistera à ce que les utilisateurs (les salariés) puissent obtenir un document word qu'ils pourront faxer ou envoyer par mail dans le but de passer une commande aux fournisseurs.
les infos sont stockées en SQL, le site est en PHP.
les utilisateurs font les choix adéquats, PHP mémorise les variables, un template est utilsé (doc converti en htm), ses variables remplacées et le document généré.
voici le code utilisé :
// récupération des variables
$destinataire = $_GET['destinataire'];
$number = $_GET['number'];
$namefact = $_GET['namefact'];
$di = $_GET['di'];
$type = $_GET['type'];
$description = $_GET['description'];
// capture du fichier template.htm
$content=file_get_contents('template.htm');
//remplacement des variables du template
$content=str_replace('$destinataire',$destinataire,$content);
$content=str_replace('$number',$number,$content);
$content=str_replace('$namefact',$namefact,$content);
$content=str_replace('$di',$di,$content);
$content=str_replace('$type',$type,$content);
$content=str_replace('$description',$description,$content);
// création du fichier doc
$filename="fax.doc";
touch($filename);
if (is_writable($filename)) {
$handle = fopen($filename, 'w');
fwrite($handle, $content);
echo "<a href='$filename'>Télecharger le fichier</a>";
fclose($handle);
} else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
Le problème se situe sur la partie de création du fichier.
celui ci est créé à la racine du site puis on le télécharge (ou bout de 2 essais, les variables ne se remplacent plus dans le fichier). ce n'est pas une bonne solution car il y a plusieurs utilsateurs et les données des documents générés vont se mélanger au bout d'un moment.
L'idéal serait que le document soit créé sur l'ordinateur coté client ou bien pas forcément créé mais simplement ouvert et en attente d'enregistrement par l'utilisateur.
Es ce possible?
J'attends vos réponses avec impatiente car cela fait un moment que je seche.
Merci d'avance.
Je créé actuellement une application web pour mon entreprise qui consistera à ce que les utilisateurs (les salariés) puissent obtenir un document word qu'ils pourront faxer ou envoyer par mail dans le but de passer une commande aux fournisseurs.
les infos sont stockées en SQL, le site est en PHP.
les utilisateurs font les choix adéquats, PHP mémorise les variables, un template est utilsé (doc converti en htm), ses variables remplacées et le document généré.
voici le code utilisé :
// récupération des variables
$destinataire = $_GET['destinataire'];
$number = $_GET['number'];
$namefact = $_GET['namefact'];
$di = $_GET['di'];
$type = $_GET['type'];
$description = $_GET['description'];
// capture du fichier template.htm
$content=file_get_contents('template.htm');
//remplacement des variables du template
$content=str_replace('$destinataire',$destinataire,$content);
$content=str_replace('$number',$number,$content);
$content=str_replace('$namefact',$namefact,$content);
$content=str_replace('$di',$di,$content);
$content=str_replace('$type',$type,$content);
$content=str_replace('$description',$description,$content);
// création du fichier doc
$filename="fax.doc";
touch($filename);
if (is_writable($filename)) {
$handle = fopen($filename, 'w');
fwrite($handle, $content);
echo "<a href='$filename'>Télecharger le fichier</a>";
fclose($handle);
} else {
echo "Le fichier $filename n'est pas accessible en écriture.";
}
Le problème se situe sur la partie de création du fichier.
celui ci est créé à la racine du site puis on le télécharge (ou bout de 2 essais, les variables ne se remplacent plus dans le fichier). ce n'est pas une bonne solution car il y a plusieurs utilsateurs et les données des documents générés vont se mélanger au bout d'un moment.
L'idéal serait que le document soit créé sur l'ordinateur coté client ou bien pas forcément créé mais simplement ouvert et en attente d'enregistrement par l'utilisateur.
Es ce possible?
J'attends vos réponses avec impatiente car cela fait un moment que je seche.
Merci d'avance.
A voir également:
- Générer un document word en php
- Word 2013 - Télécharger - Traitement de texte
- Signer un document word - Guide
- Tableau word - Guide
- Comment reduire la taille d'un document - Guide
- Comment supprimer une page dans un document word - Guide
3 réponses
ce n'est pas sur que tu puisse générer un document word comme ca mais par contre tu peux générer un document pdf facilement (https://jc-cornic.developpez.com/tutoriels/php/pdf/index.php
Merci beaucoup pour l'info, ça me parait judicieux, j'ai éssayé et ça marche.
seule question : est il possible d'utiliser un template pdf? car il faudrait que d'éventuels futurs admins puissent modifier les documents sans s'y connaitre en php?
seule question : est il possible d'utiliser un template pdf? car il faudrait que d'éventuels futurs admins puissent modifier les documents sans s'y connaitre en php?
tu peux modifier les pdf avec acrobat reader (pour ca il y a juste a chercher dans les options, normalement ca ne devrai pas poser de probleme