Bonjour,
j'ai ce code qui me permet d'ouvrir un document Word, de modifier des champs dans celui-ci par des variables récupérées dans une base de données, d'enregistrer le document, et ensuite grace à un header de l'affiché sur le client
$type = $_POST['type']; // on récupére le type du contrat type
$filename = "$path_contrat_type/$type"; // Adresse du contrat
// pas de limite de temps
set_time_limit(0);
// Pas de paramétres requis
$empty = new VARIANT();
// Chargement de la librairie
com_load_typelib('Word.Application');
// Création de l'object
$word = new COM('word.application') or die('Word n\'est pas installé');
echo "Veuillez patientez... Chargement de Word\n";
$word->Visible = 0;
// Ouvre le document
$word->Documents->Open($filename);
// Remplacement des variables
$word->Selection->GoTo(wdGoToBookmark,$empty,$empty,'SNCF_ENT_ETAB');
$word->Selection->TypeText($nom);
$word->Selection->GoTo(wdGoToBookmark,$empty,$empty,'SNCF_ENT_TELFAX');
$word->Selection->TypeText($tel_fax);
... // etc..
$output_devis = "$path_contrat/$num_devis.doc"; // Fichier doc temporaire
$word->Documents[1]->SaveAs($output_devis);
$word->Documents[1]->Close(); // Fermer et liberer la mémoire
$word->Documents->Close();
$word->Quit($empty,$empty,$empty);
$word->Release();
$word = null;
unset($word);
Tout marche niquel, mais le processur WinWord continu de tourner sur le serveur, et à chaque lancement, un processus WinWord suplémentaire est crée, et n'est pas fermé
On m'as dit d'enlever com_load_typelib('Word.Application'); mais si j'enléve cette ligne, les champs ne sont remplacés et les variables sont toutes ajoutées audébut du document Word!!
Help please
Message édité par LouyZ le 06-04-2006 à 15:31:30