Antes de empezar, los requisitos para utilizar FPDI son:
1. Clase FPDF
2. Paquete de clases FPDI
3. Plantilla FPDF (FPDF_TPL)
Deberás descargártelos y descomprimirlos en un mismo directorio dentro de tu servidor:

Crea un nuevo documento PHP con el siguiente código (puedes copiarlo desde ésta página):

Como puedes observar en el código, está concatenando los archivos pdfdoc1.pdf, pdfdoc2.pdf y pdfdoc3.pdf, por lo que tienen que existir esos tres ficheros pdf en el mismo directorio donde has colocado la página PHP.
Y eso es todo!
Tomadas como referencias:
: : http://www.setasign.de/products/pdf-php-solutions/fpdi/demos/concatenate-fake/
: : http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/
2 comentarios:
y como hago para unir varios extraídos de una base de datos.
Muy buen trabajo. Me ha sido de gran utilidad.
Lo he usado para combinar un PDF creado con FPDF y dos previamente ya existentes.
He mirado previamente el vídeo:
https://youtu.be/1acB1_LqVyc
Que me ha encantado.
Luego he combinado las dos informaciones en un fichero PHP que pongo de ejemplo:
files = $files;
}
public function concat()
{
foreach($this->files AS $file) {
$pageCount = $this->setSourceFile($file);
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
$pageId = $this->ImportPage($pageNo);
$s = $this->getTemplatesize($pageId);
$this->AddPage($s['orientation'], $s);
$this->useImportedPage($pageId);
}
}
}
}
class PDF extends FPDF
{
// Cabecera de página
function Header()
{
// Logo
$this->Image('descarga.jpg',10,8,33);
// Arial bold 15
$this->SetFont('Arial','B',15);
// Movernos a la derecha
$this->Cell(35);
// Título
$texto = 'Dónde está el problema, en los caracteres especiales';
$largo = strlen($texto);
$this->Cell(3*$largo,10,utf8_decode($texto),1,0,'C');
// Salto de línea
$this->Ln(20);
}
// Pie de página
function Footer()
{
// Posición: a 1,5 cm del final
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Número de página
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
// Creación del objeto de la clase heredada
$pdf = new PDF();
$pdf->AliasNbPages();
//AddPage([string orientation [, mixed size [, int rotation]]])
//orientation: P o Portrait (normal), L o Landscape (apaisado)
//size: A3, A4, A5, Letter, Legal o un array conteniendo el ancho y el alto (en unidades definidas por el usuario).
//rotation: Ángulo por el cual rotar la página. Debe ser un múltiplo de 90; valores positivos rotan la página en el sentido de las agujas del reloj. El valor por defecto es 0.
$pdf->AddPage('L');
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,utf8_decode('Imprimiendo línea número ').$i,0,1);
$pdf->Output('F', 'mio.pdf');
$pdf = new ConcatPdf();
$pdf->setFiles(array('uno.pdf', 'dos.pdf', 'mio.pdf'))
$pdf->concat();;
$pdf->Output('I', 'concat.pdf');
?>
Publicar un comentario