Bonjour,
je suis actuellement en création d'un outil pour générer un document au format .doc, personnalisé en fonction de données issues d'une BDD.

Mon code est le suivant, trouvé sur un tuto, très bien expliqué:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
// Chargement de la librairie 
com_load_typelib('Word.Application'); 
//$word= new COM;
$word = new COM("word.application") or die("Can't start Word !"); 
 
 
// afficher la version de Word en cours d'utilisation
echo "Loading Word, v. {$word->Version}
";
 
// définir la visibilité de l'application sur 0 (faux) 
// pour ouvrir l'application au premier plan, utiliser 1 (vrai) 
$word->Visible = 0; 
 
// créer un nouveau document dans Word
$word->Documents->Add();
 
// ajouter du texte au nouveau document
$word->Selection->TypeText("Testing 1-2-3...");
 
// enregistrer le document dans le dossier temp de Windows
$word->Documents[1]->SaveAs("C:/wamp/www/comtest.doc");
 
// fermer la connexion au composant COM
$word->Quit();
 
// afficher un autre message à l'écran
echo "Check for the file..."; 
?>
De premier abord, il semble correct, et pourtant, je reçois un message d'erreur dès son exécution:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': CoInitialize n'a pas été appelé. ' in C:\wamp\www\test.php:5 Stack trace: #0 C:\wamp\www\test.php(5): com->com('word.applicatio...') #1 {main} thrown in C:\wamp\www\test.php on line 5
Il renvoie donc bien une erreur sur la création de l'objet DOM.

Je précise également, que j'ai auparavant eu plusieurs problèmes, qui devaient correspondre aux droits et permissions d'utilisateurs.
J'ai beau chercher les références de la fonction CoInitialize(), impossible d'avoir une réponse au problème. Et pire encore, je n'ai pas trouvé de personnes dans le même cas que moi.

Bref, si vous avez un avis sur la chose, je suis toute ouïe.

Pascal