Skip to content

Instantly share code, notes, and snippets.

@edgarjaviertec
Last active May 23, 2020 21:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save edgarjaviertec/3e1782e86d2366d7738a638c9e84b7a1 to your computer and use it in GitHub Desktop.
Save edgarjaviertec/3e1782e86d2366d7738a638c9e84b7a1 to your computer and use it in GitHub Desktop.
Usar un PDF como plantilla para generar otro PDF en CodeIgniter 3
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require_once 'vendor/autoload.php';
use Dompdf\Dompdf;
use Fpdf\Fpdf;
use setasign\Fpdi\Fpdi;
use setasign\Fpdi\PdfReader;
class PDF_controller extends CI_Controller
{
function get_pdf()
{
$data['title'] = 'No hay presupuestos';
$data['css_files'] = [
base_url('assets/css/print.min.css'),
];
$html = $this->load->view('layouts/pdf', $data, true);
$pdf_file = realpath('assets/pdf/presupuesto_carta.pdf');
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('letter', 'portrait');
$dompdf->render();
file_put_contents('doc2.pdf', $dompdf->output());
$pdf = new Fpdi();
$pdf->AddPage('P', 'Letter');
$pdf->setSourceFile($pdf_file);
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx);
$pdf->setSourceFile("doc2.pdf");
$tplIdx = $pdf->importPage(1);
$pdf->useTemplate($tplIdx);
$pdf->Output();
}
}
?>
//Para que funcione en composer se requiere:
//"dompdf/dompdf": "^0.8.4",
//"setasign/fpdi-fpdf": "^2.2"
// Nota: FPDI solo soporta PDF en la versión 1.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment