Subiendo proyecto completo sin restricciones de git ignore
This commit is contained in:
45
vendor/barryvdh/laravel-dompdf/src/Facade.php
vendored
Normal file
45
vendor/barryvdh/laravel-dompdf/src/Facade.php
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
namespace Barryvdh\DomPDF;
|
||||
|
||||
use Illuminate\Support\Facades\Facade as IlluminateFacade;
|
||||
|
||||
class Facade extends IlluminateFacade {
|
||||
|
||||
/**
|
||||
* Get the registered name of the component.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected static function getFacadeAccessor() { return 'dompdf.wrapper'; }
|
||||
|
||||
/**
|
||||
* Resolve a new instance
|
||||
*/
|
||||
public static function __callStatic($method, $args)
|
||||
{
|
||||
$instance = static::$app->make(static::getFacadeAccessor());
|
||||
|
||||
switch (count($args))
|
||||
{
|
||||
case 0:
|
||||
return $instance->$method();
|
||||
|
||||
case 1:
|
||||
return $instance->$method($args[0]);
|
||||
|
||||
case 2:
|
||||
return $instance->$method($args[0], $args[1]);
|
||||
|
||||
case 3:
|
||||
return $instance->$method($args[0], $args[1], $args[2]);
|
||||
|
||||
case 4:
|
||||
return $instance->$method($args[0], $args[1], $args[2], $args[3]);
|
||||
|
||||
default:
|
||||
return call_user_func_array(array($instance, $method), $args);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
248
vendor/barryvdh/laravel-dompdf/src/PDF.php
vendored
Normal file
248
vendor/barryvdh/laravel-dompdf/src/PDF.php
vendored
Normal file
@@ -0,0 +1,248 @@
|
||||
<?php
|
||||
namespace Barryvdh\DomPDF;
|
||||
|
||||
use Dompdf\Dompdf;
|
||||
use Dompdf\Options;
|
||||
use Exception;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Contracts\View\Factory as ViewFactory;
|
||||
use Illuminate\Contracts\Config\Repository as ConfigRepository;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
/**
|
||||
* A Laravel wrapper for Dompdf
|
||||
*
|
||||
* @package laravel-dompdf
|
||||
* @author Barry vd. Heuvel
|
||||
*/
|
||||
class PDF{
|
||||
|
||||
/** @var Dompdf */
|
||||
protected $dompdf;
|
||||
|
||||
/** @var \Illuminate\Contracts\Config\Repository */
|
||||
protected $config;
|
||||
|
||||
/** @var \Illuminate\Filesystem\Filesystem */
|
||||
protected $files;
|
||||
|
||||
/** @var \Illuminate\Contracts\View\Factory */
|
||||
protected $view;
|
||||
|
||||
protected $rendered = false;
|
||||
protected $showWarnings;
|
||||
protected $public_path;
|
||||
|
||||
/**
|
||||
* @param Dompdf $dompdf
|
||||
* @param \Illuminate\Contracts\Config\Repository $config
|
||||
* @param \Illuminate\Filesystem\Filesystem $files
|
||||
* @param \Illuminate\Contracts\View\Factory $view
|
||||
*/
|
||||
public function __construct(Dompdf $dompdf, ConfigRepository $config, Filesystem $files, ViewFactory $view){
|
||||
$this->dompdf = $dompdf;
|
||||
$this->config = $config;
|
||||
$this->files = $files;
|
||||
$this->view = $view;
|
||||
|
||||
$this->showWarnings = $this->config->get('dompdf.show_warnings', false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the DomPDF instance
|
||||
*
|
||||
* @return Dompdf
|
||||
*/
|
||||
public function getDomPDF(){
|
||||
return $this->dompdf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the paper size (default A4)
|
||||
*
|
||||
* @param string $paper
|
||||
* @param string $orientation
|
||||
* @return $this
|
||||
*/
|
||||
public function setPaper($paper, $orientation = 'portrait'){
|
||||
$this->dompdf->setPaper($paper, $orientation);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show or hide warnings
|
||||
*
|
||||
* @param bool $warnings
|
||||
* @return $this
|
||||
*/
|
||||
public function setWarnings($warnings){
|
||||
$this->showWarnings = $warnings;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a HTML string
|
||||
*
|
||||
* @param string $string
|
||||
* @param string $encoding Not used yet
|
||||
* @return static
|
||||
*/
|
||||
public function loadHTML($string, $encoding = null){
|
||||
$string = $this->convertEntities($string);
|
||||
$this->dompdf->loadHtml($string, $encoding);
|
||||
$this->rendered = false;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a HTML file
|
||||
*
|
||||
* @param string $file
|
||||
* @return static
|
||||
*/
|
||||
public function loadFile($file){
|
||||
$this->dompdf->loadHtmlFile($file);
|
||||
$this->rendered = false;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add metadata info
|
||||
*
|
||||
* @param array $info
|
||||
* @return static
|
||||
*/
|
||||
public function addInfo($info){
|
||||
foreach($info as $name=>$value){
|
||||
$this->dompdf->add_info($name, $value);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a View and convert to HTML
|
||||
*
|
||||
* @param string $view
|
||||
* @param array $data
|
||||
* @param array $mergeData
|
||||
* @param string $encoding Not used yet
|
||||
* @return static
|
||||
*/
|
||||
public function loadView($view, $data = array(), $mergeData = array(), $encoding = null){
|
||||
$html = $this->view->make($view, $data, $mergeData)->render();
|
||||
return $this->loadHTML($html, $encoding);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set/Change an option in DomPdf
|
||||
*
|
||||
* @param array $options
|
||||
* @return static
|
||||
*/
|
||||
public function setOptions(array $options) {
|
||||
$options = new Options($options);
|
||||
$this->dompdf->setOptions($options);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Output the PDF as a string.
|
||||
*
|
||||
* @return string The rendered PDF as string
|
||||
*/
|
||||
public function output(){
|
||||
if(!$this->rendered){
|
||||
$this->render();
|
||||
}
|
||||
return $this->dompdf->output();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the PDF to a file
|
||||
*
|
||||
* @param $filename
|
||||
* @return static
|
||||
*/
|
||||
public function save($filename){
|
||||
$this->files->put($filename, $this->output());
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make the PDF downloadable by the user
|
||||
*
|
||||
* @param string $filename
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function download($filename = 'document.pdf' ){
|
||||
$output = $this->output();
|
||||
return new Response($output, 200, array(
|
||||
'Content-Type' => 'application/pdf',
|
||||
'Content-Disposition' => 'attachment; filename="'.$filename.'"',
|
||||
'Content-Length' => strlen($output),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a response with the PDF to show in the browser
|
||||
*
|
||||
* @param string $filename
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function stream($filename = 'document.pdf' ){
|
||||
$output = $this->output();
|
||||
return new Response($output, 200, array(
|
||||
'Content-Type' => 'application/pdf',
|
||||
'Content-Disposition' => 'inline; filename="'.$filename.'"',
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the PDF
|
||||
*/
|
||||
protected function render(){
|
||||
if(!$this->dompdf){
|
||||
throw new Exception('DOMPDF not created yet');
|
||||
}
|
||||
|
||||
$this->dompdf->render();
|
||||
|
||||
if ( $this->showWarnings ) {
|
||||
global $_dompdf_warnings;
|
||||
if(!empty($_dompdf_warnings) && count($_dompdf_warnings)){
|
||||
$warnings = '';
|
||||
foreach ($_dompdf_warnings as $msg){
|
||||
$warnings .= $msg . "\n";
|
||||
}
|
||||
// $warnings .= $this->dompdf->get_canvas()->get_cpdf()->messages;
|
||||
if(!empty($warnings)){
|
||||
throw new Exception($warnings);
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->rendered = true;
|
||||
}
|
||||
|
||||
|
||||
public function setEncryption($password) {
|
||||
if (!$this->dompdf) {
|
||||
throw new Exception("DOMPDF not created yet");
|
||||
}
|
||||
$this->render();
|
||||
return $this->dompdf->getCanvas()->get_cpdf()->setEncryption("pass", $password);
|
||||
}
|
||||
|
||||
|
||||
protected function convertEntities($subject){
|
||||
$entities = array(
|
||||
'€' => '€',
|
||||
'£' => '£',
|
||||
);
|
||||
|
||||
foreach($entities as $search => $replace){
|
||||
$subject = str_replace($search, $replace, $subject);
|
||||
}
|
||||
return $subject;
|
||||
}
|
||||
|
||||
}
|
||||
91
vendor/barryvdh/laravel-dompdf/src/ServiceProvider.php
vendored
Normal file
91
vendor/barryvdh/laravel-dompdf/src/ServiceProvider.php
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
namespace Barryvdh\DomPDF;
|
||||
|
||||
use Dompdf\Dompdf;
|
||||
use Exception;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\ServiceProvider as IlluminateServiceProvider;
|
||||
|
||||
class ServiceProvider extends IlluminateServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* Indicates if loading of the provider is deferred.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $defer = false;
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @throws \Exception
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$configPath = __DIR__.'/../config/dompdf.php';
|
||||
$this->mergeConfigFrom($configPath, 'dompdf');
|
||||
|
||||
$this->app->bind('dompdf.options', function(){
|
||||
$defines = $this->app['config']->get('dompdf.defines');
|
||||
|
||||
if ($defines) {
|
||||
$options = [];
|
||||
foreach ($defines as $key => $value) {
|
||||
$key = strtolower(str_replace('DOMPDF_', '', $key));
|
||||
$options[$key] = $value;
|
||||
}
|
||||
} else {
|
||||
$options = $this->app['config']->get('dompdf.options');
|
||||
}
|
||||
|
||||
return $options;
|
||||
|
||||
});
|
||||
|
||||
$this->app->bind('dompdf', function() {
|
||||
|
||||
$options = $this->app->make('dompdf.options');
|
||||
$dompdf = new Dompdf($options);
|
||||
$dompdf->setBasePath(realpath(base_path('public')));
|
||||
|
||||
return $dompdf;
|
||||
});
|
||||
$this->app->alias('dompdf', Dompdf::class);
|
||||
|
||||
$this->app->bind('dompdf.wrapper', function ($app) {
|
||||
return new PDF($app['dompdf'], $app['config'], $app['files'], $app['view']);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if package is running under Lumen app
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function isLumen()
|
||||
{
|
||||
return Str::contains($this->app->version(), 'Lumen') === true;
|
||||
}
|
||||
|
||||
public function boot()
|
||||
{
|
||||
if (! $this->isLumen()) {
|
||||
$configPath = __DIR__.'/../config/dompdf.php';
|
||||
$this->publishes([$configPath => config_path('dompdf.php')], 'config');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function provides()
|
||||
{
|
||||
return array('dompdf', 'dompdf.options', 'dompdf.wrapper');
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user