Formatting

Fonts

Size, Font family, Font color, Background color

To format text, you can use the PHPRtfLite_Font.

Example sets size to 12pt, font family to Arial, font color to red, and background color to blue:

<?php
// some bootstraping here

$section = $rtf->addSection();
$font = new PHPRtfLite_Font(12, 'Arial', '#FF0000', '#0000FF');
$section->writeText('Lorem ipsum', $font);

Text formatting

<?php
// some bootstraping here

$section = $rtf->addSection();
$font = new PHPRtfLite_Font();
$font->setBold();           // bold font
$font->setItalic();         // italic font
$font->setUnderline();      // underline font
$font->setStriked();        // strike text
$font->setDoubleStriked();  // double strike text
$section->writeText('Lorem ipsum', $font);

HTML-Tags as text formatting

You can use HTML-Tags in your text to format text:

<?php
// some bootstraping here

$section = $rtf->addSection();

// text will be displayed as bold
$section->writeText('<strong>text</strong>');
$section->writeText('<b>text</b>');

// text will be displayed as italic
$section->writeText('<em>text</em>');
$section->writeText('<i>text</i>');

// text will be displayed as underlined
$section->writeText('<u>text</u>');

// text will start with a bullet
$section->writeText('<bullet> text');

// text will have a line break after
$section->writeText('text<br>');

// text will have a horizontal rule after
$section->writeText('text<hr>');

// tabulator will be displayed between text
$section->writeText('text<tab>text');

// will display section number before "hello world"
$section->writeText('<sectnum> hello world');

// will display page number before "hello world"
$section->writeText('<pagenum> hello world');

Text animation

Class constants for text animation:

  • ANIMATE_LAS_VEGAS_LIGHTS
  • ANIMATE_BLINKING_BACKGROUND
  • ANIMATE_SPARKLE_TEXT
  • ANIMATE_MARCHING_BLACK_ANTS
  • ANIMATE_MARCHING_RED_ANTS
  • ANIMATE_SHIMMER
<?php
// some bootstraping here

$section = $rtf->addSection();
$font = new PHPRtfLite_Font();
// text with marching black ants around
$font->setAnimation(PHPRtfLite_Font::ANIMATE_MARCHING_BLACK_ANTS);
$section->writeText('Lorem ipsum', $font);

Paragraph formatting

Text alignment

Class constants for text alignment:

  • TEXT_ALIGN_LEFT
  • TEXT_ALIGN_RIGHT
  • TEXT_ALIGN_CENTER
  • TEXT_ALIGN_JUSTIFY
<?php
// some bootstraping here

$section = $rtf->addSection();
// centered text
$parFormat = new PHPRtfLite_ParFormat(PHPRtfLite_ParFormat::TEXT_ALIGN_CENTER);
$section->writeText('Lorem ipsum', null, $parFormat);

Paragraph indention

First line indention:

<?php
// some bootstraping here

$section = $rtf->addSection();
$parFormat = new PHPRtfLite_ParFormat();
// first line of paragraph will be indented by 1cm
$parFormat->setIndentFirstLine(1);
$section->writeText('Lorem ipsum', null, $parFormat);

Indent the whole paragraph left or/and right:

<?php
// some bootstraping here
$parFormat = new PHPRtfLite_ParFormat();
// paragraph will be indented by 1cm from the left and right
$parFormat->setIndentLeft(1);
$parFormat->setIndentRight(1);

Space between paragraphs

<?php
// some bootstraping here
$parFormat = new PHPRtfLite_ParFormat();
// spaces in lines after the paragraph
$parFormat->setSpaceAfter(1);
// spaces in lines before the paragraph
$parFormat->setSpaceBefore(1);

Space between lines

<?php
// some bootstraping here
$parFormat = new PHPRtfLite_ParFormat();
// spaces between lines
$parFormat->setSpaceBetweenLines(1);

Background color

Paragraph background color:

<?php
// some bootstraping here
$parFormat = new PHPRtfLite_ParFormat();
$parFormat->setBackgroundColor('#FF0000');

Borders

<?php
// some bootstraping here

$border = new PHPRtfLite_Border(
    $rtf,                                       // PHPRtfLite instance
    new PHPRtfLite_Border_Format(2, '#00FF00'), // left border: 2pt, green color
    new PHPRtfLite_Border_Format(1, '#FFFF00'), // top border: 1pt, yellow color
    new PHPRtfLite_Border_Format(2, '#FF0000'), // right border: 2pt, red color
    new PHPRtfLite_Border_Format(1, '#0000FF')  // bottom border: 1pt, blue color
);
$parFormat = new PHPRtfLite_ParFormat();
$parFormat->setBorder($border);

There are some alternative ways to create borders:

<?php
// some bootstraping here

// creating border in a different way: 1pt dotted red border with 0.5cm space
$border = PHPRtfLite_Border::create($rtf, 1, '#FF3333', PHPRtfLite_Border_Format::TYPE_DOT, 0.5);
<?php
// some bootstraping here

// creating border in a different way: 1pt dotted red border
$border = new PHPRtfLite_Border($rtf);
// 2pt border in green color
$border->setBorders(new PHPRtfLite_Border_Format(2, '#00FF00'));

Border style types

Border style types represented as class constants of PHPRtfLite_Border_Format are:

  • TYPE_SINGLE
  • TYPE_DOT
  • TYPE_DASH
  • TYPE_DOTDASH