mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-01 12:23:50 +01:00
44 lines
10 KiB
HTML
Executable File
44 lines
10 KiB
HTML
Executable File
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
|
<TITLE>Line breaks and colors</TITLE>
|
|
<LINK TYPE="text/css" REL="stylesheet" HREF="../fpdf.css">
|
|
</HEAD>
|
|
<BODY>
|
|
<H2>Line breaks and colors</H2>
|
|
Let's continue with an example which prints justified paragraphs. It also illustrates the use
|
|
of colors.
|
|
<BR>
|
|
<BR>
|
|
<TABLE WIDTH="100%" STYLE="color:#4040C0; border-style:ridge" BORDERCOLORLIGHT="#B0B0E0" BORDERCOLORDARK="#000000" BORDER="2" CELLPADDING=6 CELLSPACING=0 BGCOLOR="#F0F5FF"><TR><TD style="border-width:0px">
|
|
<NOBR><code><font color="#000000">
|
|
<?php<br>define<font class="kw">(</font><font class="str">'FPDF_FONTPATH'</font><font class="kw">,</font><font class="str">'font/'</font><font class="kw">);<br>require(</font><font class="str">'fpdf.php'</font><font class="kw">);<br><br>class </font>PDF <font class="kw">extends </font>FPDF<br><font class="kw">{<br>function </font>Header<font class="kw">()<br>{<br> global </font>$title<font class="kw">;<br><br> </font><font class="cmt">//Arial bold 15<br> </font>$<font class="kw">this-></font>SetFont<font class="kw">(</font><font class="str">'Arial'</font><font class="kw">,</font><font class="str">'B'</font><font class="kw">,</font>15<font class="kw">);<br> </font><font class="cmt">//Calculate width of title and position<br> </font>$w<font class="kw">=</font>$<font class="kw">this-></font>GetStringWidth<font class="kw">(</font>$title<font class="kw">)+</font>6<font class="kw">;<br> </font>$<font class="kw">this-></font>SetX<font class="kw">((</font>210<font class="kw">-</font>$w<font class="kw">)/</font>2<font class="kw">);<br> </font><font class="cmt">//Colors of frame, background and text<br> </font>$<font class="kw">this-></font>SetDrawColor<font class="kw">(</font>0<font class="kw">,</font>80<font class="kw">,</font>180<font class="kw">);<br> </font>$<font class="kw">this-></font>SetFillColor<font class="kw">(</font>230<font class="kw">,</font>230<font class="kw">,</font>0<font class="kw">);<br> </font>$<font class="kw">this-></font>SetTextColor<font class="kw">(</font>220<font class="kw">,</font>50<font class="kw">,</font>50<font class="kw">);<br> </font><font class="cmt">//Thickness of frame (1 mm)<br> </font>$<font class="kw">this-></font>SetLineWidth<font class="kw">(</font>1<font class="kw">);<br> </font><font class="cmt">//Title<br> </font>$<font class="kw">this-></font>Cell<font class="kw">(</font>$w<font class="kw">,</font>9<font class="kw">,</font>$title<font class="kw">,</font>1<font class="kw">,</font>1<font class="kw">,</font><font class="str">'C'</font><font class="kw">,</font>1<font class="kw">);<br> </font><font class="cmt">//Line break<br> </font>$<font class="kw">this-></font>Ln<font class="kw">(</font>10<font class="kw">);<br>}<br><br>function </font>Footer<font class="kw">()<br>{<br> </font><font class="cmt">//Position at 1.5 cm from bottom<br> </font>$<font class="kw">this-></font>SetY<font class="kw">(-</font>15<font class="kw">);<br> </font><font class="cmt">//Arial italic 8<br> </font>$<font class="kw">this-></font>SetFont<font class="kw">(</font><font class="str">'Arial'</font><font class="kw">,</font><font class="str">'I'</font><font class="kw">,</font>8<font class="kw">);<br> </font><font class="cmt">//Text color in gray<br> </font>$<font class="kw">this-></font>SetTextColor<font class="kw">(</font>128<font class="kw">);<br> </font><font class="cmt">//Page number<br> </font>$<font class="kw">this-></font>Cell<font class="kw">(</font>0<font class="kw">,</font>10<font class="kw">,</font><font class="str">'Page '</font><font class="kw">.</font>$<font class="kw">this-></font>PageNo<font class="kw">(),</font>0<font class="kw">,</font>0<font class="kw">,</font><font class="str">'C'</font><font class="kw">);<br>}<br><br>function </font>ChapterTitle<font class="kw">(</font>$num<font class="kw">,</font>$label<font class="kw">)<br>{<br> </font><font class="cmt">//Arial 12<br> </font>$<font class="kw">this-></font>SetFont<font class="kw">(</font><font class="str">'Arial'</font><font class="kw">,</font><font class="str">''</font><font class="kw">,</font>12<font class="kw">);<br> </font><font class="cmt">//Background color<br> </font>$<font class="kw">this-></font>SetFillColor<font class="kw">(</font>200<font class="kw">,</font>220<font class="kw">,</font>255<font class="kw">);<br> </font><font class="cmt">//Title<br> </font>$<font class="kw">this-></font>Cell<font class="kw">(</font>0<font class="kw">,</font>6<font class="kw">,</font><font class="str">"Chapter $num : $label"</font><font class="kw">,</font>0<font class="kw">,</font>1<font class="kw">,</font><font class="str">'L'</font><font class="kw">,</font>1<font class="kw">);<br> </font><font class="cmt">//Line break<br> </font>$<font class="kw">this-></font>Ln<font class="kw">(</font>4<font class="kw">);<br>}<br><br>function </font>ChapterBody<font class="kw">(</font>$file<font class="kw">)<br>{<br> </font><font class="cmt">//Read text file<br> </font>$f<font class="kw">=</font>fopen<font class="kw">(</font>$file<font class="kw">,</font><font class="str">'r'</font><font class="kw">);<br> </font>$txt<font class="kw">=</font>fread<font class="kw">(</font>$f<font class="kw">,</font>filesize<font class="kw">(</font>$file<font class="kw">));<br> </font>fclose<font class="kw">(</font>$f<font class="kw">);<br> </font><font class="cmt">//Times 12<br> </font>$<font class="kw">this-></font>SetFont<font class="kw">(</font><font class="str">'Times'</font><font class="kw">,</font><font class="str">''</font><font class="kw">,</font>12<font class="kw">);<br> </font><font class="cmt">//Output justified text<br> </font>$<font class="kw">this-></font>MultiCell<font class="kw">(</font>0<font class="kw">,</font>5<font class="kw">,</font>$txt<font class="kw">);<br> </font><font class="cmt">//Line break<br> </font>$<font class="kw">this-></font>Ln<font class="kw">();<br> </font><font class="cmt">//Mention in italics<br> </font>$<font class="kw">this-></font>SetFont<font class="kw">(</font><font class="str">''</font><font class="kw">,</font><font class="str">'I'</font><font class="kw">);<br> </font>$<font class="kw">this-></font>Cell<font class="kw">(</font>0<font class="kw">,</font>5<font class="kw">,</font><font class="str">'(end of excerpt)'</font><font class="kw">);<br>}<br><br>function </font>PrintChapter<font class="kw">(</font>$num<font class="kw">,</font>$title<font class="kw">,</font>$file<font class="kw">)<br>{<br> </font>$<font class="kw">this-></font>AddPage<font class="kw">();<br> </font>$<font class="kw">this-></font>ChapterTitle<font class="kw">(</font>$num<font class="kw">,</font>$title<font class="kw">);<br> </font>$<font class="kw">this-></font>ChapterBody<font class="kw">(</font>$file<font class="kw">);<br>}<br>}<br><br></font>$pdf<font class="kw">=new </font>PDF<font class="kw">();<br></font>$title<font class="kw">=</font><font class="str">'20000 Leagues Under the Seas'</font><font class="kw">;<br></font>$pdf<font class="kw">-></font>SetTitle<font class="kw">(</font>$title<font class="kw">);<br></font>$pdf<font class="kw">-></font>SetAuthor<font class="kw">(</font><font class="str">'Jules Verne'</font><font class="kw">);<br></font>$pdf<font class="kw">-></font>PrintChapter<font class="kw">(</font>1<font class="kw">,</font><font class="str">'A RUNAWAY REEF'</font><font class="kw">,</font><font class="str">'20k_c1.txt'</font><font class="kw">);<br></font>$pdf<font class="kw">-></font>PrintChapter<font class="kw">(</font>2<font class="kw">,</font><font class="str">'THE PROS AND CONS'</font><font class="kw">,</font><font class="str">'20k_c2.txt'</font><font class="kw">);<br></font>$pdf<font class="kw">-></font>Output<font class="kw">();<br></font>?>
|
|
</font>
|
|
</code></NOBR></TD></TR></TABLE><P></P>
|
|
<SCRIPT>
|
|
<!--
|
|
if(document.location.href.indexOf('http:')==0)
|
|
{
|
|
document.write("<P CLASS='demo'><A HREF='tuto3.php' TARGET='_blank' CLASS='demo'>[Demo]</A></P>");
|
|
}
|
|
//-->
|
|
</SCRIPT>
|
|
The <A HREF='../doc/getstringwidth.htm'>GetStringWidth()</A> method allows to determine the length of a string in the current font,
|
|
which is used here to calculate the position and the width of the frame surrounding the title.
|
|
Then colors are set (via <A HREF='../doc/setdrawcolor.htm'>SetDrawColor()</A>, <A HREF='../doc/setfillcolor.htm'>SetFillColor()</A> and <A HREF='../doc/settextcolor.htm'>SetTextColor()</A>) and the
|
|
thickness of the line is set to 1 mm (against 0.2 by default) with <A HREF='../doc/setlinewidth.htm'>SetLineWidth()</A>. Finally,
|
|
we output the cell (the last parameter to 1 indicates that the background must be filled).
|
|
<BR>
|
|
<BR>
|
|
The method used to print the paragraphs is <A HREF='../doc/multicell.htm'>MultiCell()</A>. Each time a line reaches the
|
|
right extremity of the cell or a carriage-return character is met, a line break is issued
|
|
and a new cell automatically created under the current one. Text is justified by default.
|
|
<BR>
|
|
<BR>
|
|
Two document properties are defined: title (<A HREF='../doc/settitle.htm'>SetTitle()</A>) and author (<A HREF='../doc/setauthor.htm'>SetAuthor()</A>).
|
|
Properties can be viewed by two means. First is open the document directly with Acrobat Reader,
|
|
go to the File menu, Document info, General. Second, also available from the plug-in, is click
|
|
on the triangle just above the right scrollbar and choose Document info.
|
|
</BODY>
|
|
</HTML>
|