Foros del Web » Programando para Internet » PHP »

Generar RTF con PHP

Estas en el tema de Generar RTF con PHP en el foro de PHP en Foros del Web. Buenas a todos! Os cuento, estoy intentando generar un documento rtf, pero tengo un pequeño problema... He seguido el manual que aparece en esta web: ...
  #1 (permalink)  
Antiguo 13/10/2011, 16:52
 
Fecha de Ingreso: agosto-2003
Ubicación: España - Madrid
Mensajes: 169
Antigüedad: 20 años, 8 meses
Puntos: 0
Generar RTF con PHP

Buenas a todos!

Os cuento, estoy intentando generar un documento rtf, pero tengo un pequeño problema...

He seguido el manual que aparece en esta web: http://www.desarrolloweb.com/articulos/1826.php y he podido sacar algo... El problema viene en lo que yo quiero hacer.

Yo no tengo una plantilla para cada certificado, sino que mi intención es generar algo así como unas tarjetas de visita, por así decirlo, y pretendo que en una misma hoja/plantilla me entren 20 tarjetas, por ejemplo. Siguiendo con el ejemplo que dan en esa web tendría 20 tarjetas en cada hoja pero con los mismos datos, y yo necesito 20 tarjetas con diferentes datos.

¿Alguien puede echarme una mano? No sé de qué otra manera puedo plantearme esto... También me gustaría meter imágenes diferentes en otra aplicación (a modo de carnets) pero tampoco sé exactamente cómo hacerlo.

El código de la web es este:
Código PHP:
//Función
    
function leef ($fichero) {
        
$texto file($fichero);
        
$tamleef sizeof($texto);
        for (
$n=0;$n<$tamleef;$n++) {
            
$todo $todo $texto[$n];
        }
        return 
$todo;
    }
    
    
//Función rtf
    
function rtf($sql,$plantilla,$fsalida,$matequivalencias) {
        
$pre=time();
        
$fsalida="/salida/".$pre.$fsalida;
        
mysql_connect(...);
        
//Paso
        
$txtplantilla leef($plantilla);
        
//Paso
        
$matriz=explode('sectd',$txtplantilla);
        
$cabecera $matriz[0].'sectd';
        
$inicio strlen($cabecera);
        
$final=strrpos($txtplantilla,'}');
        
$largo=$final-$inicio;
        
$cuerpo=substr($txtplantilla,$inicio,$largo);
        
//Paso
        
$punt fopen($fsalida,'w');
        
fputs($punt,$cabecera);
        
$result mysql_db_query(...,$sql);
        while (
$row=mysql_fetch_object($result)) {
            
$despues=$cuerpo;
            foreach (
$matequivalencias as $dato) {
                
$datosql=$row->$dato[1];
                
$datosql=stripslashes($datosql);
                
$datortf=$dato[0];
                
$despues=str_replace($datortf,$datosql,$despues);
            }
            
fputs($punt,$despues);
            
$saltopag "\par \page \par";
            
fputs($punt,$saltopag);
        }
        
fputs($punt,'}');
        
fclose($punt);
        return 
$fsalida;
    }
    
    
$plantilla "plantilla.rtf";
    
$sql"SELECT ...";
    
$equivalencias[0][0] = "#*NOMBRE*#-";
    
$equivalencias[0][1] = "nombre";
    
$equivalencias[1][0] = "#*APELLIDOS*#-";
    
$equivalencias[1][1] = "apellidos";
    
$salida rtf($sql,$plantilla,"certificado.rtf",$equivalencias);
    
$salida "<A href='$salida'>Obtener</a>";
    echo 
"<p>$salida</p>"
Gracias!!! :)

Etiquetas: mysql, rtf, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.