InicioApuntes Y MonografiasHacer archivo .rtf con php

Hacer archivo .rtf con php

Buenas, les traigo un script que hice para poder hacer y descargar archivos .rtf , los cuales tienen características similares a .doc ( WORD ) y se pueden abrir con Word, open office y procesadores de texto similares.
Este script lo hice para que una empresa de RRHH descargue los datos de los curriculum ingresados por los postulantes en linea.

La parte de conexión a las BD las omito y simplemente muestro como ingresar los datos que queremos al archivo.


1) Creamos una plantilla .rtf , con lo que queramos poner, ( si lo van hacer en windows, lo mejor es hacerlo con Wordpad que no ingresa caracteres especiales) .






Como podrán ver las variables se declaran tal cual en php, con el símbolo $ antes de cada una. Lo otro queda según sus gustos y necesidades.
Lo guardamos con el nombre que queramos ( en este caso, plantilla.rtf ).


Antes de ir al script, aclaro que los saltos de lineas en .rtf según pude averiguar se realizan con los caracteres "rn" por eso podrán ver que declaré una variable $salto para acelerar el proceso. En este caso como el ejemplo es corto no los utilizo, pero por si alguien lo necesita lo aclaro.


<?php


$plantilla = file_get_contents('plantilla.rtf'); // Lee la plantilla

$salto="rn";

// Datos que irán en la plantilla
$nombre = 'Taringa' ;
$domicilio = ' La calle de taringa al 666 ' ;
$telefono = ' 011 9116666' ;
$celular = ' 011-155 555555' ;


// Esta parte es para sacar un par de caracteres especiales, si trabajan en server linux y su plantilla esta bastante básica tal vez no haga falta, pero a mi me tocó trabajar en un server en Windows.

$plantilla = addslashes($plantilla);
$plantilla = str_replace('r','r',$plantilla);
$plantilla = str_replace('t','t',$plantilla);
$plantilla = str_replace('rn','par',$plantilla);
$plantilla = str_replace('rn','par',$plantilla);


// Procesa la plantilla

eval( '$rtf = <<<EOF_RTF
' . $plantilla . '
EOF_RTF;
' );


// Guarda el RTF generado
file_put_contents("cv/$nombre.rtf",$rtf);

//Nombro el archivo y le agrego la extensión .rtf .
$f = $nombre .".rtf";

//Acá dejo dos soluciones para descargar el archivo que generamos.
//1º si tienen un server linux o simplemente van a probarlo en localhost pueden hacerlo de esta forma que además luego de descargar el // archivo lo borra :


header("Content-disposition: attachment; filename=$f";
header("Content-type: application/octet-stream";
readfile($f);

@unlink($f); / /Borro el temporal creado
header('Location: cv/'.$f.'');

/* Ahora dejo la opción que yo utilice, con la anterior me agregaba caracteres al archivo al parecer el problema lo generaba el header, por lo que lo hice de esta forma, y luego agregue un botón aparte para borrar el archivo generado. */

// Lo dejo comentado por si solo hacen copy and paste.
// header('Location: cv/'.$f.'');// Esta es la opción para hacerlo desde un server windows .


?>

Bueno espero que les sirva, todo lo he sacado parte de acá y otras desde la red, por lo que seguro hay mejores opciones y mas cortas, pero esta me sirvió para sacarme del apuro.

Saludos
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

P
PaliSick🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.