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
risposta
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>";
?>
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
@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
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
OpenTBS in grado di generare i documenti DOCX in puro PHP, utilizzando la tecnica dei modelli.
Semplice.
documenti word Generazione con JS:
ho creato una libreria semplice open-source che andrà a sostituire i tag dai valori.
Ad esempio Hi {name}
con data={name:"John"}
verrà sostituito da Hi John
.
Eccolo: https://github.com/edi9999/docxtemplater
Demo: http://javascript-ninja.fr/docxgenjs/examples/demo.html
Come ho già detto qui PHP Convert Word file to HTML without losing styling and images,
La soluzione migliore che ho trovato finora è http://www.phplivedocx.org/. Lo usi con il framework Zend. Molto facile da configurare e si ottiene una deviazione minima dal formato word effettivo. Genera e converte molto bene i documenti di parole da/verso html (tra gli altri formati).
* (correlato) * [Crea documento di Word utilizzando PHP in Linux] (http://stackoverflow.com/questions/124959/create-word-document-using-php-in-linux) – Gordon
Inoltre non dare su PHPDocx. Sembra un pacchetto decente –
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? –