i get this error : 

Fatal error: Uncaught Exception: The PHP GD extension is required, but is not installed. in C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\lib\Cpdf.php:5835 Stack trace: #0 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Adapter\CPDF.php(668): Dompdf\Cpdf->addPngFromFile('C:\\Users\\DIGIHA...', 267.64, 746.0142519685, 90, 31.86) #1 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer\Image.php(63): Dompdf\Adapter\CPDF->image('C:\\Users\\DIGIHA...', 267.64, 64.015748031496, 90, 31.86, 'normal') #2 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer.php(305): Dompdf\Renderer\Image->render(Object(Dompdf\FrameDecorator\Image)) #3 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer.php(140): Dompdf\Renderer->_render_frame('image', Object(Dompdf\FrameDecorator\Image)) #4 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer.php(207): Dompdf\Renderer->render(Object(Dompdf\FrameDecorator\Image)) #5 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer.php(207): Dompdf\Renderer->render(Object(Dompdf\FrameDecorator\Block)) #6 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Renderer.php(207): Dompdf\Renderer->render(Object(Dompdf\FrameDecorator\Block)) #7 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\FrameReflower\Page.php(149): Dompdf\Renderer->render(Object(Dompdf\FrameDecorator\Block)) #8 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\FrameDecorator\AbstractFrameDecorator.php(905): Dompdf\FrameReflower\Page->reflow(NULL) #9 C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\src\Dompdf.php(808): Dompdf\FrameDecorator\AbstractFrameDecorator->reflow() #10 C:\xampp\htdocs\generate_service_pdf.php(162): Dompdf\Dompdf->render() #11 {main} thrown in C:\xampp\htdocs\dompdf\vendor\dompdf\dompdf\lib\Cpdf.php on line 5835

fix the code and provide the complete code : 

<?php
// Require Dompdf and database connection
require_once 'dompdf/vendor/autoload.php';
require 'db.php';

use Dompdf\Dompdf;
use Dompdf\Options;

// Function to fetch store details
function fetchStoreDetails($pdo) {
    $stmt = $pdo->query("SELECT store_name, address, phone_number, logo_path FROM settings WHERE id = 1");
    return $stmt->fetch(PDO::FETCH_ASSOC);
}

// Fetch service details if service ID is provided
if (isset($_GET['id'])) {
    $service_id = (int)$_GET['id'];

    // Prepare and execute query to get service details
    $stmt = $pdo->prepare("SELECT s.*, c.full_name, d.type, d.brand, d.model, cd.serial_number
                           FROM services s
                           JOIN customers c ON s.customer_id = c.id
                           JOIN customer_devices cd ON s.device_id = cd.device_id
                           JOIN devices d ON cd.device_id = d.id
                           WHERE s.id = ?");
    $stmt->execute([$service_id]);
    $service = $stmt->fetch(PDO::FETCH_ASSOC);

    if ($service) {
        $storeDetails = fetchStoreDetails($pdo);

        // Escape and prepare store details for HTML
        $store_name = htmlspecialchars($storeDetails['store_name'], ENT_QUOTES, 'UTF-8');
        $store_address = htmlspecialchars($storeDetails['address'], ENT_QUOTES, 'UTF-8');
        $store_phone = htmlspecialchars($storeDetails['phone_number'], ENT_QUOTES, 'UTF-8');
        $logo_path = htmlspecialchars($storeDetails['logo_path'], ENT_QUOTES, 'UTF-8');
        $base_url = 'http://localhost/; // Ensure the base URL is correct
        $logo_url = !empty($logo_path) ? $base_url . '/' . ltrim($logo_path, '/') : '';

        // Create HTML content with enhanced design
        $html = "
        <style>
            @font-face {
                font-family: 'DejaVu Sans';
                font-style: normal;
                font-weight: normal;
            }
            body {
                font-family: 'DejaVu Sans', sans-serif;
                color: #333;
                line-height: 1.6;
                margin: 0;
                background-color: #f4f4f4;
            }
            .container {
                width: 100%;
                max-width: 800px;
                margin: 20px auto;
                padding: 20px;
                background-color: #fff;
                border-radius: 5px;
                box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
            }
            .header, .footer {
                text-align: center;
                margin-bottom: 20px;
            }
            .header img {
                max-width: 120px;
                margin-bottom: 10px;
            }
            .header h1 {
                margin: 0;
                font-size: 24px;
                color: #d32f2f;
            }
            .details {
                margin-bottom: 15px;
            }
            .details p {
                font-size: 12px;
                margin-bottom: 5px;
            }
            .signatures {
                display: flex;
                flex-direction: column;
                align-items: center;
                margin-top: 20px;
                gap: 10px;
            }
            .signature-box {
                width: 90%; /* Occupies most of the container width */
                text-align: center;
                padding: 15px;
                border: 1px dashed #ccc;
                min-height: 50px;
                background-color: #fafafa;
            }
            .signature-title {
                text-align: center;
                margin-bottom: 5px;
                font-weight: bold;
                font-size: 12px;
            }
            .footer, .disclaimer {
                font-size: 10px;
                color: #777;
            }
            .disclaimer {
                margin-top: 10px;
                line-height: 1.4;
            }
        </style>
        <div class='container'>
            <div class='header'>
                <img src='$logo_url' alt='Λογότυπο Καταστήματος'>
                <h1>Αναφορά Υπηρεσίας</h1>
            </div>
            <div class='details'>
                <p><strong>Αριθμός Υπηρεσίας:</strong> {$service['service_number']}</p>
                <p><strong>Πελάτης:</strong> {$service['full_name']}</p>
                <p><strong>Συσκευή:</strong> {$service['type']} - {$service['brand']} - {$service['model']} (Σειριακός: {$service['serial_number']})</p>
                <p><strong>Ημερομηνία Υπηρεσίας:</strong> {$service['service_date']}</p>
                <p><strong>Κατάσταση Υπηρεσίας:</strong> {$service['status']}</p>
            </div>
            <div class='signatures'>
                <div>
                    <p class='signature-title'>Υπογραφή Πελάτη</p>
                    <div class='signature-box'>
                        <!-- Signature space -->
                    </div>
                </div>
                <div>
                    <p class='signature-title'>Υπογραφή Τεχνικού</p>
                    <div class='signature-box'>
                        <!-- Signature space -->
                    </div>
                </div>
            </div>
            <div class='footer'>
                <p><strong>$store_name</strong></p>
                <p>$store_address</p>
                <p>Τηλέφωνο: $store_phone</p>
            </div>
            <div class='disclaimer'>
                <p>Μετά από τη σχετική ειδοποίηση ότι το παρόν προϊόν είναι έτοιμο προς παραλαβή, ο πελάτης οφείλει να το παραλάβει εντός 10 ημερών. Εάν παρέλθει διάστημα 90 ημερών χωρίς παραλαβή, το προϊόν θα οδηγείται προς καταστροφή.</p>
                <p>Για τυχόν προβλήματα της συσκευής που δεν αναφέρθηκαν αρχικά, το κατάστημα δεν φέρει ευθύνη για την επισκευή. Υποχρεούται μόνο να ενημερώσει τον πελάτη και να ζητήσει έγκριση για οποιαδήποτε επιπλέον επισκευή.</p>
                <p>Η εγγύηση καλύπτει μόνο την επισκευή της συγκεκριμένης βλάβης, εφόσον αυτή δεν οφείλεται σε κακή χρήση από τον πελάτη, και ισχύει για τρεις μήνες από την ημέρα παραλαβής.</p>
            </div>
        </div>";

        // Initialize and configure Dompdf
        $options = new Options();
        $options->set('isRemoteEnabled', true);
        $dompdf = new Dompdf($options);
        $dompdf->loadHtml($html);

        // Set paper size and orientation
        $dompdf->setPaper('A4', 'portrait');

        // Render and output the PDF to the browser
        $dompdf->render();
        $dompdf->stream("service_report_$service_id.pdf", array("Attachment" => false));
    } else {
        echo "Service not found.";
    }
} else {
    echo "No service ID provided.";
}
?>