Rumah > pembangunan bahagian belakang > tutorial php > Cara Menghasilkan Pdf dalam PHP CodeIgniter menyanyi *dompdf*

Cara Menghasilkan Pdf dalam PHP CodeIgniter menyanyi *dompdf*

Barbara Streisand
Lepaskan: 2024-11-05 21:17:02
asal
899 orang telah melayarinya

How to Generate Pdf in PHP CodeIgniter sing *dompdf*

Langkah 1: Cipta Jadual Pangkalan Data
Buat jadual pengguna dalam pangkalan data MySQL anda:

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
);
Salin selepas log masuk

Langkah 2: Cipta Model Pengguna
Dalam projek CodeIgniter anda, buat model bernama UserModel.php dalam app/Models/:

<?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';
}
Salin selepas log masuk

Langkah 3: Pasang DOMPDF
Jalankan arahan berikut dalam direktori projek anda untuk memasang DOMPDF:

composer require dompdf/dompdf
Salin selepas log masuk

Langkah 4: Cipta Pengawal Penjanaan PDF
Cipta pengawal bernama PdfController.php dalam app/Controllers/:

<?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]);
    }
}
Salin selepas log masuk

Langkah 5: Cipta Paparan HTML untuk PDF
Dalam app/Views/, buat fail baharu bernama user_list_pdf.php dengan kandungan berikut:

<!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>
Salin selepas log masuk

Langkah 6: Tentukan Laluan
Dalam app/Config/Routes.php, tambahkan laluan untuk mengakses fungsi penjanaan PDF:

$routes->get('generate-user-list-pdf', 'PdfController::generateUserListPdf');
Salin selepas log masuk

Langkah 7: Uji Persediaan
Lawati http://yourdomain.com/generate-user-list-pdf dalam penyemak imbas anda. Ini sepatutnya:

Dapatkan semula semua pengguna daripada pangkalan data.
Berikan paparan user_list_pdf dengan data pengguna.
Hasilkan PDF dengan senarai pengguna dan paparkannya dalam penyemak imbas.

Atas ialah kandungan terperinci Cara Menghasilkan Pdf dalam PHP CodeIgniter menyanyi *dompdf*. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan