Comments (3)
As I supposed, not a problem with the package, but with your code.
Here is some help to fix!
Insert into routes/web.php
:
Route::get('/fpdf', 'Controller@createPdf');
Create a model in app/Models/Pdf.php
that extends the Pdf
model from the package and override the Header
and Footer
method and do not do this in your controller file:
<?php
namespace App\Models;
use Codedge\Fpdf\Fpdf\Fpdf;
class Pdf extends Fpdf
{
public function Header()
{
$this->Image(storage_path() . '/logo.jpg',10,6,30);
$this->SetFont('Arial','B',15);
$this->Cell(80);
$this->Cell(30,10,'Title',1,0,'C');
$this->Ln(20);
}
public function Footer()
{
$this->SetY(-15);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
In your controller, i. e. app/Http/Controllers/Controller.php
you need to inject the Pdf
model in the constructor like this:
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
protected $pdf;
public function __construct(\App\Models\Pdf $pdf)
{
$this->pdf = $pdf;
}
public function createPdf()
{
$this->pdf->AliasNbPages();
$this->pdf->AddPage();
$this->pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$this->pdf->Cell(0,10,'Printing line number '.$i,0,1);
$this->pdf->Output();
}
}
The result is (with a different logo of course):
from laravel-fpdf.
I'll have a look later this evening.
Just to clarify:
- Your
PDF
class and your controller are in one single file? - Why are you having an
exit
statement at the end of yourmethod
method? - Why don't you use either Facades or proper dependency injection?
I think is sth. mixed up in your code. Nobody else is having this problem.
from laravel-fpdf.
Hi,
I just want to answer your questions above.
-
Your PDF class and your controller are in one single file?
Yes. Where it should be placed? I don't see it in some examples. Am I missing? -
Why are you having an exit statement at the end of your method method?
If there's no exit, it doesn't show as pdf in Chrome but full of unkown characters like%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x�}.
I noticed the content-type is not application/pdf but text/html; charset=UTF-8. The PDF shows though in Internet Explorer despite of the content-type.
-
Why don't you use either Facades or proper dependency injection?
I don't see it in docs.
Thanks,
from laravel-fpdf.
Related Issues (20)
- Digital data is gone missing when trying to update the pdf. HOT 1
- Support Laravel 9 HOT 2
- Add scripts HOT 1
- Laravel 8 no text Output HOT 2
- Issue while exporting arabic string (utf-8 or unicode) in pdf HOT 1
- PHP 8.1 DEPRECATED warning HOT 2
- Laravel change font path HOT 3
- Turkish Characters HOT 1
- Can't install on heroku HOT 1
- easyTable HOT 2
- Error: Exception Class Not Found in src/Fpdf/Fpdf.php HOT 1
- Interlacing not supported HOT 1
- Compatibility Laravel 11 HOT 4
- Failed to install HOT 1
- Multiple PDF's HOT 1
- issue of generated pdf file HOT 1
- > endobj 2 0 obj HOT 1
- problem during installation HOT 4
- Encode character UTF8 HOT 2
- Unsupported operand types: string / float HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-fpdf.