2010-11-11 34 views
13

¿Conoces alguna forma de generar archivos doc y docx con PHP y sin componente COM? Intenté PHPWord, que crea archivos docx, pero no se pueden abrir en OpenOffice porque hacen que se bloquee. También probé PHPDocx, pero no generó ningún archivo.Generando documentos de Word con PHP

+0

* (relacionado) * [Crear documento de Word usando PHP en Linux] (http://stackoverflow.com/questions/124959/create-word-document-using-php-in-linux) – Gordon

+2

También no dar en PHPDocx. Parece un paquete decente –

+1

No te rindas en PHPWord tampoco ... hay mucho trabajo en ello. No todas las versiones de OO pueden leer archivos docx tampoco, ¿estás seguro de que el tuyo sí? –

Respuesta

9

Ver aquí:

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

citar el artículo, el método más común:

El uso de encabezados HTTP

En este método es necesario formatear el HTML/PHP página usando Palabra amigable CSS y agregue información de encabezado a su script PHP. Asegúrese de que no use hojas de estilo externas, ya que todo debería estar en el mismo archivo .

Como resultado, se le pedirá al usuario que descargue un archivo. Este archivo será no será 100% "original" documento de Word, pero sin duda se abrirá en MS Aplicación de Word. Puede usar este método para entornos Unix y 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

Esto es basura. No copie y pegue eso más allá. El envío de encabezados HTTP falsos junto con algún resultado HTML ** ** hace que sea un documento de Word. Puede haber engañado a los navegadores para que lo pasen a Word, lo que implícitamente lo convierte. Las versiones más nuevas al menos generarán una advertencia. Y cualquier firewall de clase empresarial es probable que bloquee tales soluciones crudas. – mario

+0

@mario - tenga en cuenta que tiene unos cuatro años y también forma parte de la respuesta en el enlace duplicado que ha marcado. Estoy de acuerdo con algunos de sus sinopsis, sin embargo, tenga en cuenta que 'basura' es probablemente hipérbole. – SW4

+0

Perdón por la redacción fuerte, por cierto. Pero esta misma muestra de código estaba alimentando preguntas de novatos mal informadas. Solo cerré el tema y lo aclaré en el duplicado principal. – mario

5

OpenTBS puede generar documentos Docx en PHP puro, utilizando la técnica de plantillas.

Simple.

Cuestiones relacionadas