Llega tu cliente y no quiere que le generes un PDF, sino un archivo DOC para abrirlo cómodamente con su Word o herramienta similar. ¿Cómo se hace eso? Muy fácil, este código os genera un archivo con texto dentro y lo descarga a tu equipo.

<?php
header(“Content-type: application/vnd.ms-word”);
header(“Content-Disposition: attachment;Filename=documento.doc”);

echo “<html>”;
echo “<meta http-equiv=\”Content-Type\” content=\”text/html; charset=Windows-1252\”>”;
echo “<body>”;
echo “<b>Mi primer documento</b><br />”;
echo “Aqu&iacute; va todo el testo que querais, en formato HTML</body>”;
echo “</html>”;
?>

 

** El conjunto de caracteres o charset puede ser también UTF-8, si esa es nuestra codificación en la web, claro

Comparte!
Share

17 comments

  1. Roberto Ovalle

    Funciona muy bien, pero tengo una duda, estoy haciendo una carta tipo y necesito forzar un salto de página, ¿se puede hacer?

    1. Buena pregunta. En principio sería muy difícil calcular el salto, a no ser que siempre se usara la misma impresora, y el mismo texto exáctamente, lo que nos permitiría calcular el salto más fácilmente, ya que podríamos hacer algunas pruebas y contar las líneas a insertar para hacer el salto.

      Otra solución podría consistir en generar varios documentos .doc para la carta.

      Espero que esto te sirva.

      1. José Luis

        Buenas,

        Intenta poner un chr(12) = Salto de línia (FF) en código ASCII que lo interpreta a la perfección.

        ­Un saludo

  2. Como Hago para escribir en el Encabezado del documento de Word y también en el pie de Pagina, aunque me es mas Urgente lo del encabezado para poder meter ahí la imagen del membrete de la hoja, Agradezco su colaboración.

    1. Dado que se puede definir estilos, yo probaría a utilizar un “style=’text-align: justify;'” en la etiqueta o incluso en el body.

  3. tengo una tabla y necesito k la misma se repita varias veces, es decir una por cada pagina con diferendes datos, como puedo hacerlo.

    1. Como ya comenté a Roberto Ovalle, habría que calcular las líneas que entran en una página e ir contándolas para hacer el salto de línea al cabo de esas líneas. Date cuenta que lo que construyes es una página HTML, con lo que tienes que controlar tú el salto de página.

  4. hola gente, que tal, muy bueno y funciono espectacular
    podrian decirme como hago para apaisar o, que es lo mismo, poner en horizontal la pagina
    gracias y saludos

    1. No Ángel, este artículo es para crear un .doc, porque el formato que tú dices, el .docx es distinto y no se explica en este artículo cómo se genera. El .docx se basa en Open XML, nada que ver con .doc

  5. Wilfer Daniel Ciro Maya

    Se pueden definir los estilos css perfectamente? necesito el tamaño de mi imágen, que se reduzca, gracias

    1. Si el CSS lo embebes dentro del HTML, sí, se puede. Yo probaría antes con el height y width de la propia etiqueta . Espero que te sirva la solución.

Escriba el dato que falta en el captcha, es para saber si es un humano * Time limit is exhausted. Please reload CAPTCHA.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">