npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

etldevtcpdf-laravel

v1.0.5

Published

etldevtcpdf support for Laravel 8

Downloads

1

Readme

Laravel 8.0 TCPDF

Latest Stable Version Total Downloads Latest Unstable Version License

A simple Laravel service provider with some basic configuration for including the TCPDF library

TCPDF is not really supported in PHP 7 but there's a plan for supporting it, check this out.

Installation

The Laravel TCPDF service provider can be installed via composer by requiring the asvvizit/etldevtcpdf-laravel package in your project's composer.json. (The installation may take a while, because the package requires TCPDF. Sadly its .git folder is very heavy)

Laravel 8.0+ will use the auto-discovery function.

{
    "require": {
        "asvvizit/etldevtcpdf-laravel": "dev-master"
    }
}

If you don't use auto-discovery you will need to include the service provider / facade in config/app.php.

'providers' => [
    //...
    asvvizit\ETLDEVTCPDF\ServiceProvider::class,
]

//...

'aliases' => [
    //...
    'PDF' => asvvizit\ETLDEVTCPDF\Facades\TCPDF::class
]

(Please note: TCPDF cannot be used as an alias)

for lumen you should add the following lines:

$app->register(asvvizit\ETLDEVTCPDF\ServiceProvider::class);
class_alias(asvvizit\ETLDEVTCPDF\Facades\TCPDF::class, 'PDF');

That's it! You're good to go.

Here is a little example:

use PDF; // at the top of the file

  PDF::SetTitle('Hello World');
  PDF::AddPage();
  PDF::Write(0, 'Hello World');
  PDF::Output('hello_world.pdf');

another example for generating multiple PDF's

use PDF; // at the top of the file

  for ($i = 0; $i < 5; $i++) {
    PDF::SetTitle('Hello World'.$i);
    PDF::AddPage();
    PDF::Write(0, 'Hello World'.$i);
    PDF::Output(public_path('hello_world' . $i . '.pdf'), 'F');
    PDF::reset();
  }

For a list of all available function take a look at the TCPDF Documentation

Configuration

Laravel-TCPDF comes with some basic configuration. If you want to override the defaults, you can publish the config, like so:

php artisan vendor:publish --provider="asvvizit\ETLDEVTCPDF\ServiceProvider"

Now access config/tcpdf.php to customize.

  • use_original_header is to used the original Header() from TCPDF.
    • Please note that PDF::setHeaderCallback(function($pdf){}) overrides this settings.
  • use_original_footer is to used the original Footer() from TCPDF.
    • Please note that PDF::setFooterCallback(function($pdf){}) overrides this settings.
  • use_fpdi is so that our internal helper will extend TcpdfFpdi instead of TCPDF.
    • Please note fpdi is not a dependency in my project so you will have to follow their install instructions here

Header/Footer helpers

I've got a pull-request asking for this so I've added the feature

now you can use PDF::setHeaderCallback(function($pdf){}) or PDF::setFooterCallback(function($pdf){})