Foros del Web » Programando para Internet » PHP »

imprimir varios pdfs en simultaneo con tcpdf

Estas en el tema de imprimir varios pdfs en simultaneo con tcpdf en el foro de PHP en Foros del Web. hola amigos foreros buenas tardes quisiera pedirles el favor y me colaboren con la siguiente inquietud: El problema es que estoy generando una factura en ...
  #1 (permalink)  
Antiguo 03/08/2011, 15:20
 
Fecha de Ingreso: julio-2011
Ubicación: cucuta
Mensajes: 26
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta imprimir varios pdfs en simultaneo con tcpdf

hola amigos foreros buenas tardes quisiera pedirles el favor y me colaboren con la siguiente inquietud:


El problema es que estoy generando una factura en pdf y luego imprimo ya lo tengo funcionando haciendo la consulta normal con codigo de factura y periodo pero el problema esta en que si yo quiero imprimir varios pdf por ejemplo todos los que tengan el mismo barrio nose como hacerlo espero me puedan ayudar.

aqui les dejo el codigo no coloco todos los array porq el codigo se hace demaciado estenso asi que solo dejare la parte q me intereza y unos pocos arrays para q me puedan ayudar.

para los pdf estoy utilizando la libreria tcpdf.

de antemano muchas gracias.

Código PHP:
<?php

require_once('C:/AppServ/www/config/lang/eng.php');
require_once(
'C:/AppServ/www/tcpdf/tcpdf.php');
include(
'vistaprevia.php'); 

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATIONPDF_UNITPDF_PAGE_FORMATtrue'UTF-8'false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('jhon ');
$pdf->SetTitle('TCPDF ');
$pdf->SetSubject('Gases');
$pdf->SetKeywords('TCPDF, PDF, g, UDES, jhon');

// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins
$pdf->SetMargins(PDF_MARGIN_LEFTPDF_MARGIN_TOP,0.5);// PDF_MARGIN_RIGHT

//set auto page breaks
$pdf->SetAutoPageBreak(TRUEPDF_MARGIN_BOTTOM);

//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
$pdf->setLanguageArray($l);


$pdf->SetFont('times''BI'10);

// add a page

    
$pdf->SetTextColor(255,0,0); 
    
    
    
$archivo $_FILES["archivo"]['name'];
    
$dir_temp=$HTTP_POST_FILES['archivo']['tmp_name'];
    
$nombre_archivo $archivo;
    
$uploads_dir '/factura2010';
    
$MM="C:/AppServ/www/$uploads_dir/$archivo";
    
    
$conexion=mysql_connect("localhost","root","root") or die("Problemas en la conexion"); 
    
mysql_select_db("gases",$conexion) or die("Problemas en la seleccion de la base de datos"); 
    
    
//consulta las facturas por fecha
    //SELECT period_fact FROM factura WHERE period_fact LIKE  '%-%JUL2010%' and codigo="80982"
    
    
$a=$_POST['id'];
    
$b=$_POST['fac'];
    
$c=$_POST['med'];
    
$d=$_POST['per'];
    
$contenido $d;
$cad=explode("-",$contenido);
#echo "<br/>".$cad[0]."<br/>";

$me "90";
$an="2010";
$longitud strlen($me);

$longit=strlen($an);


$mes=substr($cad[0],4,$longitud);

$ano=substr($cad[0],0,$longit);


if(
$mes=="01"){
    
$n="ENE";
    
$ant="DIC";
    
#echo $n;
}else{
    if(
$mes=="02"){
        
$n="FEB";
        
$ant="ENE";
        
#echo $n;
    
}else{
        if(
$mes=="03"){
            
$n="MAR";
            
$ant="FEB";
            
#echo $n;
        
}else{
            if(
$mes=="04"){
                
$n="ABR";
                
$ant="MAR";
                
#echo $n;
            
}else{
                if(
$mes=="05"){
                    
$n="MAY";
                    
$ant="ABR";
                    
#echo $n;
                
}else{
                    if(
$mes=="06"){
                        
$n="JUN";
                        
$ant="MAY";
                        
#echo $n;
                    
}else{
                        if(
$mes=="07"){
                            
                            
$n="JUL";
                            
$ant="JUN";
                            
#echo $n;
                        
}else{
                            if(
$mes=="08"){
                                
$n="AGO";
                                
$ant="JUL";
                                
#echo $n;
                            
}else{
                                if(
$mes=="09"){
                                    
$n="SEP";
                                    
$ant="AGO";
                                    
#echo $n;
                                
}else{
                                    if(
$mes=="10"){
                                        
$n="OCT";
                                        
$ant="SEP";
                                        
#echo $n;
                                    
}else{
                                        if(
$mes=="11"){
                                            
$n="NOV";
                                            
$ant="OCT";
                                            
#echo $n;
                                        
}else{
                                            if(
$mes=="12"){
                                                
$n="DIC";
                                                
$ant="NOV";
                                                
#echo $n;
                                            
}
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
                
    }



$fecha="$n"."$ano";//"$z"."$n"."$b"."<br/>";

$f="$ano"."$n";

$f=$fecha;


$periodo="$z"."$ant"."$b"."-"."$z"."$n"."$m";



$res    mysql_query($sql,$conexion); 



    if(
$a=="" && $b=="" && $c=="" && $d==""){
    
$pdf->Write(0'Debe llenar uno de los campos anteriores'''0'L'true0falsefalse0);
     }else{
         
        if(
$a!="" && $b=="" && $c=="" && $d!=""){
            
             
            
$sql="SELECT * FROM factura WHERE period_fact LIKE  '%-%$fecha%' and codigo='$a'";
            
        }else{
            if(
$a=="" && $b!="" && $c=="" && $d==""){
                
$sql"SELECT * FROM factura WHERE num_fact='".$_POST['fac']."'";
            }else{
                if(
$a=="" && $b=="" && $c!="" && $d==""){
                
$sql"SELECT * FROM factura WHERE medidor='".$_POST['med']."'";
                }else{
                    if(
$a!="" && $b!="" && $c!="" && $d!=""){
            
                        
$sql    "SELECT * FROM factura WHERE codigo='".$_POST['id']."'"."AND period_fact='".$_POST['per']."'"."AND num_fact='".$_POST['fac']."'"."AND medidor='".$_POST['med']."'";
                    }
                }
            }
            
        }
    }

    
$result    mysql_query($sql,$conexion); 
    
while ((
$x=mysql_fetch_row($result))){        
                
      
$pdf->AddPage();
            
                    
                                                        
    
$pdf->SetXY(192,20); 
    
$pdf->Write(0$x[0]); 
    
$pdf->SetXY(168,24); 
    
$pdf->Write(0$x[1]); 
    
$pdf->SetXY(10,24); 
    
$pdf->Write(0$x[2]);
    
$pdf->SetXY(105,24); 
    
$pdf->Write(0$x[76]);
    
$pdf->SetXY(113,24); 
    
$pdf->Write(0$x[70]);
    
$pdf->SetXY(130,24); 
    
$pdf->Write(0$x[4]);
    
$pdf->SetXY(145,24); 
    
$pdf->Write(0$x[5]);
    
            
        

          }
      
// print a block of text using Write()
//pdf->Write($h=0, $txt, $link='', $fill=0, $align='C', $ln=true, $stretch=0, $firstline=false, $firstblock=false, $maxh=0);

// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example_001.pdf''I');

//============================================================+
// END OF FILE                                                
//============================================================+



como se dan cuenta en el ejemplo el archio solo me imprime lo de la consulta de codigo y periodo pero yo quiero que me imprima todo por ejemplo todos los que tengan el mismo barrio.
  #2 (permalink)  
Antiguo 03/08/2011, 15:25
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 5 meses
Puntos: 394
Respuesta: imprimir varios pdfs en simultaneo con tcpdf

La verdad estoy muy cansado para ayudarte pero con lo que veo (me asusto) te dare una idea para esos IF anidados:

Código PHP:
Ver original
  1. if($mes=="01"){
  2.     $n="ENE";
  3.     $ant="DIC";
  4.     #echo $n;
  5. }else{
  6.     if($mes=="02"){
  7.         $n="FEB";
  8.         $ant="ENE";
  9.         #echo $n;
  10.    }else{
  11.         if($mes=="03"){
  12.             $n="MAR";
  13.             $ant="FEB";
  14.             #echo $n;
  15.        }else{
  16.             if($mes=="04"){
  17.                 $n="ABR";
  18.                 $ant="MAR";
  19.                 #echo $n;
  20.            }else{
  21.                 if($mes=="05"){
  22.                     $n="MAY";
  23.                     $ant="ABR";
  24.                     #echo $n;
  25.                }else{
  26.                     if($mes=="06"){
  27.                         $n="JUN";
  28.                         $ant="MAY";
  29.                         #echo $n;
  30.                    }else{
  31.                         if($mes=="07"){
  32.                              
  33.                             $n="JUL";
  34.                             $ant="JUN";
  35.                             #echo $n;
  36.                        }else{
  37.                             if($mes=="08"){
  38.                                 $n="AGO";
  39.                                 $ant="JUL";
  40.                                 #echo $n;
  41.                            }else{
  42.                                 if($mes=="09"){
  43.                                     $n="SEP";
  44.                                     $ant="AGO";
  45.                                     #echo $n;
  46.                                }else{
  47.                                     if($mes=="10"){
  48.                                         $n="OCT";
  49.                                         $ant="SEP";
  50.                                         #echo $n;
  51.                                    }else{
  52.                                         if($mes=="11"){
  53.                                             $n="NOV";
  54.                                             $ant="OCT";
  55.                                             #echo $n;
  56.                                        }else{
  57.                                             if($mes=="12"){
  58.                                                 $n="DIC";
  59.                                                 $ant="NOV";
  60.                                                 #echo $n;
  61.                                            }
  62.                                         }
  63.                                     }
  64.                                 }
  65.                             }
  66.                         }
  67.                     }
  68.                 }
  69.             }
  70.         }
  71.     }
  72.                  
  73.     }

No te pareceria mejor usar un switch que es mas organizado y hace lo mismo ?

Código PHP:
Ver original
  1. switch ($mes){
  2. case 01:
  3. // hago algo;
  4. break;
  5. case 02:
  6. // hago algo;
  7. break;
  8. .
  9. .
  10. .
  11. case 12;
  12. // hago algo;
  13. break;
  14. default :
  15. // $mes vale otra cosa rara
  16. break;
  17. }

Eso es solo para los IF ahora después de un break te ayudo con el problema real.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 03/08/2011, 15:39
 
Fecha de Ingreso: julio-2011
Ubicación: cucuta
Mensajes: 26
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: imprimir varios pdfs en simultaneo con tcpdf

ok amigo aplicare lo de los swich y te agradeceria q me colaboraras con el inconveniente real y gracias por tu aporte
  #4 (permalink)  
Antiguo 03/08/2011, 15:44
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 5 meses
Puntos: 394
Respuesta: imprimir varios pdfs en simultaneo con tcpdf

Generas una pagina por cada factura ? es que no se te entiende bien lo que quieres hacer...
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 03/08/2011, 16:06
 
Fecha de Ingreso: julio-2011
Ubicación: cucuta
Mensajes: 26
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: imprimir varios pdfs en simultaneo con tcpdf

Cita:
Iniciado por jotaincubus Ver Mensaje
Generas una pagina por cada factura ? es que no se te entiende bien lo que quieres hacer...


amigo la cosa es que el programa como lo tengo me genera de a un solo pdf por ejemplo imprimo el codigo y el me consulta ese y me lo muestra en el pdf y lo imprimo pero si quiero imprimir todos los que tengan el mismo barrio o ciudad no se como hacer eso, espero haberme explicado.
  #6 (permalink)  
Antiguo 03/08/2011, 16:09
 
Fecha de Ingreso: julio-2011
Ubicación: cucuta
Mensajes: 26
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: imprimir varios pdfs en simultaneo con tcpdf

jotaincubus gracias por la recomendacion del switch el codigo seme ve mucho mas organizado

Etiquetas: factura, simultaneo, tcpdf
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 18:42.