Add-On subWrite
Informations
Author:WirusLicense: FPDF
Description
This method prints text from the current position in the same way as Write(). An additional parameter allows to reduce or increase the font size; it's useful for initials. A second parameter allows to specify an offset so that text is placed at a superscripted or subscripted position.subWrite(float h, string txt [, mixed link [, float subFontSize [, float subOffset]]])
h
: line heighttxt
: string to printlink
: URL or identifier returned by AddLink()subFontSize
: size of font in points (12 by default)subOffset
: offset of text in points (positive means superscript, negative subscript; 0 by default)
Source
<?php
require('fpdf.php');
class PDF extends FPDF
{
function subWrite($h, $txt, $link='', $subFontSize=12, $subOffset=0)
{
// resize font
$subFontSizeold = $this->FontSizePt;
$this->SetFontSize($subFontSize);
// reposition y
$subOffset = ((($subFontSize - $subFontSizeold) / $this->k) * 0.3) + ($subOffset / $this->k);
$subX = $this->x;
$subY = $this->y;
$this->SetXY($subX, $subY - $subOffset);
//Output text
$this->Write($h, $txt, $link);
// restore y position
$subX = $this->x;
$subY = $this->y;
$this->SetXY($subX, $subY + $subOffset);
// restore font size
$this->SetFontSize($subFontSizeold);
}
}
?>
Example
<?php
require('subwrite.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 12);
$pdf->Write(5, 'Hello World!');
$pdf->SetX(100);
$pdf->Write(5, "This is standard text.\n");
$pdf->Ln(12);
$pdf->subWrite(10, 'H', '', 33);
$pdf->Write(10, 'ello World!');
$pdf->SetX(100);
$pdf->Write(10, "This is text with a capital first letter.\n");
$pdf->Ln(12);
$pdf->subWrite(5, 'Y', '', 6);
$pdf->Write(5, 'ou can also begin the sentence with a small letter. And word wrap also works if the line is too long!');
$pdf->SetX(100);
$pdf->Write(5, "This is text with a small first letter.\n");
$pdf->Ln(12);
$pdf->Write(5, 'The world has a lot of km');
$pdf->subWrite(5, '2', '', 6, 4);
$pdf->SetX(100);
$pdf->Write(5, "This is text with a superscripted letter.\n");
$pdf->Ln(12);
$pdf->Write(5, 'The world has a lot of H');
$pdf->subWrite(5, '2', '', 6, -3);
$pdf->Write(5, 'O');
$pdf->SetX(100);
$pdf->Write(5, "This is text with a subscripted letter.\n");
$pdf->Output();
?>