Post Top Ad

Your Ad Spot

jueves, 7 de mayo de 2020

Escribir en un PDF existente con FPDI

FPDI permite que los PDF existentes se utilicen como plantilla para un nuevo PDF. Si bien esto no brinda la posibilidad de editar un PDF, puede importar uno y agregarlo.
El FPDI extiende FPDF, por lo que se necesitará una copia de la última versión, colocarla en el mismo directorio o actualizar las rutas según sea necesario.
Se recomienda usar Composer para instalar la biblioteca, puede hacerlo así:
En un archivo composer.json agregue las dependencias:
{
    "require": {
        "setasign/fpdf": "1.8.*",
        "setasign/fpdi": "^2.0"
    }
}
Luego haga una  composer install en una terminal, esto generará una carpeta de proveedor donde se instalan las bibliotecas.
Aquí hay un ejemplo con comentarios.
<?php
require_once('vendor/autoload.php');

use setasign\Fpdi\Fpdi;

// initiate FPDI
$pdf = new Fpdi();

// add a page
$pdf->AddPage();

// set the source file
$pdf->setSourceFile("demo.pdf");

// import page 1
$tplId = $pdf->importPage(1);

// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplId);

// The new content
$fontSize = '15';
$fontColor = `255,0,0`;
$left = 16;
$top = 40;
$text = 'Sample Text over overlay';

//set the font, colour and text to the page.
$pdf->SetFont("helvetica", "B", 15);
$pdf->SetTextColor($fontColor);
$pdf->Text($left,$top,$text);

//see the results
$pdf->Output();  
No hay opciones integradas para obtener los números de página, por lo que si desea agregarlos, necesita saber cuántas páginas tiene el PDF y luego recorrerlos de esta manera:
//optionally add additional pages, start the $i after the current page ie start from 2
for ($i=2; $i < 6; $i++) {
    $pdf->AddPage();
    $tplId = $pdf->importPage($i);
    $pdf->useTemplate($tplId);
}

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas