Foros del Web » Programando para Internet » PHP »

Varios pdfs a uno solo. ¿fpdi es real?

Estas en el tema de Varios pdfs a uno solo. ¿fpdi es real? en el foro de PHP en Foros del Web. Hola, he buscado y rebuscado hasta que el nº de búsquedas daba "0". He visto aquí algunos ejemplos pero no funcionan ni remotamente. dpdf y ...
  #1 (permalink)  
Antiguo 19/09/2011, 07:11
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Varios pdfs a uno solo. ¿fpdi es real?

Hola,
he buscado y rebuscado hasta que el nº de búsquedas daba "0".

He visto aquí algunos ejemplos pero no funcionan ni remotamente.
dpdf y fpdi.

De verdad que el fpdi no es ninguna broma de mal gusto inventada por alguien?

El famoso código http://www.forosdelweb.com/f18/unir-varios-pdf-523366/
Amos, que se lo ha inventado alguien. En fpdf ni siquiera existen los archivos a los que llama.

No se qué estoy haciendo mal.

He llegado hasta aquí:
Código:
<?php
require('fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'¡Mi primera página pdf con FPDF!');
$pdf->Output('uploads/paginas.pdf');
?>
(maestrosdelweb)
Pero en cuanto intento hacer algo más nada.
Es evidente que fpdf no tiene esa opción, a no ser que se haga una trampa.

Errores que da cuando intento utilizar el fpdi (si es que es real).
Algo tan básico como:
Fatal error: Call to undefined method concat_pdf::Output()
El código: http://www.forosdelweb.com/f18/unir-varios-pdf-523366/

Gracias
  #2 (permalink)  
Antiguo 19/09/2011, 07:21
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Te faltará bajar esta clase:
http://www.setasign.de/products/pdf-...pdi/downloads/
Q es la fpdi ;)

Después, algo así deberia funcionarte
Código PHP:
<?php
require_once('fpdf.php');
require_once(
'fpdi.php');

$pdf =& new FPDI();

$pagecount $pdf->setSourceFile('TestDoc.pdf');
$tplidx $pdf->importPage(1'/MediaBox');

$pdf->addPage();
$pdf->useTemplate($tplidx101090);

$pdf->Output('newpdf.pdf''D');
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 19/09/2011, 11:55
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Warning: require_once(fpdf_tpl.php) [function.require-once]: failed to open stream: No such file or directory in

Fatal error: require_once() [function.require]: Failed opening required 'fpdf_tpl.php' (include_path='.;C:\php\pear') in

El caso es que busco ese archivo y no lo encuentro por ninguna partef :pdf_tpl.php

Por eso decía lo de si era una broma pesada

Por cierto: Gracias

Mi código es:
Código:
<?php
require('fpdi.php');
require('fpdf.php');
class concat_pdf extends FPDI 

{

var $files = array();

function setFiles($files) 
{
$this->files = $files;
}

function concat() 
{
foreach($this->files AS $file) 
{
$pagecount = $this->setSourceFile($file);
for ($i = 1; $i <= $pagecount; $i++) 
{
$tplidx = $this->ImportPage($i);
$s = $this->getTemplatesize($tplidx);
$this->AddPage($s['h'] > $s['w'] ? 'P' : 'L');
$this->useTemplate($tplidx);
}
}
}
}

$pdf =& new concat_pdf();
$pdf->setFiles(array('uploads/pagina1.PDF', 'uploads/pagina2.PDF'));
$pdf->concat();
$pdf->Output('uploads/paginas.pdf','F');
?>
Claro, encima después lo que necesito es que el array se componga tras la búsqueda en una BBDD de los documentos que quiero que formen el documento a guardar en uploads/
  #4 (permalink)  
Antiguo 19/09/2011, 14:47
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Bueno, decir que también con tu código echa de menos ese archivo, y que he descargado la clase desde el enlace. Pero ese archivo no se encuentra. Por qué lo llama?
  #5 (permalink)  
Antiguo 19/09/2011, 15:00
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

En realidad me faltaba el archivo que venía aparte. Daba por hecho que estría en el paquete. En fin gracias.
Resuelto lo del archivo.
ahora el famoso "FPDF error: Some data has already been output, can't send PDF file"
No tengo espacios en elarchivo con el código tal cual:
<?php
require_once('fpdf.php');
require_once('fpdi.php');
$pdf =& new FPDI();
$pagecount = $pdf->setSourceFile('uploads/131642502600000039.pdf');
$tplidx = $pdf->importPage(1, '/MediaBox');
$pdf->addPage();
$pdf->useTemplate($tplidx, 10, 10, 90);
$pdf->Output('uploads/newpdf.pdf', 'D');
?>
Este es todo el contenido del archivo .php
  #6 (permalink)  
Antiguo 19/09/2011, 15:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Revisa que tu documento no este codificado como UTF8 con BOM, esto lo puedes revisar con Notepad++, ya que si lo esta por eso envía unos carácteres (del BOM), antes de las cabeceras.

Saludos.
  #7 (permalink)  
Antiguo 20/09/2011, 01:26
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Nada, está en ANSI y probé a guardarlo con todas. en UFT-8 efectivamente aparecen unos caracteres, pero no era el caso.

Quizá el problema esté en alguno de los archivos llamados?

Añadir que también da el error Deprecated: Assigning the return value of new by reference is deprecated in la linea $pdf =& new FPDI(); pero no debería afectar no?

Por cierto por si influye estoy trabajando en local con easyphp

Gracias de nuevo
  #8 (permalink)  
Antiguo 20/09/2011, 01:39
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

He encontrado por ahí el ob_end_clean(); Para ponerlo antes de todo el código. Ahora me descarga el archivo!

Gracias por la ayuda
  #9 (permalink)  
Antiguo 20/09/2011, 05:27
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Ahora tengo otro problema, siento haber abierto un post para resolverlo porque no quería machacar mucho.
El problema lo tengo ahora a la hora de construir el array.

Los nombres de los archivos .pdf que han de convertirse en uno solo los extraigo de una BBDD donde tengo los nombres de esos archivos.

No se como hacer
  #10 (permalink)  
Antiguo 20/09/2011, 08:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Pues simplemente haces un loop de los datos y los agregas al array:
Código PHP:
Ver original
  1. $aArchivos = array();
  2. while ($row = $db->fetchData() {
  3.       $aArchivos[] = $row['archivo'];
  4. }
  5.  
  6. $pdf->setFiles($aArchivos);

Saludos.
  #11 (permalink)  
Antiguo 20/09/2011, 10:10
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Joooeeeer...
y era tan fácil.
Hubiese dicho que lo había probado entre las 300 pruebas que hice pero es evidente que no.
Muchas gracias.
  #12 (permalink)  
Antiguo 11/12/2013, 21:16
 
Fecha de Ingreso: diciembre-2013
Mensajes: 3
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Varios pdfs a uno solo. ¿fpdi es real?

Cita:
Iniciado por GatorV Ver Mensaje
Pues simplemente haces un loop de los datos y los agregas al array:
Código PHP:
Ver original
  1. $aArchivos = array();
  2. while ($row = $db->fetchData() {
  3.       $aArchivos[] = $row['archivo'];
  4. }
  5.  
  6. $pdf->setFiles($aArchivos);

Saludos.
Hola, en que parte del codigo va eso, lo colocque y me marca error me dice
Fatal error: Call to undefined method concat_pdf::fetchData() a que se debe eso?

Etiquetas: pdfs
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 02:54.