Comunidad de diseño web y desarrollo en internet online

Generar .doc con contendido de formulario FLASH utilizando PHP

Citar            
MensajeEscrito el 24 Sep 2011 06:32 pm
Usuarios de Cristalab,

En esta oportunidad ya me encuentro muy avanzado con el formulario, de todas maneras aun continua en prueba, van a notar que faltan las verificaciones de los campos y demas pero eso lo deje para el final ya que ahora me encuentro con algo, para mi, mucho mas desafiante... quien desee echarle una miradita puede hacerlo ingresando a:

www.satandbypc.com.ar

La idea de este formulario es que luego de llenar todos los campos, el usuario ingrese su firma y cuando le de al botón enviar, envié todas las variables a PHP este las compile y genere un .doc, el .doc deberá ser almacenado en el servidor momentáneamente para luego ser enviado por correo como archivo adjunto.

Ahora me encuentro en la generación del file .doc

Necesitaría que alguien me de alguna idea de como hacerlo, ya que si bien me llevo excelente con Flash, PHP lo uso tan solo para formulario y envió de correo, jamas genere un .doc.
Otra duda que tengo, es posible enviar una imagen al .doc por medio de PHP, ya que de no ser posible no me sirve.

Para cuando termine este formulario pienso crear un tutorial bien completo para agradecer a todo el Foro de Cristalab.

Mil gracias de antemano...

nota: me encuentro trabajando así que si no pueden ver nada ingresando a la dire que les mencione, se debe a que le estoy metiendo mano.

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Sep 2011 06:48 pm
Mejor que .doc haz un PDF usando la clase fpdf.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 25 Sep 2011 04:30 pm
Comencé a crear un PDF con PHP, tengo las siguientes dudas que aun no logro resolver, quizás sean muy básicas pero necesito saber de que manera resolverlas, las dejo anotadas en el código.

Otra cosa que me pasa cuando pruebo el PDF en el navegador, 1/4 de la pantalla veo el PDF y el resto todo verde, en verdad no se que sucede.
Les dejo una imagen.



La zona verde no se por que se genera... y PDF lo veo en ese pequeñín que me queda de pagina.


Código PHP :

<?php
include('class.ezpdf.php');
$pdf =& new Cezpdf('a4');
$pdf->selectFont('fonts/courier.afm');

//ESTE TEXTO LO QUIERO CENTRADO.
$pdf->ezText("<b>EXTERNAL VENDOR MASTER DATA REQUEST FORM (V4.0)</b>",16);
$pdf->ezText("<b>SUPPLIER GENERAL INFORMATION FORM - FILLED BY SUPPLIER<b>\n\n",16);

$pdf->ezText("<b>Company information</b>",14);
//ACA QUIERO PONER UNA LINEA A LO LARGO DE LA PAGINA.

$pdf->ezText("Razón social: ",12); 
//LUEGO DE CADA CAMPO AL LADO DE ESTE NECESITO CARGARLO
//CON LA INFO OBTENIDA DEL FORMULARIO FLASH.
$pdf->ezText("Address: ",12);
$pdf->ezText("City/Region: ",12);
$pdf->ezText("Contry: ",12);
$pdf->ezText("House number: ",12);
$pdf->ezText("Zip code: ",12);
$pdf->ezText("CUIT 1: ",12);
$pdf->ezText("CUIT 2: ",12);
$pdf->ezText("CUIT 3: ",12);
$pdf->ezText("CUIT 4: ",12);
$pdf->ezText("Beneficiary name: ",12);

$pdf->ezImage("img.jpg", 0, 420, 'none', 'left');

$pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"),10);
$pdf->ezText("<b>Hora:</b> ".date("H:i:s"),10);
$pdf->ezText('<b>Fuente:</b> <c:alink:http://blog.unijimpe.net/>blog.unijimpe.net</c:alink>');
ob_end_clean();
$pdf->ezStream();
?>

Por PX10

70 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Sep 2011 02:27 am
actualiza tu google chrome, estas usando el print preview con algun bug y ese es la causa de cosa verde,
ahora mira que es necesario que se .doc???
recuerda que office puede guardar sus documentos con otras extensiones como un xml y ese xml puede ser manipulado, haz esto crea un documento word como plantilla, escribe cosas como

Código :

estimado {nombre} le envio esta carta a {fecha} para blahblahblah blahblahblah blahblah
blahblahblah
blahblah
ate {remitente}

luego lo guardas con exntesion xml, y luego miras el archivo con un editor de texto plano y veras donde guardo tu texto y el formato que tiene, ahora para tu cometido tendrias que hacer lo inverso entregar el xml generarlo con php y enviarle cabeceras al navegador para que lo abra como un documento word
como se hace con excel
por ejemplo creas esta pagina en php

Código PHP :

<?php header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Disposition: attachment; filename=miraQueNombreMasChulo.csv");
?>
hola;como;estas;estoy en la celda D1;

y miras el resultado

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Sep 2011 02:46 pm
Tu admin, gracias por tu respuesta, lo estoy haciendo en PDF como me dijo DriverOp... y me esta resultando, pero aun así tengo algunas dudas

Problema 1

Código PHP :

////LUEGO DE RAZÓN SOCIAL, NECESITO QUE AL LADO FIGURE LO CARGADO POR 
////EL USUARIO EN EL FORMULARIO FLASH.
$pdf->ezText("Razón social: ",12);  


Se como enviar los datos desde Flash al PHP pero no se como, mostrarlos en el PDF.

Problema 2
Necesito centrar el texto que poseo dentro de un cuadro, pero no logro hacerlo.
Les dejo el código de un ejemplo que encontré en la web y con el cual estoy practicando.

Código PHP :

<?php
include ('class.ezpdf.php');
$pdf =& new Cezpdf();
$pdf->selectFont('./fonts/Helvetica.afm');

////ESTA FUNCION LA AGREGUE YA QUE ME AYUDA A TRABAJAR CON LA
////UNIDAD DE CM Y NO EN PIXELES.
////ESTA BUENO QUE LA TENGAN PRESENTE.
function puntos_cm ($medida, $resolucion=72)
{
   //// 2.54 cm / pulgada
   return ($medida/(2.54))*$resolucion;
}


////ACA CREO Y CARGO EL ARRAY CON LA INFORMACION
$datos = array(
array('id'=>'id', 'ref'=>'ref', 'concepto'=>'concepto','precio'=>'precio'),
array('id'=>'1', 'ref'=>'01', 'concepto'=>'Lápiz','precio'=>'3'),
array('id'=>'2', 'ref'=>'02', 'concepto'=>'Pluma','precio'=>'4'),
array('id'=>'3', 'ref'=>'07', 'concepto'=>'Bolígrafo','precio'=>'4'),
array('id'=>'4', 'ref'=>'09', 'concepto'=>'Tinta','precio'=>'7'),
array('id'=>'5', 'ref'=>'13', 'concepto'=>'Papel','precio'=>'1'),
);

////ACA LE DOY FORMA A LA TABLA. PERO AUN NO SE COMO 
////CENTRAR EL TEXTO DENTRO DE ELLA.
unset ($opciones_tabla);

//// mostrar las lineas
$opciones_tabla['showLines']=1;

//// mostrar las cabeceras
$opciones_tabla['showHeadings']=0;

////Tamaño de la tabla
$opciones_tabla['width']= puntos_cm(15);

//// lineas sombreadas
$opciones_tabla['shaded']= 0;

//// tamaño letra del texto
$opciones_tabla['fontSize']= 10;

//// color del texto
$opciones_tabla['textCol'] = array(0,0,0);

//// tamaño de las cabeceras (texto)
$opciones_tabla['titleFontSize'] = 12;

//// margen interno de las celdas
$opciones_tabla['rowGap'] = 0;
$opciones_tabla['colGap'] = 0;


$pdf->ezTable($datos," ", "Tabla de precios",$opciones_tabla);

$pdf->ezOutput();

$pdf->ezStream();
?>

Por PX10

70 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.