Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/01/2004, 15:29
ArtuAgui
 
Fecha de Ingreso: enero-2002
Mensajes: 88
Antigüedad: 22 años, 3 meses
Puntos: 0
He aquí mi aportación...

Después de dar varias vueltas, he conseguido hacer una clase para pasar valores de variables en PHP a variables de formularios en PDF.
Quizá haya gente que le interese el tema y quiera enterarse un poco. Así que aquí os dejo mi pequeña contribución a este mundo:

1º. Tenemos un fichero PDF sobre el que hemos definido unos campos (Ej. Nombre y eMail). Sobre el mismo Acrobat, definimos en "Documento -> Definir acción de página -> Agregar... Importar datos del formulario" y le definimos que tome los datos de un fichero "datos.fdf".
De este modo, cuando se abra la página tomará los datos de este fichero.

2º. La página "lanzarPDF.php" meterá los datos deseados en el fichero datos.fdf y abrirá el PDF... y esto es todo.

LanzarPDF.php :
Código:
<?php
include("PHP2PDF.inc");
$p->new PHP2PDF; // Crea la clase
$p->Push("Nombre", "Pepito Pérez");  // Envía la variable Nombre
$p->Push("eMail", "[email protected]"); // Envía la variable eMail
$p->Make("Pagina.pdf", "datos.fdf"); // Esto crea el fichero de datos de intercambio y Lanza la página PDF.
?>
y ahora os dejo mi nueva Clase:

PHP2PDF Class:
Código:
<?php
// -----------------------------------------------------------------------------------------------
// Class:		PHP2PDF
// Subject:	Incrustar varibles de PHP en formularios PDF
// Mail:      [email protected]
// Version:   1.0
// Update:    2004-01-20
// -----------------------------------------------------------------------------------------------

class PHP2PDF
{
	var $matriz;
	
	function Push ($campo, $valor)
	{
		$this->matriz[$campo]=$valor;
	}
	
	function Make ($FicheroPDF, $FicheroFDF)
	{
		$buscar = array('\\', '(', ')');
		$reemplazar = array('\\\\', '\(', '\)');
		$fdf = "%FDF-1.2\n%‚„œ”\n1 0 obj \n<< /FDF << /Fields [\n"; 
		foreach ($this->matriz as $campo => $valor)
		{
			$campo_bueno = str_replace($buscar, $reemplazar, $campo);
			$valor_bueno = str_replace($buscar, $reemplazar, $valor);
			$fdf .= "<< /V ($valor_bueno)/T ($campo_bueno) >> \n";
		}
		$fdf .= "]\n/F ($FicheroPDF) >> >>\nendobj\ntrailer\n<<\n/Root 1 0 R \n\n>>\n%%EOF";
		// Genera el Fichero de Intercambio de datos FDF
		$f_out=fopen($FicheroFDF,"w");
		fputs($f_out, $fdf);
		fclose($f_out);
		// Salta al fichero PDF
		header("Location:$FicheroPDF");
	}
} // Fin de la Clase
?>
Espero que a alguien le sirva...
Un saludo a todos,
-ArtuAgui-