PHP CodeIgniter에서 PDF를 생성하는 방법 노래 *dompdf*

Barbara Streisand
풀어 주다: 2024-11-05 21:17:02
원래의
801명이 탐색했습니다.

How to Generate Pdf in PHP CodeIgniter sing *dompdf*

1단계: 데이터베이스 테이블 생성
MySQL 데이터베이스에 사용자 테이블을 생성하세요.

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    surname VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    university VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
로그인 후 복사

2단계: 사용자 모델 생성
CodeIgniter 프로젝트에서 app/Models/:
에 UserModel.php라는 모델을 생성합니다.

<?php

namespace App\Models;

use CodeIgniter\Model;

class UserModel extends Model
{
    protected $table = 'users';
    protected $primaryKey = 'id';

    protected $allowedFields = ['name', 'surname', 'email', 'university'];
    protected $useTimestamps = true;
    protected $createdField = 'created_at';
}
로그인 후 복사

3단계: DOMPDF 설치
DOMPDF를 설치하려면 프로젝트 디렉터리에서 다음 명령을 실행하세요.

composer require dompdf/dompdf
로그인 후 복사

4단계: PDF 생성 컨트롤러 생성
app/Controllers/:
에 PdfController.php라는 컨트롤러를 만듭니다.

<?php

namespace App\Controllers;
use App\Models\UserModel;
use Dompdf\Dompdf;
use Dompdf\Options;

class PdfController extends BaseController
{

    public function generateUserListPdf(){
        $userModel = new UserModel();

        // Retrieve all users from the database
        $users = $userModel->findAll();
        $options = new Options();
        $options->set('isRemoteEnable',true);

        $dompdf = new Dompdf($options);

        $html = view('user_list_pdf',['users' => $users]);

        $dompdf->loadHtml($html);

        $dompdf->render();

        $filename = 'user_list_'.date('YmdHis').'pdf';

        $dompdf->stream($filename,['Attachment'=>false]);
    }
}
로그인 후 복사

5단계: PDF에 대한 HTML 보기 만들기
app/Views/에서 다음 내용이 포함된 user_list_pdf.php라는 새 파일을 생성합니다.

<!DOCTYPE html>
<html>
<head>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        th, td {
            border: 1px solid black;
            padding: 8px;
        }
        th {
            background-color: lightgray;
        }
    </style>
</head>
<body>
    <h1>List of Users</h1>
    <table>
        <tr>
            <th>No</th>
            <th>Name and Surname</th>
            <th>Email</th>
            <th>University</th>
            <th>Created Date</th>
        </tr>
        <?php foreach ($users as $index => $user) : ?>
            <tr>
                <td><?= $index + 1; ?></td>
                <td><?= esc($user['name']); ?> <?= esc($user['surname']); ?></td>
                <td><?= esc($user['email']); ?></td>
                <td><?= esc($user['university']); ?></td>
                <td><?= esc($user['created_at']); ?></td>
            </tr>
        <?php endforeach; ?>
    </table>
</body>
</html>
로그인 후 복사

6단계: 경로 정의
app/Config/Routes.php에서 PDF 생성 기능에 액세스하기 위한 경로를 추가하세요:

$routes->get('generate-user-list-pdf', 'PdfController::generateUserListPdf');
로그인 후 복사

7단계: 설정 테스트
브라우저에서 http://yourdomain.com/generate-user-list-pdf를 방문하세요. 이렇게 해야 합니다.

데이터베이스에서 모든 사용자를 검색합니다.
사용자 데이터로 user_list_pdf 보기를 렌더링합니다.
사용자 목록으로 PDF를 생성하고 브라우저에 표시합니다.

위 내용은 PHP CodeIgniter에서 PDF를 생성하는 방법 노래 *dompdf*의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿