2010-11-11 64 views
13

Connaissez-vous un moyen de générer des fichiers doc et docx avec PHP et sans composant COM? J'ai essayé PHPWord, qui crée des fichiers docx, mais ceux-ci ne peuvent pas être ouverts dans OpenOffice car ils provoquent le blocage. J'ai également essayé PHPDocx, mais il n'a pas généré de fichiers du tout.Génération de documents Word avec PHP

+0

* (lié) * [Créer un document Word en utilisant PHP sous Linux] (http://stackoverflow.com/questions/124959/create-word-document-using-php-in-linux) – Gordon

+2

Ne donnez pas non plus sur PHPDocx. Il ressemble à un paquet décent –

+1

N'abandonnez pas PHPWord non plus ... il y a beaucoup de travail à faire. Toutes les versions d'OO ne peuvent pas non plus lire les fichiers docx, êtes-vous sûr que c'est le cas? –

Répondre

9

Voir ici:

http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php

Voici un extrait de l'article de la méthode la plus courante:

En utilisant en-têtes HTTP

Dans cette méthode, vous devez formater le HTML/PHP page utilisant CSS Word-friendly et ajouter des informations d'en-tête à votre script PHP. Faites Assurez-vous que vous n'utilisez pas de feuilles de style externes puisque tout devrait être dans le même fichier. En conséquence, l'utilisateur sera invité à télécharger un fichier. Ce fichier sera ne pas être 100% "original" du document Word, mais il va certainement ouvrir dans MS Word application. Vous pouvez utiliser cette méthode à la fois pour les environnements Unix et Windows .

<?php 
    header("Content-type: application/vnd.ms-word"); 
    header("Content-Disposition: attachment;Filename=document_name.doc");  
    echo "<html>"; 
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">"; 
    echo "<body>"; 
    echo "<b>My first document</b>"; 
    echo "</body>"; 
    echo "</html>"; 
?> 
+8

Ceci est une poubelle. Ne copiez pas et ne collez pas cela plus loin. L'envoi de fausses en-têtes HTTP avec une sortie HTML ne fait pas ** ** un document Word. Il a peut-être trompé les navigateurs en les transmettant à Word, qui le convertit implicitement. Les nouvelles versions vont au moins déclencher un avertissement. Et tout pare-feu de classe affaires est susceptible de bloquer ces solutions de contournement brut. – mario

+0

@mario - notez qu'il s'agit de quelque quatre ans, et que vous faites aussi partie de la réponse sur le lien dupliqué que vous avez marqué. Je suis d'accord avec certains de vos synopsis, cependant notez que 'garbage' est hyperbole probable. – SW4

+0

Désolé pour le texte clair, btw. Mais cet échantillon de code alimentait des questions de débutants mal informés. Juste fermé le sujet, et clarifié dans le duplicata principal à la place. – mario

5

OpenTBS peut générer des documents docx en PHP pur, en utilisant la technique des modèles.

Simple.