mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 16:49:10 +01:00
35 lines
12 KiB
HTML
35 lines
12 KiB
HTML
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
||
|
<TITLE>Multi-columns</TITLE>
|
||
|
<LINK TYPE="text/css" REL="stylesheet" HREF="../fpdf.css">
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
<H2>Multi-columns</H2>
|
||
|
This example is a variant of the previous one showing how to lay the text across multiple
|
||
|
columns.
|
||
|
<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></font><font class="cmt">//Current column<br></font><font class="kw">var </font>$col<font class="kw">=</font>0<font class="kw">;<br></font><font class="cmt">//Ordinate of column start<br></font><font class="kw">var </font>$y0<font class="kw">;<br><br>function </font>Header<font class="kw">()<br>{<br> </font><font class="cmt">//Page header<br> </font><font class="kw">global </font>$title<font class="kw">;<br><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>$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="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="kw">this-></font>SetLineWidth<font class="kw">(</font>1<font class="kw">);<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="kw">this-></font>Ln<font class="kw">(</font>10<font class="kw">);<br> </font><font class="cmt">//Save ordinate<br> </font>$<font class="kw">this-></font>y0<font class="kw">=</font>$<font class="kw">this-></font>GetY<font class="kw">();<br>}<br><br>function </font>Footer<font class="kw">()<br>{<br> </font><font class="cmt">//Page footer<br> </font>$<font class="kw">this-></font>SetY<font class="kw">(-</font>15<font class="kw">);<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="kw">this-></font>SetTextColor<font class="kw">(</font>128<font class="kw">);<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>SetCol<font class="kw">(</font>$col<font class="kw">)<br>{<br> </font><font class="cmt">//Set position at a given column<br> </font>$<font class="kw">this-></font>col<font class="kw">=</font>$col<font class="kw">;<br> </font>$x<font class="kw">=</font>10<font class="kw">+</font>$col<font class="kw">*</font>65<font class="kw">;<b
|
||
|
</font>
|
||
|
</code></NOBR></TD></TR></TABLE><P></P>
|
||
|
<SCRIPT>
|
||
|
<!--
|
||
|
if(document.location.href.indexOf('http:')==0)
|
||
|
{
|
||
|
document.write("<P CLASS='demo'><A HREF='tuto4.php' TARGET='_blank' CLASS='demo'>[Demo]</A></P>");
|
||
|
}
|
||
|
//-->
|
||
|
</SCRIPT>
|
||
|
The key method used is <A HREF='../doc/acceptpagebreak.htm'>AcceptPageBreak()</A>. It allows to accept or not an automatic page
|
||
|
break. By refusing it and altering the margin and current position, the desired column layout
|
||
|
is achieved.
|
||
|
<BR>
|
||
|
For the rest, not much change; two properties have been added to the class to save the current
|
||
|
column number and the position where columns begin, and the MultiCell() call specifies a
|
||
|
6 centimeter width.
|
||
|
</BODY>
|
||
|
</HTML>
|