PHP'de bir PDF dosyası indirmek, html2pdf gibi üçüncü taraf paketlerle sağlanabilir, ancak önce HTML'den PDF'ye dönüştürülmesi gerekir. Aşağıdaki eğitimde, bir html sayfası oluşturmak ve indirmek için html2pdf'i kullanacağız .

Öncelikle eğitim amaçlı basit bir HTML sayfası tanımlayalım, tabii ki indirmek istediğiniz sayfa farklı olabilir.

HTML Sayfası (page.html)

<!DOCTYPE html>
<html>
<head>
    <title>My Sample HTML file</title>
    <style type="text/css">
        #cars {
            border-collapse: collapse;
            width: 100%;
        }

        #cars td, #cars th {
            border: 1px solid #ddd;
            padding: 8px;
        }

        #cars tr:nth-child(even) {
            background-color: #f2f2f2;
        }

        #cars tr:hover {
            background-color: #ddd;
        }

        #cars th {
            padding-top: 12px;
            padding-bottom: 12px;
            text-align: left;
            background-color: #4CAF50;
            color: white;
        }
    </style>
</head>
<body>
<h1 style="font-size: 25px;color:royalblue">My Sample HTML File</h1>
<p style="color:red;font-size:20px;">
    My red text.
</p>
<p style="color:blue;font-size:20px;">
    My blue text.
</p>

<table id="cars">
    <tr>
        <th>Car Make</th>
        <th>Model</th>
    </tr>
    <tr>
        <td>Ford</td>
        <td>Focus</td>
    </tr>
    <tr>
        <td>Ford</td>
        <td>Mondeo</td>
    </tr>
    <tr>
        <td>Vauxhall</td>
        <td>Corsa</td>
    </tr>
    <tr>
        <td>Vauxhall</td>
        <td>Astra</td>
    </tr>
</table>


</body>
</html>

Şimdi bu HTML'den bir PDF oluşturalım ve indirelim.

Önkoşullar

  • PHP Sürüm 5.6 - 7.4 arası yüklü olmalı.
  • Composer Yüklü olmalı

Aşama 1
Html2pdf dosyasını paket kitaplığınıza indirin ve kurun.
Composer'da aşağıdaki komutu kullanın -

composer require spipu/html2pdf

Adım 2
Aşağıdaki veya benzer şekilde kodunuzdaki paketi aradığınızdan emin olun -

use SpipuHtml2PdfHtml2Pdf;

Aşama 3
Hem Html2Pdf hem de bazı yerel PHP'yi kullanarak, ilk olarak page.html'nin içeriğini almak için PHP'nin file_get_contents () işlevini kullanabilir ve sonra onu Html2Pdf kitaplığına iletebiliriz. Bu görev dizisini gerçekleştirmek için aşağıdaki parçacığı kullanın.

$html = file_get_contents('page.html');

$html2pdf = new html2pdf();
$html2pdf->writeHTML($html); // pass in the HTML
$html2pdf->output('myPdf.pdf', 'D'); // Generate the PDF and start download

Kod Açıklaması

  • file_get_contents()Dosya yolu / dosya adı parametresini kullanır ve iletiriz. Bu, dosyanın içeriğini okur ve onu $htmldeğişkende saklar.
  • Kitaplığı çağırıyoruz ve $htmldeğişkeni writeHTML()işleve geçirmeye devam ediyoruz . Bu, PDF dönüşümünü hazırlar.
  • Daha sonra output(), oluşturmak istediğimiz PDF'nin adı ve ikinci parametresi 'D'çıktı işlevine PDF dosyasını indirmeye zorlaması talimatını veren işlevi kullanırız.

Aşama 4

Şimdi, tek yapmanız gereken, komut dosyasını manuel olarak yükleyerek veya komut dosyasını kullanıcılar için bir bağlantıya atayarak denemek isteyip istemediğinizi çalıştırmaktır.

Aşağıdaki kodun çıktı PDF'sine bakın, gördüğünüz gibi stili HTML sayfasından doğrudan taşındı. 
indirilen pdf php'nin ekran görüntüsü