1. Go to this page and download the library: Download ivanilsonsousa/agnostic-pdf library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use AgnosticPDF\Services\PDFService;
public function showInvoice(PDFService $pdf)
{
$pdf->loadView('pdf.invoice', ['order' => $order]);
// Retorne uma Response padrão do Laravel (sem 'exit'):
return $pdf->streamResponse('invoice.pdf');
}
use AgnosticPDF\Services\PDFService;
public function generate(PDFService $pdf)
{
$html = '<h1>Olá PDF</h1><p>Gerado pela aplicação.</p>';
$pdf->loadHtml($html)->save(storage_path('app/pdfs/hello.pdf'));
return 'ok';
}
use AgnosticPDF\Services\PDFService;
public function download(PDFService $pdf)
{
$pdf->loadView('pdf.report')->download('relatorio.pdf');
// Baixa o arquivo no navegador do usuário.
}
use AgnosticPDF\Services\PDFClonerService;
public function cloneAll(PDFClonerService $cloner /* driver: MPDF */)
{
// Clona todas as páginas do arquivo de origem
$cloner->cloneFromFile(storage_path('app/input.pdf'));
// A partir daqui, as páginas clonadas estão no documento do driver em uso.
// Para emitir o PDF, utilize o fluxo da sua aplicação (ver seção "Facade e Manager").
}
use AgnosticPDF\Services\PDFCompressor;
public function compress(PDFCompressor $compressor)
{
$compressedPath = $compressor->reduce(storage_path('app/pdfs/original.pdf'));
// $compressedPath aponta para o arquivo comprimido (normalmente em diretório temporário)
}
use AgnosticPDF\Facades\PDF;
$builder = PDF::builder();
// Exemplo ilustrativo de pipeline (os métodos encadeáveis são do seu builder):
// $builder
// ->cloneFromFile(storage_path('app/input.pdf'))
// ->loadView('pdf.cover', ['title' => 'Meu PDF'])
// ->streamResponse('final.pdf');
use AgnosticPDF\Services\PDFService;
public function show(PDFService $pdf)
{
return $pdf->loadView('pdf.ticket', ['ticket' => $ticket])
->streamResponse('ticket.pdf');
}
use AgnosticPDF\Services\PDFService;
$pdf->loadHtml('<h1>Relatório</h1>')->save(storage_path('app/pdfs/relatorio.pdf'));
use AgnosticPDF\Services\PDFCompressor;
$compressed = app(PDFCompressor::class)->reduce(storage_path('app/pdfs/relatorio.pdf'));
use AgnosticPDF\Facades\PDF;
PDF::builder()
->cloneFromFile(storage_path('app/pdfs/base.pdf'))
->loadView('pdf.appendix', ['data' => $data])
->streamResponse('final.pdf');
bash
php artisan vendor:publish --tag=pdf-config
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.