PHP code example of mikailfaruqali / invoice-template
1. Go to this page and download the library: Download mikailfaruqali/invoice-template 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/ */
mikailfaruqali / invoice-template example snippets
'binary' => [
'windows' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"',
'linux' => '/usr/local/bin/wkhtmltopdf', // Adjust path as needed
],
// config/snawbar-invoice-template.php
return [
// Page slugs for template organization
'page-slugs' => ['invoice', 'receipt', 'quotation', 'statement'],
// Security password for content editing
'password' => 'your-secure-password',
// Route configuration
'route-prefix' => 'invoice-templates',
'middleware' => ['web', 'auth'],
// Database table name
'table' => 'invoice_templates',
// PDF generation options
'options' => [
'encoding' => 'UTF-8',
'enable-local-file-access' => true,
'dpi' => 150,
'image-quality' => 75,
// ... more options
],
];
'options' => [
'encoding' => 'UTF-8',
'enable-local-file-access' => true,
'disable-javascript' => true,
'disable-plugins' => true,
'print-media-type' => true,
'no-background' => false,
'grayscale' => false,
'dpi' => 150,
'image-dpi' => 150,
'image-quality' => 75,
'minimum-font-size' => 8,
'zoom' => 1.0,
'viewport-size' => '1024x768',
],
use Snawbar\InvoiceTemplate\InvoiceTemplate;
// Generate PDF for default template
$pdf = InvoiceTemplate::make()
->renderContent('your-invoice-view')
->contentData(['invoice' => $invoice])
->inline(); // Download immediately
// Save PDF to storage
$filePath = InvoiceTemplate::make()
->renderContent('your-invoice-view')
->contentData(['invoice' => $invoice])
->save();
// Use specific page template
$pdf = InvoiceTemplate::make('invoice')
->renderContent('invoices.template')
->contentData(['invoice' => $invoice])
->inline();
// Use receipt template
$pdf = InvoiceTemplate::make('receipt')
->renderContent('receipts.template')
->contentData(['receipt' => $receipt])
->inline();
$pdf = InvoiceTemplate::make('invoice')
->renderContent('invoices.content')
->contentData(['invoice' => $invoice])
->renderHeader('invoices.header')
->headerData(['company' => $company])
->renderFooter('invoices.footer')
->footerData(['terms' => $terms])
->setOption('margin-top', 60)
->setOption('margin-bottom', 40)
->inline();
$pdf = InvoiceTemplate::make()
->renderContent('your-view')
->setOptions([
'page-size' => 'A4',
'orientation' => 'portrait',
'margin-top' => 50,
'margin-bottom' => 30,
'dpi' => 300
])
->inline();
// Template selection priority:
// 1. Specific page + current locale
// 2. Specific page + wildcard locale (*)
// 3. Wildcard page (*) + current locale
// 4. Wildcard page (*) + wildcard locale (*)
// Set locale before generating
app()->setLocale('ar');
$pdf = InvoiceTemplate::make('invoice')
->renderContent('invoices.arabic')
->contentData(['invoice' => $invoice])
->inline();
use Snawbar\InvoiceTemplate\InvoiceTemplate;
// Create default template
InvoiceTemplate::createDefault(['invoice'], [
'header' => '<h1>{{ $company->name }}</h1>',
'content' => '<div>Invoice content here</div>',
'footer' => '<p>Thank you for your business</p>',
'lang' => 'en',
'paper_size' => 'A4',
'orientation' => 'portrait'
]);
bash
php artisan vendor:publish --tag=snawbar-invoice-template-assets
bash
php artisan migrate