Skip to content
Advertisement

How to add Header and Footer in the created PDF file in php

I am using this site as reference: http://www.ros.co.nz/pdf/

I read the readme.pdf but haven’t found any function that instructs how to add header and footers in every page in the pdf.

Advertisement

Answer

Edited after long time:

Finally adding answer about latest version of R&OS PDF with the help of 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']);

?>

What about using dompdf:

Try this for header and footer:

You can add images and shapes (line, rectangles, etc.) to every page using PDF ‘objects’. A PDF object captures all rendering commands as a sort of template that can then be added to multiple pages:

<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>
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement