Foros del Web » Programando para Internet » PHP »

como puedo imprimir esto usando pdf

Estas en el tema de como puedo imprimir esto usando pdf en el foro de PHP en Foros del Web. Hola amigos quiero saber si se puede hacer esto tengo linux red hat 7.3, y base de datos sql server 7 hago una consulta a ...
  #1 (permalink)  
Antiguo 14/08/2002, 09:11
 
Fecha de Ingreso: enero-2002
Ubicación: Stgo.
Mensajes: 60
Antigüedad: 22 años, 2 meses
Puntos: 0
como puedo imprimir esto usando pdf

Hola amigos quiero saber si se puede hacer esto tengo linux red hat 7.3, y base de datos sql server 7 hago una consulta a la base de datos y los datos que obtengo a veces son muchos, he probado con javasciprt pero sale todo mal, y quisiera saber si se puede con las librerias pdf, los baje de esta direccion que recomendo Cluster http://www.ros.co.nz/pdf/, y quisiera saber si puedo hacer mi consulta a la base de datos y crear un archivo pdf para imprimir o hay alguna otra forma en php
  #2 (permalink)  
Antiguo 14/08/2002, 10:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: como puedo imprimir esto usando pdf

En PDF .. tanto con la libreria que recomende (q es gratuita) como las extensiones PDF lib para PHP .. se hace basicamente de la misma forma.

Solo leee la documentacion para usarla .. Las librerias en cuestion son para eso mismo .. para generar archivos PDF dinamicamente.

Por ejemplo .. con las librerias (classe) que te recomende:

<?php
set_time_limit(0); // por si la generacion el PDF es superior al tiempo predefinido de tiempo de ejecucion en el php.ini

include ('class.ezpdf.php'); // incluir la classe.

$pdf =& new Cezpdf(); // hacer la instancia

$pdf->selectFont('./fonts/Arial.afm'); //definir un tipo de letra por ejemplo.

// inicias tu bucle (por jemplo el tipico while par obtener tus registros/campos de tu BBDD {

$pdf->ezText('$registro['campoX']',12);
// como veras, aqui no hay ningun echo ni nada por el estilo .. esta script ha de ser ejecutado independiente .. Una cosa es persentar la consulta en el navegador y otra generar el pdf ..

// } termina bucle

$pdf->ezStream(); // Terminado el proceso .. envias todo al visualizador PDF .. via navegador.

?>

Este ejemplo es de lo mas basico .. esas librias que comentaba tienen herramientas para hacer tablas (inlcuso con color de linea marcadao alternativamente) .. y un buen monton de funcinoes como incluir paginado automatico, insertar imagenes .. y un largo etc.


Un saludo,
  #3 (permalink)  
Antiguo 14/08/2002, 17:03
 
Fecha de Ingreso: enero-2002
Ubicación: Stgo.
Mensajes: 60
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como puedo imprimir esto usando pdf

Cluster si he leido la documentacion,he creado un archivo pdf, pero la informacion no sale asi por ejemplo


nombre apellido edad etc

juan leiva 30 ....



si que sale asi
juan
leiva
30


Me puedes orientar ya que no tengo idea de como hacerlo, y estoy probando con las instrucciones a ver que hago
  #4 (permalink)  
Antiguo 14/08/2002, 17:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: como puedo imprimir esto usando pdf

Revisa los metodos de la classe .. tiene un buen monton como te decia antes ...

Puedes hacer tablas con el metodo:
ezTable() de la clase ..

tienes hasta metodos para "clavar" un texto en la posicion de la pagina que quieras como :
addText()

La documentacion en PDF que trea la classe va con un buen numero de ejemplos ..

A todo esto (y esto ya no es de saber usar esa classe) ...

Como has visto, el metodo ezText() imprime en la pagina una cadena de texto y hace un salto de parrafo ..

Si estas sacando registros de tu BBDD y los llamas asi:
$pdf->ezText('$uncampo',12);
$pdf->ezText('$otro_campo',12);

es Logico que te haga lo que estas diciendo (salto de linea en cada campo).

Con esto ya se te ocurre algo? ... BUeno da igual ya te lo comento yo. Debes de CONCATENAR tus variables antes de mandarselo al metodo ..

$elregistrotodoenunalinea=$registro['campo']." ".$registro['otrocampo']." ".$registro['mascampos'];

$pdf->ezText('$elregistrotodoenunalinea',12);

Como veras .. es mas de lo mismo con PHP y manejo de cadenas .. :cantar:

Tambien si te fijas en la documentacion . puedes usar <b> .. y demas etiquetas para que en una linea usar algunos atributos como en ese caso negritra.

Un saludo,


  #5 (permalink)  
Antiguo 16/08/2002, 14:53
 
Fecha de Ingreso: enero-2002
Ubicación: Stgo.
Mensajes: 60
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como puedo imprimir esto usando pdf

Gracias Cluster


Estoy probando lo que me dijiste hasta ahora me resulta, no se me habia ocurrido o que se podia usar las funciones asi
  #6 (permalink)  
Antiguo 17/08/2002, 22:21
 
Fecha de Ingreso: enero-2002
Ubicación: Stgo.
Mensajes: 60
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como puedo imprimir esto usando pdf

Cluster
Hola de nuevo sabes no he podido generar un documento que quede bien con pdf,te explico lo hice como tu me orientaste, he leido el manual pero no se no puedo hacerlo me genera una tabla con los registros pero cada uno sale uno mas grande otro mas chico ,un desorden que no lo he podido hacer o no encuentro la forma me podrias ayudar aqui esta el codigo
<?php
include ('class.ezpdf.php');
include('conexionbd.php');
$myconn = conectarse();
$sql= "SELECT * from ADMINISTRACION_USUARIOS";
$resultado= mssql_query($sql,$myconn);
$pdf = & new Cezpdf();
$pdf->selectFont('./letras/fonts/Helvetica.afm');

while($salida = mssql_fetch_array($resultado))
$registro=$salida[0]." ".$salida[1]." ".$salida[2]." ".$salida[3]." ".$salida[4];
$data =array(
array('num'=>1,'User Name'=>$salida[0],'Nombre'=>$salida[2],'Apellidos'=>$salida[3],'Cargo'=>$salida[4]));
$pdf->ezTable($data);
}
$pdf->ezStream();
?> :(
  #7 (permalink)  
Antiguo 17/08/2002, 22:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: como puedo imprimir esto usando pdf

Leete la pagina 4 del manual ..

Cita:
'width' => <number>, the exact width of the table, the cell widths will be adjusted to give the table
this width.
'maxWidth' => <number>, the maximum width of the table, the cell widths will only be adjusted if
the table width is going to be greater than this.
Un saludo,
  #8 (permalink)  
Antiguo 19/08/2002, 13:10
 
Fecha de Ingreso: enero-2002
Ubicación: Stgo.
Mensajes: 60
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: como puedo imprimir esto usando pdf

Cluster
Gracias por tu ayuda, logre hacerlo que todas las columnas quedaran ok , una cosa mas sabes como puedo hacer que la tabla me aparezca en forma horizontal y no vertical he visto la propiedad xpos x orientation del ez table pero nada ;)
  #9 (permalink)  
Antiguo 19/08/2002, 16:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: como puedo imprimir esto usando pdf

mmm pues tanto no he usado la classe en cuestion pero podrias probar simplemente a generar la pagina en formato Horizontal y no vertical como es lo tipico .. eso a la hora de definir las propiedades de la pagina ..

Un saludo,
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 00:23.