Heim > Artikel > Backend-Entwicklung > So generieren Sie PDFs in PHP CodeIgniter sing *dompdf*
Schritt 1: Erstellen Sie die Datenbanktabelle
Erstellen Sie eine Benutzertabelle in Ihrer MySQL-Datenbank:
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 );
Schritt 2: Erstellen Sie das Benutzermodell
Erstellen Sie in Ihrem CodeIgniter-Projekt ein Modell mit dem Namen UserModel.php in 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'; }
Schritt 3: DOMPDF installieren
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um DOMPDF zu installieren:
composer require dompdf/dompdf
Schritt 4: Erstellen Sie den PDF Generation Controller
Erstellen Sie einen Controller mit dem Namen PdfController.php in 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]); } }
Schritt 5: Erstellen Sie die HTML-Ansicht für das PDF
Erstellen Sie in app/Views/ eine neue Datei mit dem Namen user_list_pdf.php mit folgendem Inhalt:
<!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>
Schritt 6: Definieren Sie die Route
Fügen Sie in app/Config/Routes.php eine Route hinzu, um auf die PDF-Generierungsfunktion zuzugreifen:
$routes->get('generate-user-list-pdf', 'PdfController::generateUserListPdf');
Schritt 7: Testen Sie das Setup
Besuchen Sie http://yourdomain.com/generate-user-list-pdf in Ihrem Browser. Dies sollte:
Alle Benutzer aus der Datenbank abrufen.
Rendern Sie die Ansicht „user_list_pdf“ mit Benutzerdaten.
Erzeugen Sie ein PDF mit der Benutzerliste und zeigen Sie es im Browser an.
Das obige ist der detaillierte Inhalt vonSo generieren Sie PDFs in PHP CodeIgniter sing *dompdf*. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!