-->

How can I not display page number = 1 in pdf ? (hm

2019-03-01 04:44发布

问题:

My code html like this :

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>Print PDF</title>

        <style type="text/css"> 
            .footer { position: fixed; left: 0px; right: 0px; height: 50px;text-align: center; }
            .footer .pagenum:before { content: counter(page); }
        </style>

    </head>
    <body>
        <h1>This is test</h1>

        <table class="tg">
            <tr>
                <th class="tg-3wr7">kolom 1</th>
                <th class="tg-3wr7">kolom 2</th>
                <th class="tg-3wr7">kolom 3</th>
                <th class="tg-3wr7">kolom 4</th>
                <th class="tg-3wr7">kolom 5</th>
            </tr>
            @php ($row = 22)
            @for($i=0;$i<$row;$i++)
            <tr>
                <td class="tg-rv4w">test 1</td>
                <td class="tg-rv4w">test 1</td>
                <td class="tg-rv4w">test 1</td>
                <td class="tg-rv4w">test 1</td>
                <td class="tg-rv4w">test 1</td>
            </tr>
            @endfor
        </table>

         <div class="footer">
            <span class="pagenum"></span>
        </div>
    </body>
</html>

If $row = 22, it will display only 1 page like this :

If $row = 202, it will display 7 page like this ;

When there is more than 1 page, the first page does not display the page number.

But when there is only 1 page, first page displays page number

What I want is :

I want to disappear the page number when there is only 1 page

How can I do it?

回答1:

Update Regarding changes with version of dompdf >= 0.7.0

  1. Because the dompdf_config.inc.php file has been removed from this release (and is no longer referenced) all dompdf options should be set at run time.

  2. The FontMetrics class is now instantiated instead of static. To simplify migration of embedded scripts from earlier versions of dompdf we provide access to the instantiated FontMetrics class via the $fontMetrics variable. Please update your embedded scripts. For example, FontMetrics::get_font('helvetica') would now be $fontMetrics->getFont('helvetica').

~ Thanks to Dennis Ameling's answer for the updated information.

by looking over the dompdf_config.inc.php file. As it turns out, DOMPDF_ENABLE_PHP is set to false thus causing the inline php script to be ignored. I simply edited dompdf_config.custom.inc.php to the following and all is fine and working with the later code in the view.

In dompdf/dompdf_config.custom.inc.php

<?php
    define("DOMPDF_ENABLE_PHP", true);

At Run Time

$dompdf->set_option("isPhpEnabled", true);

Then, in my html file

<body>
    <script type="text/php">
        if ( isset($pdf) ) {
            // OLD 
            // $font = Font_Metrics::get_font("helvetica", "bold");
            // $pdf->page_text(72, 18, "{PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(255,0,0));
            // v.0.7.0 and greater
            $x = 72;
            $y = 18;
            $text = "{PAGE_NUM} of {PAGE_COUNT}";
            $font = $fontMetrics->get_font("helvetica", "bold");
            $size = 6;
            $color = array(255,0,0);
            $word_space = 0.0;  //  default
            $char_space = 0.0;  //  default
            $angle = 0.0;   //  default
            $pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
        }
    </script>
    <div>

If you go this route, don't forget to restart Apache