What are some potential solutions for preparing PHP script output for printing, specifically in terms of layout and pagination?

When preparing PHP script output for printing, it is important to consider the layout and pagination to ensure that the content is easily readable and organized. One solution is to use CSS to style the output for printing, such as setting page margins, font sizes, and colors. Additionally, implementing pagination can help break up the content into manageable chunks for printing.

<?php
// CSS for styling the printed output
echo '<style>
    @media print {
        body {
            font-size: 12pt;
            margin: 1in;
            color: black;
        }
    }
</style>';

// Pagination logic
$items_per_page = 10;
$total_items = count($data);
$total_pages = ceil($total_items / $items_per_page);

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start = ($page - 1) * $items_per_page;
$end = $start + $items_per_page;

// Display content for the current page
for ($i = $start; $i < $end && $i < $total_items; $i++) {
    echo $data[$i];
}

// Pagination links
for ($i = 1; $i <= $total_pages; $i++) {
    echo '<a href="?page=' . $i . '">' . $i . '</a> ';
}
?>