我试图在header中显示一个变量,就像发票一样,但不起作用,我使用了FPDF,但是字段$ordenTrabajo是空的,我尝试了这样做:

<?php


    $ordenTrabajo=$_POST['oT_Escondido'];

    ob_end_clean(); //    the buffer and never prints or returns anything.
    ob_start(); // it starts buffering
    class PDF extends FPDF
    {
    // Cabecera de página



    function Header()
    {
        // Logo
        //$this->Image('../dist/img/logo.jpg',10,8,33);
        // Arial bold 15
        $this->SetFont('Arial','B',15);
        // Movernos a la derecha
        $this->Cell(80);
        // Título
        $this->Cell(120,10,'Control de Empaques IKOR PUNTARENAS SA',0,1,'C');

        $this->SetFont('Arial','B',12);
        // Salto de línea
        $this->Ln(10);
        $this->Cell(40,10,'Orden de Trabajo: ',0,0);
        $this->Cell(40, 10, "GORE-5265", 0, 0);
        $this->Cell(13,10,'OC#: ',0,0);
        $this->Cell(40, 10, "OC-123456789", 0, 0);
        $this->Cell(30,10,'Peso: ',0,0);
        $this->Cell(40, 10, "19,45 KG", 0,0 );
        $this->Cell(50,10,'Cantidad de Cajas: ',0,0);
        $this->Cell(30, 10, "1000", 0, 1);

        $this->Cell(20,10,'Lote: ',0,0);
        $this->Cell(40, 10,'123456789', 0, 0);
        $this->Cell(50,10,'Numero de Parte: ',0,0);
        $this->Cell(40, 10, "PARTE-999999", 0, 0);
        $this->Cell(40,10,'Filtros por caja: ',0,0);
        $this->Cell(20, 10, "11", 0,0 );
        $this->Cell(50,10,'Cantidad de Filtros: ',0,0);
        $this->Cell(30, 10, "9999", 0, 1);
        $this->Ln(15);
        $this->Line(80, 45, 100, 45); // 20mm from each edge
        $this->Line(50, 45, 210-50, 45); // 50mm from each edge

    }

    public function setLote($name){
        $this->name = $name;
    }

    // Pie de página
    function Footer()
    {
        // Posición: a 1,5 cm del final
        $this->SetY(-15);
        // Arial italic 8
        $this->SetFont('Arial','I',8);
        // Número de página
        //$this->Cell(300,10,'7FMIKO-022 REV.02',0,0,'C');
        $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
        $this->Cell(-15,10,'7FMIKO-022 REV.02',0,0,'C');
    }
    }

    // Creación del objeto de la clase heredada
    $pdf = new PDF('L');
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    $pdf->Cell(30,10,$ordenTrabajo,0,1);
    $pdf->Output();
    ob_end_flush(); // It's printed here, because ob_end_flush "prints" what's in
                  // the buffer, rather than returning it
                  //     (unlike the ob_get_* functions)
    ?>

我怎么能修好它?塔克斯
编辑
即使使用全局变量,也无法在标题中显示值
$ordenTrabajo=$_POST['oT_Escondido'];

ob_end_clean(); //    the buffer and never prints or returns anything.
ob_start(); // it starts buffering
class PDF extends FPDF
{
// Cabecera de página



function Header()
{
    global $ordenTrabajo;
    // Logo
    //$this->Image('../dist/img/logo.jpg',10,8,33);
    // Arial bold 15
    $this->SetFont('Arial','B',15);
    // Movernos a la derecha
    $this->Cell(80);
    // Título
    $this->Cell(120,10,'Control de Empaques IKOR PUNTARENAS SA',0,1,'C');

    $this->SetFont('Arial','B',12);
    // Salto de línea
    $this->Ln(10);
    $this->Cell(40,10,'Orden de Trabajo: ',0,0);
    $this->Cell(40, 10, "GORE-5265", 0, 0);
    $this->Cell(13,10,'OC#: ',0,0);
    $this->Cell(40, 10, "OC-123456789", 0, 0);
    $this->Cell(30,10,'Peso: ',0,0);
    $this->Cell(40, 10, "19,45 KG", 0,0 );
    $this->Cell(50,10,'Cantidad de Cajas: ',0,0);
    $this->Cell(30, 10, "1000", 0, 1);

    $this->Cell(20,10,'Lote: ',0,0);
    $this->Cell(40, 10,$ordenTrabajo, 0, 0);
    $this->Cell(50,10,'Numero de Parte: ',0,0);
    $this->Cell(40, 10, "PARTE-999999", 0, 0);
    $this->Cell(40,10,'Filtros por caja: ',0,0);
    $this->Cell(20, 10, "11", 0,0 );
    $this->Cell(50,10,'Cantidad de Filtros: ',0,0);
    $this->Cell(30, 10, "9999", 0, 1);

}

最佳答案

此方法用于呈现页眉。它是由AddPage()自动调用的,应用程序不应该直接调用它。FPDF中的实现是空的,因此如果需要特定的处理,必须对它进行子类化并重写该方法。
来源:http://www.fpdf.org/

关于php - header fpdf中的空变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48971285/

10-15 18:19