2010-11-11 22 views
13

Conoscete un modo per generare file doc e con PHP e senza componente COM? Ho provato PHPWord, che crea file docx, ma questi non possono essere aperti in OpenOffice perché causano un arresto anomalo. Ho anche provato PHPDocx, ma non ha generato alcun file.Generazione di documenti word con PHP

+0

* (correlato) * [Crea documento di Word utilizzando PHP in Linux] (http://stackoverflow.com/questions/124959/create-word-document-using-php-in-linux) – Gordon

+2

Inoltre non dare su PHPDocx. Sembra un pacchetto decente –

+1

Non rinunciare nemmeno a PHPWord ... c'è molto lavoro da fare. Non tutte le versioni di OO sono in grado di leggere i file docx, sei sicuro che sia il tuo? –

risposta

9

vedere qui:

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

Per citare l'articolo il metodo più comune:

Utilizzando intestazioni HTTP

In questo metodo è necessario formattare il codice HTML/PHP pagina usando CSS per le parole e aggiungi informazioni di intestazione al tuo script PHP. Rendi sicuro che non usi fogli di stile esterni poiché tutto dovrebbe essere nello stesso file .

Di conseguenza all'utente verrà richiesto di scaricare un file. Questo file sarà non essere documento Word "originale" al 100%, ma sicuramente verrà aperto nell'applicazione Word MS . È possibile utilizzare questo metodo sia per ambienti Unix che 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

Questa è spazzatura. Non copiarlo e incollarlo ulteriormente. L'invio di intestazioni HTTP false insieme a un output HTML non ** lo rende un documento Word. Potrebbe aver ingannato i browser nel passarlo a Word, che lo converte implicitamente. Le versioni più recenti sollevano almeno un avviso. E qualsiasi firewall di business class è in grado di bloccare questi workaround grezzi. – mario

+0

@mario - nota che ha circa quattro anni e fa parte della risposta sul link duplicato che hai contrassegnato. Sono d'accordo con alcune delle tue sinossi, tuttavia nota che 'garbage' è probabilmente un'iperbole. – SW4

+0

Ci scusiamo per la forte formulazione, btw. Ma questo stesso esempio di codice si stava inserendo in domande newbie disinformate. Ho appena chiuso l'argomento e lo ho chiarito nel duplicato principale. – mario

5

OpenTBS in grado di generare i documenti DOCX in puro PHP, utilizzando la tecnica dei modelli.

Semplice.

Problemi correlati