
<?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();
?>Google Chrome has dominated web browsing for over a decade with 71.77% global market share.…
Perplexity just made its AI-powered browser, Comet, completely free for everyone on October 2, 2025.…
You've probably heard about ChatGPT Atlas, OpenAI's new AI-powered browser that launched on October 21,…
Perplexity Comet became free for everyone on October 2, 2025, bringing research-focused AI browsing to…
ChatGPT Atlas launched on October 21, 2025, but it's only available on macOS. If you're…
Two AI browsers just entered the ring in October 2025, and they're both fighting for…