Как установить положение определенной c страницы, используя переменную $ pdf в domPDF? - PullRequest
0 голосов
/ 29 марта 2020

Я знаю, может быть, вы думаете, что эти топи c так часто обсуждались на этом сайте, но я пробовал их, но все еще не смог использовать $pdf->page_script(''); Прежде всего, прежде чем получить доступ к переменной $ pdf, я установил def("DOMPDF_ENABLE_PHP", true); в файле dompdf_config.in c. php и define("DOMPDF_ENABLE_PHP", true); в файле dompdf_config.costum.in c. php, а затем перезапустил apache служба. И затем я нашел ответ относительно этого вопроса об использовании встроенного кода $pdf->script(''); для игры с параметрами $PAGE_NUM и $PAGE_COUNT в качестве параметров if(){}else{}. Так как у меня есть задача напечатать номер страницы, который отличается от предыдущей страницы, она отличается от других страниц, так что мне нужно запустить указанную c $ x $ y координату только для последней страницы, используя условие if(){}else{}. Вот что я сделал до сих пор:

<?php

     ob_start();

     session_start();
     require_once("../../../php/dompdf-0.6.2/dompdf_config.inc.php");
     require_once("../../../php/koneksi.php");     

     $dompdf = new DOMPDF(); // DOMPDF INSTANCE

     $html .= "<html>";
     $html .= "<head>";
     $html .= "<style>
                @page{
                    margin-top:1.19cm;
                    margin-bottom:1.75cm;
                    margin-left:2cm;
                    margin-right:2cm;
                }
               </style>";
     $html .= "</head>";
     $html .= "<body>";

     $html .= "<script type='text/php'>
        if (isset($pdf) ) {
              $pdf->page_script('
                        $text = $PAGE_NUM . '/' . $PAGE_COUNT;
                        $font = Font_Metrics::get_font('Arial, Helvetica, sans-serif', 'normal');
                        $size = 12;
                        $color = array(0,0,0);
                        $word_space = 0.0;  //  default
                        $char_space = 0.0;  //  default
                        $angle = 0.0;   //  default
                    if ( $PAGE_NUM > 1 && $PAGE_NUM == $PAGE_COUNT) {
                        $x = 299;
                        $y = 18;
                        $pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
                    }else{
                        $x = 299;
                        $y = 860;
                        $pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
                    }
              ');
        }
    </script>";

    ...
    ...
    ...

    $html .= "</body>";
    $html .= "</html>";

    ob_get_clean();
    // $dompdf->set_option("isPhpEnabled", true); // Added on 26/03/2020
    $dompdf->load_html($html);
    $dompdf->set_paper("folio", "portrait");
    $dompdf->render();
    $dompdf->stream("SK Pelaksana.pdf", array("Attachment" => false));

    exit(0);

Кстати, я использую PHP v5.1 и domPDF v.0.6.2.

Извините за мой плохой английский sh ...

...