PHP 7 FPDF Example: Create PDF Document From Text File Using Javascript

0Shares

index.php

<?php
require('fpdf/fpdf.php');

class PDF extends FPDF {

  // Function to set the document header
  function Header() {

    global $title;
    
    // Sets font to Arial bold 15
    $this->SetFont('Arial', 'B', 15);
    
    // Calculate string length
    $w = $this->GetStringWidth($title) + 6;
    $this->SetX((210 - $w) / 2);
    
    // Set drawing color
    $this->SetDrawColor(0, 80, 180);
    
    // It defines the grey color for filling
    $this->SetFillColor(105, 105, 105);
    
    // Sets the text color
    $this->SetTextColor(255, 0, 0);
    
    // Set the line width to 1 mm)
    $this->SetLineWidth(1);
    
    // Prints a cell Title
    $this->Cell($w, 9, $title, 1, 1, 'C', 1);
    
    // Line break
    $this->Ln(10);
  }
  
  // Function to set the document footer
  function Footer() {

    // Set Y Position from bottom
    $this->SetY(-20);
    
    // Sets font to Arial italic 10
    $this->SetFont('Arial', 'I', 10);
    
    // Sets the Text color in gray
    $this->SetTextColor(128);
    
    // Prints a cell with Page number
    $this->Cell(0, 10, 'Page '
      . $this->PageNo(), 0, 0, 'C');
  }
  
  // Function to set the title for a tutorial
  function tutorialTitle($num, $label) {

    // Sets font to Arial 12
    $this->SetFont('Arial', '', 12);
    
    // Sets to fill Background color with Light grey
    $this->SetFillColor(211, 211, 211);
    
    // Prints a cell with Title for tutorial
    $this->Cell(0, 6, "Chapter $num : $label", 0, 1, 'L', 1);
    
    // Line break
    $this->Ln(4);
  }
  
  // Function to set the content from a external file
  function tutorialContent($file) {

    // Read text file
    $f = fopen($file, 'r');
    $txt = fread($f, filesize($file));
    fclose($f);
    
    // Sets the font to Times 12
    $this->SetFont('Times', '', 12);
    
    // It prints texts with line breaks
    $this->MultiCell(0, 5, $txt);
    
    //Puts a Line break
    $this->Ln();
    
    // Set font in italics
    $this->SetFont('', 'I');
    
    // Prints a cell
    $this->Cell(0, 5, '(end of content)');
  }
  
  function showTutorial($num, $title, $file) {

    // Add a new page
    $this->AddPage();
    $this->tutorialTitle($num, $title);
    $this->tutorialContent($file);
  }
}

// Initiate a PDF object
$pdf = new PDF();
$title = 'C Programming Language';

// Sets the document title
$pdf->SetTitle($title);

// Sets the document author name
$pdf->SetAuthor('gfg author name');

$pdf->showTutorial(
  1,
  'C Language Introduction',
  'cIntro.txt'
);

$pdf->showTutorial(
  2,
  'C Programming Language Standard',
  'cStandard.txt'
);

$pdf->showTutorial(
  3,
  'Importance of function prototype in C',
  'cPrototype.txt'
);

$pdf->Output();
?>
0Shares

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.