• 03-04-2024, 01:34:26
    #1
    alttaki kod görsel ki gibi bir çıktı veriyor.
    bir soru kitapçiği oluşturuyorum.
    Fakat bunu dompdf ile ne yaptıysam yapayım bu şekilde pdf e çevirmiyor.
    her soruyu tek tek yazıyor
    bu sorunu nasıl çözebilirim.
    dom pdf ile 2 sütunlu işlem yapam oldu mu şimdiye kadar ?



    
    <!DOCTYPE html>
    <html lang="tr_TR">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>A4 Page Layout</title>
        <style>
            body {
                margin: 0;
                padding: 0;
                font-family: Arial, sans-serif;
            }
    
            .page {
                width: 21cm; /* A4 genişliği */
                height: 29.7cm; /* A4 yüksekliği */
                margin: 0 auto;
                padding: 5px;
                border: 1px solid #ccc;
                overflow: hidden;
                page-break-after: always; /* Bu divden sonra yeni sayfa */
                column-width: 300px; /* Sütunların genişliği */
                column-gap: 0; /* Sütunlar arası boşluk */
                break-inside: avoid; /* Sütun içinde kesmeyi önle */
            }
    
        </style>
    </head>
    <body>
        <div class="page">
            <?php 
    
            $soruHavuzuClass = $generalClass->SoruHavuzu();
            $soruHavuzuSecilenler = json_decode($_COOKIE['soruHavuzuSecilenler'], true);
            $soruHavuzuIdler = "(" . implode(',', $soruHavuzuSecilenler) . ")";
            $query = $db->query("SELECT * FROM soru_havuzu WHERE soruHavuz_id IN $soruHavuzuIdler")->select();
    
            foreach ($query as $key => $row) {
                $soruSayi = $key + 1;
                $soru = strip_tags($row['soruHavuz_soru']);
                $cevaplar = json_decode($row['soruHavuz_cevaplar'], true);
                $a = $cevaplar['a'];
                $b = $cevaplar['b'];
                $c = $cevaplar['c'];
                $d = $cevaplar['d'];
                $e = $cevaplar['e'];
                ?>
    
                <h3><?=$soruSayi ?>.Soru</h3> 
    
                <?php if($row['soruHavuz_resim']!=""){ echo '<br><img src="../public/resimler/soru-havuzu/'.$row['soruHavuz_resim'].'" style="height:250px;"><br><br>'; } ?>
                <?=$soru ?><br><br>
                A: <?=$a ?><br>
                B: <?=$b ?><br>
                C: <?=$c ?><br>
                D: <?=$d ?><br>
                E: <?=$e ?> 
                <?php 
            }
            ?>
        </div>
    
    
    
    </body>
    </html>
  • 03-04-2024, 08:37:46
    #2
    www.pixkare.com
    require_once 'path/to/dompdf/autoload.inc.php';
    use Dompdf\Dompdf;
    $html = '
    <!DOCTYPE html>
    <html lang="tr_TR">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>A4 Page Layout</title>
        <style>
            body {
                margin: 0;
                padding: 0;
                font-family: Arial, sans-serif;
            }
            .page {
                width: 21cm; /* A4 genişliği */
                height: 29.7cm; /* A4 yüksekliği */
                margin: 0 auto;
                padding: 5px;
                border: 1px solid #ccc;
                overflow: hidden;
                page-break-after: always; /* Bu divden sonra yeni sayfa */
                column-width: 300px; /* Sütunların genişliği */
                column-gap: 0; /* Sütunlar arası boşluk */
                break-inside: avoid; /* Sütun içinde kesmeyi önle */
            }
        </style>
    </head>
    <body>
        <div class="page">';
        $soruHavuzuClass = $generalClass->SoruHavuzu();
        $soruHavuzuSecilenler = json_decode($_COOKIE['soruHavuzuSecilenler'], true);
        $soruHavuzuIdler = "(" . implode(',', $soruHavuzuSecilenler) . ")";
        $query = $db->query("SELECT * FROM soru_havuzu WHERE soruHavuz_id IN $soruHavuzuIdler")->select();
        foreach ($query as $key => $row) {
            $soruSayi = $key + 1;
            $soru = strip_tags($row['soruHavuz_soru']);
            $cevaplar = json_decode($row['soruHavuz_cevaplar'], true);
            $a = $cevaplar['a'];
            $b = $cevaplar['b'];
            $c = $cevaplar['c'];
            $d = $cevaplar['d'];
            $e = $cevaplar['e'];
            $html .= '<h3>'.$soruSayi.'.Soru</h3>';
            if($row['soruHavuz_resim']!=""){
                $html .= '<br><img src="../public/resimler/soru-havuzu/'.$row['soruHavuz_resim'].'" style="height:250px;"><br><br>';
            }
            $html .= '
                $soru<br><br>
                A: '.$a.' <br>
                B: '.$b.' <br>
                C: '.$c.' <br>
                D: '.$d.' <br>
                E: '.$e.'
            ';
            }
        $html .= '
        </div>
    </body>
    </html>';
    
    $dompdf = new Dompdf();
    $dompdf->loadHtml($html);
    $dompdf->setPaper('A4', 'portrait');
    $dompdf->render();
    $dompdf->stream('dosyadi.pdf');
  • 03-04-2024, 12:15:07
    #3
    Bir yapay zekadan aldınız galiba hocam kodu ama maalesef işe yaramıyor?
    Onlarla çok uğraştım sonuç çıkmıyor.

    Pixkare adlı üyeden alıntı: mesajı görüntüle
    require_once 'path/to/dompdf/autoload.inc.php';
    use Dompdf\Dompdf;
    $html = '
    <!DOCTYPE html>
    <html lang="tr_TR">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>A4 Page Layout</title>
        <style>
            body {
                margin: 0;
                padding: 0;
                font-family: Arial, sans-serif;
            }
            .page {
                width: 21cm; /* A4 genişliği */
                height: 29.7cm; /* A4 yüksekliği */
                margin: 0 auto;
                padding: 5px;
                border: 1px solid #ccc;
                overflow: hidden;
                page-break-after: always; /* Bu divden sonra yeni sayfa */
                column-width: 300px; /* Sütunların genişliği */
                column-gap: 0; /* Sütunlar arası boşluk */
                break-inside: avoid; /* Sütun içinde kesmeyi önle */
            }
        </style>
    </head>
    <body>
        <div class="page">';
        $soruHavuzuClass = $generalClass->SoruHavuzu();
        $soruHavuzuSecilenler = json_decode($_COOKIE['soruHavuzuSecilenler'], true);
        $soruHavuzuIdler = "(" . implode(',', $soruHavuzuSecilenler) . ")";
        $query = $db->query("SELECT * FROM soru_havuzu WHERE soruHavuz_id IN $soruHavuzuIdler")->select();
        foreach ($query as $key => $row) {
            $soruSayi = $key + 1;
            $soru = strip_tags($row['soruHavuz_soru']);
            $cevaplar = json_decode($row['soruHavuz_cevaplar'], true);
            $a = $cevaplar['a'];
            $b = $cevaplar['b'];
            $c = $cevaplar['c'];
            $d = $cevaplar['d'];
            $e = $cevaplar['e'];
            $html .= '<h3>'.$soruSayi.'.Soru</h3>';
            if($row['soruHavuz_resim']!=""){
                $html .= '<br><img src="../public/resimler/soru-havuzu/'.$row['soruHavuz_resim'].'" style="height:250px;"><br><br>';
            }
            $html .= '
                $soru<br><br>
                A: '.$a.' <br>
                B: '.$b.' <br>
                C: '.$c.' <br>
                D: '.$d.' <br>
                E: '.$e.'
            ';
            }
        $html .= '
        </div>
    </body>
    </html>';
    
    $dompdf = new Dompdf();
    $dompdf->loadHtml($html);
    $dompdf->setPaper('A4', 'portrait');
    $dompdf->render();
    $dompdf->stream('dosyadi.pdf');
  • 05-04-2024, 11:27:47
    #4
    Hocam daha önce yapmıştım. <page> ile değil de div kullanıp css'lerde de % değerler vererek ayırmayı deneyin. Ben o şekilde çözmüştüm.
  • 06-04-2024, 12:52:35
    #5
    emrahakin adlı üyeden alıntı: mesajı görüntüle
    Hocam daha önce yapmıştım. <page> ile değil de div kullanıp css'lerde de % değerler vererek ayırmayı deneyin. Ben o şekilde çözmüştüm.
    mpdf ile çözdüm hocam ben

    https://mpdf.github.io/what-else-can-i-do/columns.html

    bu kısımda yapılışı anlatılıyor lazım olacaklara tavsiye derim.

    hiç bir css ile uğraşmıyorsunuz otomatik yapıyor.