Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Plugin Descargar varios PDF en Zip

Estas en el tema de Plugin Descargar varios PDF en Zip en el foro de PHP en Foros del Web. Hola, buenas a todos. Actualmente estoy utilizando un plugin que me transforma a pdf descargable el currículum vitae de un usuario cuya información está guardado ...
  #1 (permalink)  
Antiguo 03/02/2016, 09:06
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
Pregunta Plugin Descargar varios PDF en Zip

Hola, buenas a todos. Actualmente estoy utilizando un plugin que me transforma a pdf descargable el currículum vitae de un usuario cuya información está guardado en tablas de mysql. El problema es que ahora necesito poder seleccionar VARIOS usuarios y exportarl sus cv todos juntos. Conocen un plugin que me ayude a resolver esto? Muchas gracias !!

Última edición por rkmgralpaz; 03/02/2016 a las 09:34 Razón: Aclaración
  #2 (permalink)  
Antiguo 03/02/2016, 09:47
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 4 meses
Puntos: 2
Respuesta: Plugin Descargar varios PDF en Zip

investiga un poco de php-zip te permite comprimir varios archivos en zip y haci descargarlos todos.
  #3 (permalink)  
Antiguo 03/02/2016, 10:56
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
De acuerdo Respuesta: Plugin Descargar varios PDF en Zip

Gracias amigo, lo haré.
  #4 (permalink)  
Antiguo 04/02/2016, 15:29
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Plugin Descargar varios PDF en Zip

Hola amigo,
como te indica sanandresm, checa la librería de zipfile.php
Es muy sencilla de usar, sino has encontrado un ejemplo claro te dejó uno:
Código PHP:
Ver original
  1. //Una vez descargues la librería, haces el enlace
  2. require ("zipfile.php");
  3. //Creas el objeto para trabajar
  4. $zipfile = new zipfile();
  5.  
  6. //Creas un directorio (es opcional)
  7. $zipfile->add_dir("folder/");
  8.  
  9. //Añades los elementos al directorio
  10. $zipfile->add_file(implode("",file("ruta/archivo_a_comprimir.extension")),"folder/archivo1.txt");
  11. $zipfile->add_file(implode("",file("ruta/archivo_a_comprimir.extension")),"folder/archivo2.jpg");
  12. $zipfile->add_file(implode("",file("ruta/archivo_a_comprimir.extension")),"folder/archivo3.txt");
  13.  
  14. //Estas son cabeceras adicionales para que al final descargue directamente el archivo ;)
  15. header("Content-type: application/octet-stream");
  16. header("Content-disposition: attachment; filename=fotos.zip");
  17.  
  18. echo $zipfile->file();

Espero te pueda servir, saludos!
  #5 (permalink)  
Antiguo 05/02/2016, 10:05
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Plugin Descargar varios PDF en Zip

Muchas gracias, comprendo que de esa manera, descargas archivos que ya tienes guardados en una carpeta, la diferencia en mi proyecto es que la información que obtengo de las tablas de mysql, primero debo transformarla en pdf, por lo que me estaría faltando este paso antes de implementar la librería zipfile. De todos modos con tu respuesta me estoy acercando ya cada vez más a lo que necesito, muchas gracias! La misma librería me servirá para hacerlo?

Actualmente estoy utilizando dompdf que lo transforma y automáticamente lo descarga, pero solo por archivos individuales, no varios en una carpeta zip.

Gracias !!!

Última edición por rkmgralpaz; 05/02/2016 a las 10:06 Razón: error de tipeo
  #6 (permalink)  
Antiguo 05/02/2016, 10:53
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 4 meses
Puntos: 20
Respuesta: Plugin Descargar varios PDF en Zip

Hola amigo, sinceramente desconozco la librería de dompdf,
pero me imagino que debe de haber alguna opción en donde puedas cambiar que en lugar de la descarga automática, lo guarde en una carpeta .. posteriormente ya entraría la librería zipfile
Saludos!
  #7 (permalink)  
Antiguo 05/02/2016, 13:01
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 4 meses
Puntos: 2
Respuesta: Plugin Descargar varios PDF en Zip

Que tal si usas tcpdf(http://www.tcpdf.org) y tiene ejemplos http://www.tcpdf.org/examples.php pero yo creo que el que se acopla mas a tus necesidades es este http://www.tcpdf.org/examples/example_002.phps
  #8 (permalink)  
Antiguo 05/02/2016, 13:32
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Plugin Descargar varios PDF en Zip

Cita:
Iniciado por german_1441 Ver Mensaje
Hola amigo, sinceramente desconozco la librería de dompdf,
pero me imagino que debe de haber alguna opción en donde puedas cambiar que en lugar de la descarga automática, lo guarde en una carpeta .. posteriormente ya entraría la librería zipfile
Saludos!
Al parecer si tiene dicha opción, según este foro

http://stackoverflow.com/questions/8720897/how-to-save-dompdf-generated-content-to-file
Así que lo intentaré, eliminando el método de descargar, y luego utilizaré la librería zipfile.

Muchas gracias!!
  #9 (permalink)  
Antiguo 05/02/2016, 15:20
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Plugin Descargar varios PDF en Zip

La cuestión me ha quedado así, utilizando las librerías dompdf y zipfile:

$codigoHTML=$codigoHTML;
$dompdf=new DOMPDF();
// $dompdf->load_html($codigoHTML);
// ini_set("memory_limit","128M");
// $dompdf->render();
// $dompdf->stream("".$nombreyapellido." CV.pdf");
$pdf = $dompdf->output();
file_put_contents("../archivos/".$nombreyapellido." CV.pdf", $pdf);


//Una vez descargues la librería, haces el enlace
require ("../zipfile.php");
//Creas el objeto para trabajar
$zipfile = new zipfile();

//Creas un directorio (es opcional)
$zipfile->add_dir("folder/");

//Añades los elementos al directorio
$zipfile->add_file(implode("",file("../archivos/".$nombreyapellido." CV.pdf")),"folder/".$nombreyapellido." CV.pdf");
// $zipfile->add_file(implode("",file("ruta/archivo_a_comprimir.extension")),"folder/archivo2.jpg");
// $zipfile->add_file(implode("",file("ruta/archivo_a_comprimir.extension")),"folder/archivo3.txt");

//Estas son cabeceras adicionales para que al final descargue directamente el archivo ;)
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=curriculums.zip");

echo $zipfile->file();


De esta manera, haciendo una función recursiva que guarde los pdf en una carpeta, luego lo descargo en zip.

Gracias a todos !
  #10 (permalink)  
Antiguo 06/02/2016, 11:31
 
Fecha de Ingreso: marzo-2015
Mensajes: 36
Antigüedad: 9 años, 1 mes
Puntos: 3
Respuesta: Plugin Descargar varios PDF en Zip

Gente, como les dije todo me funcionó muy bien, pero el único problema que tengo ahora es que cuando descomprimo la carpeta que descargo, los nombres de los pdf que llevan acento, se ven mal !

He probado con varias combinaciones de decode, encode utf8 y nada me resulta, acá les dejo la parte donde asigno los archivos y nombres:

$codigoHTML=$codigoHTML;
$dompdf=new DOMPDF();

$pdf = $dompdf->output();
file_put_contents("../archivos/".$nombreyapellido." CV.pdf", $pdf);

$zipfile->add_file(implode("",file("../archivos/".$nombreyapellido." CV.pdf")),"folder/".$nombreyapellido." CV.pdf");

}


header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=curriculums.zip");

echo $zipfile->file();

}

Etiquetas: gzip, mysql, pdf
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 19:12.