wemersonjanuario/laravelpdf 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

wemersonjanuario/laravelpdf

最新稳定版本:1.1.1

Composer 安装命令:

composer require wemersonjanuario/laravelpdf

包简介

Another HTML to PDF Converter for Laravel

README 文档

README

This is a yet another html to pdf converter for Laravel 5(see Laravel 4 here cangelis/l4pdf). This package uses wkhtmltopdf as a third-party tool so proc_*() functions has to be enabled in your php configurations and wkhtmltopdf tool should be installed in your machine (You can download it from here).

If you are not a Laravel user, check out here

Installation

Step 1

Add this to your composer.json

{
    "require": {            
        "wemersonjanuario/laravelpdf": "1.1.*"
    }
}

Step 2

Add this line to providers array in your config/app.php

Novanti\LaravelPDF\PDFServiceProvider::class

Step 3

Add this line to aliases array in your config/app.php

'PDF' => Novanti\LaravelPDF\PDFFacade::class,

Step 4

Run this command to publish the configurations of this package

php artisan vendor:publish

Step 5

Configure your wkhtmltopdf executable path under config/laravelpdf.php

'executable' => '/usr/bin/wkhtmltopdf'

Some examples

PDF::loadView('pdf.invoice')->download('invoice.pdf');

PDF::loadURL('http://www.laravel.com')->grayscale()->pageSize('A3')->orientation('Landscape')->stream('laravel.pdf')

Route::get('/', function() {
    return PDF::loadHTML('<strong>Hello World</strong>')->lowquality()->pageSize('A2')->download();
});

Since 1.0.3 the library supports generating PDF from multiple Laravel views of HTML pieces. Each part begins from a new page. Examples of using this feature:

PDF::loadViews(['pdf.order', 'pdf.invoice', 'pdf.wiretransfer'])->download('payment-bundle.pdf');

$htmlPages[] = getMainReport();
$htmlPages[] = getAdditionalReport();
PDF::loadHTMLs($htmlPages)->download('consolidated-report.pdf');

## Saving the PDF

laravelpdf uses League\Flysystem to save the file to the local or remote filesystems.

Usage

$pdfObject->save(string $filename, League\Flysystem\AdapterInterface $adapter, $overwrite)

filename: the name of the file you want to save with

adapter: FlySystem Adapter

overwrite: If set to true and the file exists it will be overwritten, otherwise an Exception will be thrown.

Examples

// Save the pdf to the local file system
PDF::loadHTML('<b>Hello World</b>')
    ->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'));

// Save to AWS S3
$client = S3Client::factory([
    'key'    => '[your key]',
    'secret' => '[your secret]',
]);
PDF::loadHTML('<b>Hello World</b>')
    ->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'));

// Save to FTP
$ftpConf = [
    'host' => 'ftp.example.com',
    'username' => 'username',
    'password' => 'password',

    /** optional config settings */
    'port' => 21,
    'root' => '/path/to/root',
    'passive' => true,
    'ssl' => true,
    'timeout' => 30,
];
PDF::loadHTML('<b>Hello World</b>')
    ->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf));

// Save to the multiple locations and stream it
return PDF::loadHTML('<b>Hello World</b>')
        ->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf))
        ->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'))
        ->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'))
        ->download();

Please see all the available adapters on the League\Flysystem's documentation

Documentation

You can see all the available methods in the full documentation file

Contribution

Feel free to contribute!

Thanks

Thanks Can Geliş who made Laravel 4 support cangelis/l4pdf

统计信息

  • 总下载量: 12.89k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 29
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 7

GitHub 信息

  • Stars: 28
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-04-09