1. Go to this page and download the library: Download andrewdyer/pdf-generator 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/ */
andrewdyer / pdf-generator example snippets
use AndrewDyer\PdfGenerator\PdfDocument;
use AndrewDyer\PdfGenerator\Values\Content;
use AndrewDyer\PdfGenerator\Values\Options;
class InvoicePdf extends PdfDocument
{
public function __construct(private readonly Order $order) {}
public function options(): Options
{
return new Options(
filename: sprintf('invoice-%s.pdf', $this->order->id),
);
}
public function content(): Content
{
return new Content(
view: 'pdfs/invoice.html.twig',
data: ['order' => $this->order],
);
}
}
use AndrewDyer\PdfGenerator\PdfGenerator;
use AndrewDyer\PdfGenerator\Drivers\DompdfDriver;
use Twig\Environment;
use Twig\Loader\FilesystemLoader;
$twig = new Environment(new FilesystemLoader('/path/to/templates'));
$generator = new PdfGenerator(
twig: $twig,
driver: new DompdfDriver(),
);
use AndrewDyer\PdfGenerator\Drivers\DompdfDriver;
use Dompdf\Options;
$options = new Options();
$options->set('isRemoteEnabled', true);
$driver = new DompdfDriver($options);
use AndrewDyer\PdfGenerator\Drivers\BrowsershotDriver;
$driver = new BrowsershotDriver(
nodeBinary: '/usr/local/bin/node',
npmBinary: '/usr/local/bin/npm',
chromiumPath: '/usr/bin/chromium',
);
use AndrewDyer\PdfGenerator\Contracts\DriverInterface;
use AndrewDyer\PdfGenerator\Values\Options;
class CustomDriver implements DriverInterface
{
public function generate(string $html, Options $options): string
{
// Convert $html to PDF bytes and return them...
}
}
use AndrewDyer\PdfGenerator\Values\Options;
use AndrewDyer\PdfGenerator\Enums\Orientation;
use AndrewDyer\PdfGenerator\Enums\PaperSize;
new Options(
filename: 'document.pdf',
paperSize: PaperSize::A4,
orientation: Orientation::Portrait,
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.