How to add header and footer to generated pdf file in php

I use this site as a link: http://www.ros.co.nz/pdf/

I read readme.pdf but did not find any function that instructs how to add headers and footers to each page in pdf.

+3
source share
3 answers

Edited after a long time:

Finally, add an answer about the latest version of R & OS PDF using this example.

<?php

include 'path/to/Cezpdf.php';

$pdf = new Cezpdf('a4', 'portrait', 'none', null);

$all = $pdf->openObject();
$pdf->saveState();

// header line and text
$pdf->addText(20, 800, 14, 'This is header text');
$pdf->line(20, 790, 580, 790);

// footer line and text
$pdf->line(20, 40, 578, 40);
$pdf->addText(20, 30, 8, 'Left side header text');
$pdf->addText(580, 30, 8, 'Right side header text', 0, 'right');

$pdf->restoreState();
$pdf->closeObject();

$pdf->addObject($all,'all');

$pdf->ezSetMargins(100, 100, 50, 50);

// content text
$text = str_repeat("This is your content.\n", 100);
$pdf->ezText($text, 0, ['justification' => 'full']);

// output
$pdf->ezStream(['Content-Disposition' => 'mypdf.pdf']);

?>

How about using dompdf :

Try this for the header and footer:

(, angular ..) PDF "". PDF , :

<script type="text/php">

if ( isset($pdf) ) {

  // Open the object: all drawing commands will
  // go to the object instead of the current page
  $footer = $pdf->open_object();

  $w = $pdf->get_width();
  $h = $pdf->get_height();

  // Draw a line along the bottom
  $y = $h - 2 * $text_height - 24;
  $pdf->line(16, $y, $w - 16, $y, $color, 1);

  // Add an initals box
  $font = Font_Metrics::get_font("helvetica", "bold");
  $text = "Initials:";
  $width = Font_Metrics::get_text_width($text, $font, $size);
  $pdf->text($w - 16 - $width - 38, $y, $text, $font, $size, $color);
  $pdf->rectangle($w - 16 - 36, $y - 2, 36, $text_height + 4, array(0.5,0.5,0.5), 0.5);

  // Add a logo
  $img_w = 2 * 72; // 2 inches, in points
  $img_h = 1 * 72; // 1 inch, in points -- change these as required
  $pdf->image("print_logo.png", "png", ($w - $img_w) / 2.0, $y - $img_h, $img_w, $img_h);

  // Close the object (stop capture)
  $pdf->close_object();

  // Add the object to every page. You can
  // also specify "odd" or "even"
  $pdf->add_object($footer, "all");
}

</script>
-4

, , , , PDF . . 22-23 ( PDF 25-26) , .

:

<?php
include ('class.ezpdf.php');
$pdf =& new Cezpdf();
$pdf->selectFont('fonts/Helvetica.afm');

$footer = $pdf->openObject();
$pdf->addText(50, 50, 8, "some footer text");
$pdf->line(50,60,562,60);
$pdf->closeObject();
$pdf->addObject($footer, "all");

$pdf->ezText('Hello World!',50);
$pdf->ezStream();
?>
+4

90% BrianS.

, .

, , - :

$ok = 0;
$offset = (0 - $pdf->y);
while (!$ok) {
    $thisPageNum = $pdf->ezPageCount;
    $pdf->transaction('start');

    $offset = $offset + 1;
    $this->ezSetDy($offset);

    // Add your content here

    if ($this->ezPageCount==$thisPageNum) {
        $this->transaction('commit');
        $ok=1;
    } else {
        $this->transaction('rewind');
    }
}

, .

openObject closeObject, while.

+1

Source: https://habr.com/ru/post/1762784/


All Articles