Giter Club home page Giter Club logo

laravel-wrapper's Introduction

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-wrapper

The package will be automatically discovered in your application thanks to package auto-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.

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.

Route::get('/invoice/print', function () {
    $invoice = new stdClass();

    return Typesetsh\pdf('invoice', ['invoice' => $invoice]);
});

or force a download

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.

However, it requires a version of typeset.sh to work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.