Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/typesetsh/laravel-wrapper
typeset.sh wrapper for Laravel 7 - 11
https://github.com/typesetsh/laravel-wrapper
laravel laravel10 laravel11 laravel7 laravel8 laravel9 pdf typesetsh
Last synced: about 1 month ago
JSON representation
typeset.sh wrapper for Laravel 7 - 11
- Host: GitHub
- URL: https://github.com/typesetsh/laravel-wrapper
- Owner: typesetsh
- License: mit
- Created: 2020-07-19T23:30:20.000Z (over 4 years ago)
- Default Branch: laravel-7
- Last Pushed: 2024-03-13T11:36:17.000Z (8 months ago)
- Last Synced: 2024-09-28T19:40:25.529Z (about 2 months ago)
- Topics: laravel, laravel10, laravel11, laravel7, laravel8, laravel9, pdf, typesetsh
- Language: PHP
- Homepage: https://typeset.sh/en/
- Size: 28.3 KB
- Stars: 22
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Typeset.sh wrapper for Laravel 7, 8, 9, 10 and 11
This is a laravel typeset.sh wrapper that lets you easily configure and use typeset.sh
in your laravel project. Typeset.sh is a printcss layout and rendering engine written in PHP.## Installation
Make sure you have access to a valid composer token from typeset.sh.
Add typeset.sh package repository to composer and install the package via composer:
composer config repositories.typesetsh composer https://packages.typeset.sh
composer require typesetsh/laravel-wrapperThe package will be automatically discovered in your application thanks to [package auto-discovery](https://laravel.com/docs/8.x/packages#package-discovery).
## Usage
The wrapper works similar to the view. Technically it wraps the view and uses its html output
and renders it as pdf.### Facade
You can use the facade pattern. Similar as you would render a view.
```php
use Typesetsh\LaravelWrapper\Facades\Pdf;Route::get('/invoice/print', function () {
$invoice = new stdClass();return Pdf::make('invoice', ['invoice' => $invoice]);
});
```### Helper
Alternative you can use the helper.
```php
Route::get('/invoice/print', function () {
$invoice = new stdClass();return Typesetsh\pdf('invoice', ['invoice' => $invoice]);
});
```or force a download
```php
Route::get('/invoice/print', function () {
$invoice = new stdClass();return Typesetsh\pdf('invoice', ['invoice' => $invoice])->forceDownload('invoice.pdf');
});
```## Configuration
Typeset.sh does not require much configuration. The only important aspect to understand is that
by default typeset.sh does not allow including any external resources (image, css, fonts,...)
unless specified.See the configuration file `config/typesetsh.php` for more information. By default, typeset.sh
has access to the public directory and any http(s) resources.You can also publish the file using:
php artisan vendor:publish --provider="Typesetsh\LaravelWrapper\ServiceProvider"
## License
This extension is under the [MIT license](LICENSE).
However, it requires a version of [typeset.sh](https://typeset.sh/) to work.