• Miércoles 19 de Enero de 2022, 11:44

Autor Tema:  generar .doc desde php  (Leído 6771 veces)

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
generar .doc desde php
« en: Viernes 2 de Abril de 2010, 08:09 »
0
HOLA Gente saludos a todos

buscando en internet sobre como generar un .doc con php logre hacer este de prueba

<?php
if (isset($_POST['cargar']))
{
header('Content-type: application/msword');
header('Content-Disposition: inline; filename=word.rtf');

$doc = "{\rtf1";
$doc.= "{\fs50 Nombre de la persona}";
$doc.= "\par ";
$doc.= "Nombre: ".$_POST['nom'];
$doc.= "\par ";
$doc.= "Apellido: ".$_POST['ape'];
$doc.= "}";
echo $doc;
exit;
} // cierra if
?>
<html>
<head>
<title>word desde php</title>
</head>

<body>
<form action="word.php" method="post">
Nombre: <input type="text" name="nom"> <br>
Apellido: <input type="text" name="ape"> <br>
<input type="submit" name="cargar" value="generar">
</form>
</body>

</html>

es muy basico no tiene nada interesante pero efectivamente crea el .rtf
Ahora al generar este .rtf tengo una pregunta ya que por ejemplo para hacer un enter se pone:
\par
para tamaño de letra:
\fs
alinear a la derecha;
\qr

etc...la pregunta que me gustaria hacerles es hay algun diccionario para saber que poner para cada atributo o accion con el texto? ya sea negrita, subrayado, cursiva, fuentes, etc. hay algo de donde mirar eso asi saber que usar para formatear el rtf?

gracias desde ya

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: generar .doc desde php
« Respuesta #1 en: Jueves 8 de Abril de 2010, 23:54 »
0
hola, mira yo creo el formato en php, lo dejo bien bonito y en la primera linea coloco esto

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=Archivo.doc");

y me crea el .doc para descargarlo altiro o visualizar.
espro te sirva.
sl2
Neo.
Un Tigre Nunka Kambia Sus Rayas

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #2 en: Sábado 10 de Abril de 2010, 07:02 »
0
Muchas gracias por el dato amigo tambienn funciona perfecto ese ecabezado.. pero te hago una consulta ya que tengo un problema por ejemplo en mi casa hago esta prueva
Código: PHP
  1.  
  2. <?php
  3. if (isset($_POST['cargar']))
  4. {
  5. header('Content-type: application/msword');
  6. header('Content-Disposition: inline; filename=word.rtf');
  7.  
  8. ?>
  9. <table width="50%"  border="4" cellspacing="3" cellpadding="0">
  10.   <tr>
  11.     <td colspan="2"><h3 align="center" style="background-color:#999999; color:#009933; ">Nombre</h3></td>
  12.   </tr>
  13.   <tr>
  14.     <td><u><?php echo $_POST['nom']; ?></u></td>
  15.     <td><span style="font:Verdana, Arial, Helvetica, sans-serif; "><?php echo $_POST['ape']; ?></span></td>
  16.   </tr>
  17. </table>
  18.  
  19. <?php
  20. } // cierra if
  21. ?>
  22. <html>
  23. <head>
  24. <title>word desde php</title>
  25. </head>
  26.  
  27. <body>
  28. <form action="word_formateado.php" method="post">
  29. Nombre: <input type="text" name="nom"> <br>
  30. Apellido: <input type="text" name="ape"> <br>
  31. <input type="submit" name="cargar" value="generar">
  32. </form>
  33. </body>
  34. </html>
  35.  


y lo formatea perfecto al archivito de word es decir creaa esa tabla que hice.. pero el otra pc hago esa misma prueva y en word me muestra todo y tal cual te lo muestro con etiquetas html y todo muestra todo como texto asi en el word:


<table width="50%"  border="4" cellspacing="3" cellpadding="0">
  <tr>
    <td colspan="2"><h3 align="center" style="background-color:#999999; color:#009933; ">Nombre</h3></td>
  </tr>
  <tr>
    <td><u><?php echo $_POST['nom']; ?></u></td>
    <td><span style="font:Verdana, Arial, Helvetica, sans-serif; "><?php echo $_POST['ape']; ?></span></td>
  </tr>
</table>

 
por que puede ser? que diferencia puede haber en las pc? porque el mismo codigose comporta de maneras diferentes en una pc y en otra..

gracias de antemano.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1918
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.ingenieria-soporte.com
Re: generar .doc desde php
« Respuesta #3 en: Martes 13 de Abril de 2010, 13:48 »
0
No lo esta interpretando el servidor web, lo estas ejecutando mal. php no depende del cliente sino del servidor.

como estas accesando al archivo (php) ?

Saludos



" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #4 en: Sábado 17 de Abril de 2010, 05:12 »
0
Gracias por la respuesta F_tanori la verdad no se podria ser lo que me decis..
te cuento yo lo que estoy haciendo es guardar este archivo como word.php y lo ejecuto desde la barra de navegacion para que me tire la ventana si quiero abrir o guardar el documento.. eso es lo que estoy haciendo.


que decis que podra ser el problema entonces?

gracias desde ya amigo

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #5 en: Sábado 17 de Abril de 2010, 06:03 »
0
En los header() le estás diciendo al navegador que lo que sigue es un archivo en formato RTF pero lo que sigue después no está en ese formato, esta en formato HTML.

Pregunto: ¿qué quieres lograr exactamente?.

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #6 en: Sábado 17 de Abril de 2010, 06:22 »
0
Esta bien, esta bien eso puede ser..

lo que pasa que probe de hacerlo asi en mi casa y por mas que cree una tabla en html como decis al abrir el archivo .rtf me creo la tabla en el word perfectamente entonces pense que se podia.. pero despues practicando en otra pc me encuentro con que me imprime todo tal cual esta el codigo de html escrito.. y no me crea la tabla...

lo que busco hacer es un documento de word ordenado algun texto dentro de cuadro algunos parrafos escritos nada raro, algo en negrita etc...

es raro no? raro que en una pc me formatee el archivo de word tal cual lo escribo en html y en otra pc no.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #7 en: Sábado 17 de Abril de 2010, 23:37 »
0
Ignoro por qué ocurre eso.

Si el tema pasa por formatear texto que pueda ser usado en otros programas yo habría usado alguna clase o componente PHP para generar PDF, a menos que quieras que el usuario pueda modificar el contenido y no solo visualizarlo con un programa externo al navegador.

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: generar .doc desde php
« Respuesta #8 en: Domingo 18 de Abril de 2010, 00:04 »
0
Esta bien y tenes razon... lobre la clase de pdf, voy a leer en poco mas de fpdf.org es lo mejorsito creo, te cuento qu lo quice hacer de esta forma con word porque crei me iva hacer mas facil ya que lo necesito rapido, pero bueno voy a ponerme a ver como hacer el pdf a parte queda mucho mas presentable

gracias otra vez :good: