首页 > 解决方案 > 如何使用 $pdf 变量设置特定页面的位置?

问题描述

我已经尝试过这些,但仍然无法使用$pdf->page_script('');. 首先在访问$pdfdef("DOMPDF_ENABLE_PHP", true);在 dompdf_config.inc.php 和define("DOMPDF_ENABLE_PHP", true);dompdf_config.costum.inc.php 文件中设置的变量之前,然后重新启动 Apache 服务。然后我找到了一个与这个问题相关的答案,即使用$pdf->script('');内联代码来使用$PAGE_NUM$PAGE_COUNT作为if(){}else{}参数。由于我有一个要打印页码的任务,即最后一页的药水与其他页面不同,因此我需要仅针对最后一页使用if(){}else{}条件运行特定的 $x $y 坐标。这是我到目前为止所做的:

<?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。

标签: phpdompdf

解决方案


推荐阅读