Script Zine, webmaster help in English and Dutch
TUTORIALS SCRIPTS FORUM CONTACT
Tutorial pages:« 1 »
wmikke
MS Word document maken - Posted on: 21-01-2005 at 17:03

Admin

Zou het niet leuk zijn als je de tekst die op je website staat in een Microsoft Word document kunt zetten en als download kunnen aanbieden? Leuk of niet, ik ga jullie vertellen hoe je dat moet doen.

In dit artikel leer je hoe je:
- Word laat starten
- Een leeg document openen
- Een bericht typen
- Het bestand opslaan
- Word sluiten

We gaan natuurlijk beginnen met het starten van MS Word.

Code
1
2
3
<?
$Ms_Word = new COM("word.application");
?>




Met COM kan je PHP script met programma's communiceren.
Omdat com.allow_dcom vereist is in de PHP configuratie kan het zijn dat dit niet op iedere server werkt. Maar het is op de meeste servers wel geinstalleerd geloof ik. Maar mocht het niet geinstalleerd zijn dan moeten we zorgen dat het script stopt met werken.

Code
1
2
3
<?
$Ms_Word = new COM("word.application") or die("Word kon niet gestart worden.");
?>




Vervolgens moeten we MS Word naar de voorgrond brengen, dit gebeurd trouwens alleen op de server zelf.

Code
1
2
3
4
<? 
    
// bij 0 is Word onzichtbaar, bij 1 is Word op de voorgrond. 
    
$Ms_Word->Visible 0
?>




Nu moeten we nog een nieuw document openen:
Code
1
2
3
<? 
    
$Ms_Word->Documents->Add(); 
?>




Als je dit script gaat uitvoeren krijg je een leeg Microsoft Word document op de achtergrond. Maar daar moet natuurlijk wat tekst in anders heeft het niet veel zin. Daarvoor moet je gebruiken; Selection->TypeText();

Code
1
2
3
4
<? 
    
$inhoud "Dit komt in het Word document te staan"
    
$Ms_Word->Selection->TypeText($inhoud); 
?>




Nu moet het document opslaan. We gaan hem trouwens opslaan op de webserver. Dat doe je met $DOCUMENT_ROOT.
Het bestand wordt dus opgeslagen in de hoofdroot.

Code
1
2
3
<? 
    
$Ms_Word->Documents[1]->SaveAs("$DOCUMENT_ROOT/bestand.doc"); 
?>




Het bestand is opgeslagen en nu kunnen we Word dus sluiten.

Code
1
2
3
4
<? 
    
$Ms_Word->Quit(); 
    
$word null
?>




De complete code:
Code
1
2
3
4
5
6
7
8
9
10
<?
$Ms_Word = new COM("word.application") or die("Word kon niet gestart worden.");
$Ms_Word->Visible 0;
$Ms_Word->Documents->add();
$inhoud "Dit komt in het Word document te staan";
$Ms_Word->Selection->TypeText($inhoud);
$Ms_Word->Documents[1]->SaveAs("$DOCUMENT_ROOT/bestand.doc");
$MS_Word->Quit();
$word null;
?>




Nu staat het bestand.doc dus in je hoofdroot, nu moeten we het nog laten zien.

Code
1
2
3
4
5
6
7
8
9
10
<?
header("Content-type: application/msword"); 
header("Content-Disposition: attachment; filename=document.doc"); 
header("Content-Description: PHP Generated Data"); 

 
$bestand fopen ("$DOCUMENT_ROOT/bestand.doc""r"); 
    
$inhoud fread ($fpfilesize("$DOCUMENT_ROOT/bestand.doc")); 
    echo 
$inhoud

?>




Dat was het, we hebben nu een simpel MS Word document gemaakt met behulp van PHP.

Succes,
wmikke
Tutorial pages:« 1 »

Printable version

 
 

© Script Zine 2003-2008 - Script Zine Design - Hosting by: Mihosnet
Recommend: IE 6