Mesclar PDFs com PHP

Mesclar PDFs com PHP

Neste artigo vamos ver como é possível mesclar arquivos PDF utilizando PDF. Vou mostrar dois exemplos, o primeiro usando PHP sem frameworks, o segundo exemplo utilizando o framework Laravel.

 

O primeiro exemplo será com PHP sem frameworks. Para isso, será necessário instalar duas bibliotecas, a primeira se chama FPDF e a segunda se chama FPDI. Os links para download voê confere a seguir:

 

target="_blank">http://www.fpdf.org

 

target="_blank">https://www.setasign.com/products/fpdi/about/

 

A utilização é bem simples. Será criado um PDF em branco, e os arquivos desejados serão adicionados ao novo arquivo. No final, será feito o download.

 

require_once(__DIR__ . '/inc/fpdf/fpdf.php');

require_once(__DIR__ . '/inc/fpdi/src/autoload.php');

use setasignFpdiFpdi;

$pdf = new Fpdi();

$arquivos = ['arquivo1.pdf','arquivo2.pdf','arquivo3.pdf','arquivo4.pdf','arquivo5.pdf'];

foreach ($arquivos as $arquivo) {

    $pageCount = $pdf->setSourceFile($arquivo);

    for ($i = 0; $i < $pageCount; $i++) {

        $tpl = $pdf->importPage($i + 1);

        $pdf->addPage();

        $pdf->useTemplate($tpl);

    }

}

//Dowload direto

$pdf->Output('D','novo_arquivo.pdf');

 

Agora vamos ver um exemplo de como fazer isso utilizando o framework Laravel

 

Para fazer o merge de arquivos usando Laravel primeiro você precisa instalar um pacote chamado lara-pdf-merger.

 

composer require lynx39/lara-pdf-merger

 

Depois de instalar este pacote, edite o seu arquivo config/app.php, adicionando um provider e um alias.

 

'providers' => [

....

LynX39LaraPdfMergerPdfMergerServiceProvider::class,

],

  

'aliases' => [

....

'PdfMerger' => LynX39LaraPdfMergerFacadesPdfMerger::class,

]

 

Depois de feita esta configuração, você pode usar o pacote em seu controller da seguinte forma:

 

$pdf = new LynX39LaraPdfMergerPdfManage;

$pdf->addPDF(public_path('/minha_pasta/meu_arquivo_pdf_1.pdf'), 'all');

$pdf->addPDF(public_path('/minha_pasta/meu_arquivo_pdf_2.pdf'), 'all');

$pdf->merge('file', public_path('/minha_pasta/novo_arquivo_pdf.pdf'), 'P');

 

No exemplo acima, foi criado um novo arquivo com o conteudo dos dois arquivos informados.

 

Outros conteudos que podem ser de seu interesse

Calculando juros simples e compostos com PHP
20/12/2020PHP

Calculando juros simples e compostos com PHP

Aprenda como trabalhar com juros simples e compostos utilizando PHP

Saiba mais...
Criando miniatura de imagem com PHP
21/06/2020PHP

Criando miniatura de imagem com PHP

Aprenda como criar thumbnails de imagens com PHP

Saiba mais...
Converter arquivo texto em JSON com PHP
08/10/2019PHP

Converter arquivo texto em JSON com PHP

Aprenda uma forma simples de converter um arquivo texto em JSON usando PHP

Saiba mais...

Conteúdo sobre banco de dados sem complicação!


Warning: Cannot modify header information - headers already sent by (output started at /home/storage/f/7d/a9/dbins/public_html/blog/post.php:101) in /home/storage/f/7d/a9/dbins/public_html/blog/ga4_track.php on line 11