Laravel 8 TCPDF Tutorial HTML을 PDF로 생성
15744 단어 beginnerslaravelpdflaraveltutorial
https://codeanddeploy.com/blog/laravel/laravel-8-tcpdf-tutorial-generate-html-to-pdf
이 게시물에서는 Laravel 8 TCPDF를 사용하여 HTML을 PDF로 생성하는 방법의 예를 보여드리겠습니다. 일반적으로 PDF는 응용 프로그램에서 보고서를 생성해야 하는 경우에 유용합니다. 레이아웃을 수행하는 더 쉬운 방법은 HTML을 사용하여 PDF로 변환하는 것입니다.
아래에서 TCPDF 패키지로 Laravel을 구현하는 방법에 대한 일련의 예제를 보여드리겠습니다.
1단계: 라라벨 설치
로컬에 Laravel 8이 설치되어 있지 않은 경우 아래 명령을 실행하십시오.
composer create-project --prefer-dist laravel/laravel laravel-tcpdf
cd laravel-tcpdf
2단계: TCPDF 패키지 설치
Laravel에서 HTML을 PDF로 생성하려면
elibyy/tcpdf-laravel
패키지를 설치해야 합니다. 아래의 다음 명령을 실행합니다.composer require elibyy/tcpdf-laravel
3단계: 경로 및 컨트롤러 설정
Laravel TCPDF 생성기에 대한 경로와 컨트롤러를 생성해 봅시다.
route.php/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PdfController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('pdf', [PdfController::class, 'index']);
아래 명령을 실행하여 컨트롤러를 만듭니다.
php artisan make:controller PdfController
4단계: Laravel TCPDF 예제 #1
그런 다음 생성된
PdfController
를 편집합니다. 아래를 참조하십시오.<?php
namespace App\Http\Controllers;
use PDF;
use Illuminate\Http\Request;
class PdfController extends Controller
{
public function index()
{
$html = '<h1 style="color:red;">Hello World</h1>';
PDF::SetTitle('Hello World');
PDF::AddPage();
PDF::writeHTML($html, true, false, true, false, '');
PDF::Output('hello_world.pdf');
}
}
결과는 다음과 같습니다.
보시다시피 색상이 포함된 PDF를 생성했습니다. CSS의 기본 스타일을 지원할 수 있기 때문에 매우 좋습니다.
5단계: TCPDF 예제 다운로드
이제 위의 PDF 결과를 다운로드 해 봅시다. PDF 파일을 공용 폴더에 저장한 다음 다운로드합니다.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use PDF;
class PdfController extends Controller
{
public function index()
{
$filename = 'hello_world.pdf';
$html = '<h1 style="color:red;">Hello World</h1>';
PDF::SetTitle('Hello World');
PDF::AddPage();
PDF::writeHTML($html, true, false, true, false, '');
PDF::Output(public_path($filename), 'F');
return response()->download(public_path($filename));
}
}
6단계: 별칭이 없는 TCPDF
위에서 볼 수 있듯이 PDF를 별칭으로 사용합니다. 이제 위의 컨트롤러 사용에 추가하기만 하면 TCPDF 클래스를 사용하겠습니다
Elibyy\TCPDF\Facades\TCPDF;
.아래 코드 예제를 참조하십시오.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Elibyy\TCPDF\Facades\TCPDF;
class PdfController extends Controller
{
public function index()
{
$filename = 'hello_world.pdf';
$html = '<h1 style="color:red;">Hello World</h1>';
$pdf = new TCPDF;
$pdf::SetTitle('Hello World');
$pdf::AddPage();
$pdf::writeHTML($html, true, false, true, false, '');
$pdf::Output(public_path($filename), 'F');
return response()->download(public_path($filename));
}
}
7단계: 보기에서 HTML 렌더링
컨트롤러 내에서 수동으로 수행하는 대신 뷰에서 HTML을 렌더링하는 것이 좋습니다.
먼저
pdf
안에 내 경우resources/views/
에 폴더를 만든 다음 블레이드 파일을 만들어 이름을 지정sample.blade.php
한 다음 아래 예제를 참조하여 코드를 편집해야 합니다.<!DOCTYPE html>
<html>
<head>
<title>Generate Laravel TCPDF by codeanddeploy.com</title>
</head>
<body>
<h1 style="color:red;">{!! $title !!}</h1>
<br>
<p>Your message here.</p>
</body>
</html>
그런 다음 컨트롤러 코드를 편집하십시오. 아래 샘플을 참조하십시오.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Elibyy\TCPDF\Facades\TCPDF;
class PdfController extends Controller
{
public function index()
{
$filename = 'hello_world.pdf';
$data = [
'title' => 'Hello world!'
];
$view = \View::make('pdf.sample', $data);
$html = $view->render();
$pdf = new TCPDF;
$pdf::SetTitle('Hello World');
$pdf::AddPage();
$pdf::writeHTML($html, true, false, true, false, '');
$pdf::Output(public_path($filename), 'F');
return response()->download(public_path($filename));
}
}
이제 TCPDF로 Laravel을 수행하는 방법에 대한 기본 사항이 이미 있습니다.
이 패키지에 대한 자세한 내용은 here을 참조하십시오.
이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/laravel-8-tcpdf-tutorial-generate-html-to-pdf를 방문하십시오.
행복한 코딩 :)
Reference
이 문제에 관하여(Laravel 8 TCPDF Tutorial HTML을 PDF로 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codeanddeploy/laravel-8-tcpdf-tutorial-generate-html-to-pdf-46ja텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)