PHP 7 Script to Add Text and Image Watermark to PDF Documents Using dompdf Library in Browser Full Project For Beginners

  • Post author:
  • Post category:PHP
  • Post comments:0 Comments


Welcome folks today in this blog post we will be adding text and image watermark to pdf documents using dompdf library in browser using php 7 . All the full source code of the application is shown below.




Get Started




In order to get started you need to install the below library dompdf as shown below inside your local directory


Download an archive version of dompdf (stable release) from GitHub. Extract the Dompdf package and place it in the directory of your application.


Make an index.php file and copy paste the following code





// Reference the Dompdf namespace 
use Dompdf\Dompdf; 
// Reference the Options namespace 
use Dompdf\Options; 
// Reference the Font Metrics namespace 
use Dompdf\FontMetrics; 
// Set options to enable embedded PHP 
$options = new Options(); 
$options->set('isPhpEnabled', 'true'); 
// Instantiate dompdf class 
$dompdf = new Dompdf($options); 
// Load HTML content 
$dompdf->loadHtml('<h1>Welcome to</h1>'); 
// (Optional) Setup the paper size and orientation 
$dompdf->setPaper('A4', 'landscape'); 
// Render the HTML as PDF 
// Instantiate canvas instance 
$canvas = $dompdf->getCanvas(); 
// Instantiate font metrics class 
$fontMetrics = new FontMetrics($canvas, $options); 
// Get height and width of page 
$w = $canvas->get_width(); 
$h = $canvas->get_height(); 
// Get font family file 
$font = $fontMetrics->getFont('times'); 
// Specify watermark text 
$text = "CONFIDENTIAL"; 
// Get height and width of text 
$txtHeight = $fontMetrics->getFontHeight($font, 75); 
$textWidth = $fontMetrics->getTextWidth($text, $font, 75); 
// Set text opacity 
// Specify horizontal and vertical position 
$x = (($w-$textWidth)/2); 
$y = (($h-$txtHeight)/2); 
// Writes text at the specified x and y coordinates 
$canvas->text($x, $y, $text, $font, 75); 
// Output the generated PDF (1 = download and 0 = preview) 
$dompdf->stream('document.pdf', array("Attachment" => 0));

Leave a Reply