+Whenever a page break condition is met, the method is called, and the break is issued or not
+depending on the returned value. The default implementation returns a value according to the
+mode selected by SetAutoPageBreak().
+
+This method is called automatically and should not be called directly by the application.
+
Example
+The method is overriden in an inherited class in order to obtain a 3 column layout:
+
+
class PDF extends FPDF
+{
+var $col = 0;
+
+function SetCol($col)
+{
+ // Move position to a column
+ $this->col = $col;
+ $x = 10+$col*65;
+ $this->SetLeftMargin($x);
+ $this->SetX($x);
+}
+
+function AcceptPageBreak()
+{
+ if($this->col<2)
+ {
+ // Go to next column
+ $this->SetCol($this->col+1);
+ $this->SetY(10);
+ return false;
+ }
+ else
+ {
+ // Go back to first column and issue page break
+ $this->SetCol(0);
+ return true;
+ }
+}
+}
+
+$pdf = new PDF();
+$pdf->AddPage();
+$pdf->SetFont('Arial','',12);
+for($i=1;$i<=300;$i++)
+ $pdf->Cell(0,5,"Line $i",0,1);
+$pdf->Output();
+AddFont(string family [, string style [, string file]])
+
Description
+Imports a TrueType, OpenType or Type1 font and makes it available. It is necessary to generate a font
+definition file first with the MakeFont utility.
+
+The definition file (and the font file itself when embedding) must be present in the font directory.
+If it is not found, the error "Could not include font definition file" is raised.
+
Parameters
+
+
family
+
+Font family. The name can be chosen arbitrarily. If it is a standard family name, it will
+override the corresponding font.
+
+
style
+
+Font style. Possible values are (case insensitive):
+
+
empty string: regular
+
B: bold
+
I: italic
+
BI or IB: bold italic
+
+The default value is regular.
+
+
file
+
+The font definition file.
+
+By default, the name is built from the family and style, in lower case with no space.
+
+Creates a new internal link and returns its identifier. An internal link is a clickable area
+which directs to another place within the document.
+
+The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is
+defined with SetLink().
+
+Adds a new page to the document. If a page is already present, the Footer() method is called
+first to output the footer. Then the page is added, the current position set to the top-left
+corner according to the left and top margins, and Header() is called to display the header.
+
+The font which was set before calling is automatically restored. There is no need to call
+SetFont() again if you want to continue with the same font. The same is true for colors and
+line width.
+
+The origin of the coordinate system is at the top-left corner and increasing ordinates go
+downwards.
+
Parameters
+
+
orientation
+
+Page orientation. Possible values are (case insensitive):
+
+
P or Portrait
+
L or Landscape
+
+The default value is the one passed to the constructor.
+
+
size
+
+Page size. It can be either one of the following values (case insensitive):
+
+
A3
+
A4
+
A5
+
Letter
+
Legal
+
+or an array containing the width and the height (expressed in user unit).
+
+The default value is the one passed to the constructor.
+
+Defines an alias for the total number of pages. It will be substituted as the document is
+closed.
+
Parameters
+
+
alias
+
+The alias. Default value: {nb}.
+
+
+
Example
+
+
class PDF extends FPDF
+{
+function Footer()
+{
+ // Go to 1.5 cm from bottom
+ $this->SetY(-15);
+ // Select Arial italic 8
+ $this->SetFont('Arial','I',8);
+ // Print current and total page numbers
+ $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
+}
+}
+
+$pdf = new PDF();
+$pdf->AliasNbPages();
+Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
+
Description
+Prints a cell (rectangular area) with optional borders, background color and character string.
+The upper-left corner of the cell corresponds to the current position. The text can be aligned
+or centered. After the call, the current position moves to the right or to the next line. It is
+possible to put a link on the text.
+
+If automatic page breaking is enabled and the cell goes beyond the limit, a page break is
+done before outputting.
+
Parameters
+
+
w
+
+Cell width. If 0, the cell extends up to the right margin.
+
+
h
+
+Cell height.
+Default value: 0.
+
+
txt
+
+String to print.
+Default value: empty string.
+
+
border
+
+Indicates if borders must be drawn around the cell. The value can be either a number:
+
+
0: no border
+
1: frame
+
+or a string containing some or all of the following characters (in any order):
+
+
L: left
+
T: top
+
R: right
+
B: bottom
+
+Default value: 0.
+
+
ln
+
+Indicates where the current position should go after the call. Possible values are:
+
+
0: to the right
+
1: to the beginning of the next line
+
2: below
+
+Putting 1 is equivalent to putting 0 and calling Ln() just after.
+Default value: 0.
+
+
align
+
+Allows to center or align the text. Possible values are:
+
+
L or empty string: left align (default value)
+
C: center
+
R: right align
+
+
+
fill
+
+Indicates if the cell background must be painted (true) or transparent (false).
+Default value: false.
+
+
link
+
+URL or identifier returned by AddLink().
+
+
+
Example
+
+
// Set font
+$pdf->SetFont('Arial','B',16);
+// Move to 8 cm to the right
+$pdf->Cell(80);
+// Centered text in a framed 20*10 mm cell and line break
+$pdf->Cell(20,10,'Title',1,1,'C');
+Terminates the PDF document. It is not necessary to call this method explicitly because Output()
+does it automatically.
+
+If the document contains no page, AddPage() is called to prevent from getting an invalid document.
+
+This method is automatically called in case of fatal error; it simply outputs the message
+and halts the execution. An inherited class may override it to customize the error handling
+but should always halt the script, or the resulting document would probably be invalid.
+
+This method is used to render the page footer. It is automatically called by AddPage() and
+Close() and should not be called directly by the application. The implementation in FPDF is
+empty, so you have to subclass it and override the method if you want a specific processing.
+
Example
+
+
class PDF extends FPDF
+{
+function Footer()
+{
+ // Go to 1.5 cm from bottom
+ $this->SetY(-15);
+ // Select Arial italic 8
+ $this->SetFont('Arial','I',8);
+ // Print centered page number
+ $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
+}
+}
+FPDF([string orientation [, string unit [, mixed size]]])
+
Description
+This is the class constructor. It allows to set up the page size, the orientation and the
+unit of measure used in all methods (except for font sizes).
+
Parameters
+
+
orientation
+
+Default page orientation. Possible values are (case insensitive):
+
+
P or Portrait
+
L or Landscape
+
+Default value is P.
+
+
unit
+
+User unit. Possible values are:
+
+
pt: point
+
mm: millimeter
+
cm: centimeter
+
in: inch
+
+A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This
+is a very common unit in typography; font sizes are expressed in that unit.
+
+
+Default value is mm.
+
+
size
+
+The size used for pages. It can be either one of the following values (case insensitive):
+
+
A3
+
A4
+
A5
+
Letter
+
Legal
+
+or an array containing the width and the height (expressed in the unit given by unit).
+
+Default value is A4.
+
+This method is used to render the page header. It is automatically called by AddPage() and
+should not be called directly by the application. The implementation in FPDF is empty, so
+you have to subclass it and override the method if you want a specific processing.
+
Example
+
+
class PDF extends FPDF
+{
+function Header()
+{
+ // Select Arial bold 15
+ $this->SetFont('Arial','B',15);
+ // Move to the right
+ $this->Cell(80);
+ // Framed title
+ $this->Cell(30,10,'Title',1,0,'C');
+ // Line break
+ $this->Ln(20);
+}
+}
+Image(string file [, float x [, float y [, float w [, float h [, string type [, mixed link]]]]]])
+
Description
+Puts an image. The size it will take on the page can be specified in different ways:
+
+
explicit width and height (expressed in user unit or dpi)
+
one explicit dimension, the other being calculated automatically in order to keep the original proportions
+
no explicit dimension, in which case the image is put at 96 dpi
+
+Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
+
+
+For JPEGs, all flavors are allowed:
+
+
gray scales
+
true colors (24 bits)
+
CMYK (32 bits)
+
+For PNGs, are allowed:
+
+
gray scales on at most 8 bits (256 levels)
+
indexed colors
+
true colors (24 bits)
+
+For GIFs: in case of an animated GIF, only the first frame is displayed.
+
+Transparency is supported.
+
+The format can be specified explicitly or inferred from the file extension.
+
+It is possible to put a link on the image.
+
+Remark: if an image is used several times, only one copy is embedded in the file.
+
Parameters
+
+
file
+
+Path or URL of the image.
+
+
x
+
+Abscissa of the upper-left corner. If not specified or equal to null, the current abscissa
+is used.
+
+
y
+
+Ordinate of the upper-left corner. If not specified or equal to null, the current ordinate
+is used; moreover, a page break is triggered first if necessary (in case automatic page breaking is enabled)
+and, after the call, the current ordinate is moved to the bottom of the image.
+
+
w
+
+Width of the image in the page. There are three cases:
+
+
If the value is positive, it represents the width in user unit
+
If the value is negative, the absolute value represents the horizontal resolution in dpi
+
If the value is not specified or equal to zero, it is automatically calculated
+
+
+
h
+
+Height of the image in the page. There are three cases:
+
+
If the value is positive, it represents the height in user unit
+
If the value is negative, the absolute value represents the vertical resolution in dpi
+
If the value is not specified or equal to zero, it is automatically calculated
+
+
+
type
+
+Image format. Possible values are (case insensitive): JPG, JPEG, PNG and GIF.
+If not specified, the type is inferred from the file extension.
+
+
link
+
+URL or identifier returned by AddLink().
+
+
+
Example
+
+
// Insert a logo in the top-left corner at 300 dpi
+$pdf->Image('logo.png',10,10,-300);
+// Insert a dynamic image from a URL
+$pdf->Image('http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World',60,30,90,0,'PNG');
+AcceptPageBreak - accept or not automatic page break
+AddFont - add a new font
+AddLink - create an internal link
+AddPage - add a new page
+AliasNbPages - define an alias for number of pages
+Cell - print a cell
+Close - terminate the document
+Error - fatal error
+Footer - page footer
+FPDF - constructor
+GetStringWidth - compute string length
+GetX - get current x position
+GetY - get current y position
+Header - page header
+Image - output an image
+Line - draw a line
+Link - put a link
+Ln - line break
+MultiCell - print text with line breaks
+Output - save or send the document
+PageNo - page number
+Rect - draw a rectangle
+SetAuthor - set the document author
+SetAutoPageBreak - set the automatic page breaking mode
+SetCompression - turn compression on or off
+SetCreator - set document creator
+SetDisplayMode - set display mode
+SetDrawColor - set drawing color
+SetFillColor - set filling color
+SetFont - set font
+SetFontSize - set font size
+SetKeywords - associate keywords with document
+SetLeftMargin - set left margin
+SetLineWidth - set line width
+SetLink - set internal link destination
+SetMargins - set margins
+SetRightMargin - set right margin
+SetSubject - set document subject
+SetTextColor - set text color
+SetTitle - set document title
+SetTopMargin - set top margin
+SetX - set current x position
+SetXY - set current x and y positions
+SetY - set current y position
+Text - print a string
+Write - print flowing text
+
+
diff --git a/pdf/fpdf/doc/line.htm b/pdf/fpdf/doc/line.htm
new file mode 100755
index 0000000..a9c5194
--- /dev/null
+++ b/pdf/fpdf/doc/line.htm
@@ -0,0 +1,38 @@
+
+
+
+
+Line
+
+
+
+
+Puts a link on a rectangular area of the page. Text or image links are generally put via Cell(),
+Write() or Image(), but this method can be useful for instance to define a clickable area inside
+an image.
+
Parameters
+
+
x
+
+Abscissa of the upper-left corner of the rectangle.
+
+
y
+
+Ordinate of the upper-left corner of the rectangle.
+
+This method allows printing text with line breaks. They can be automatic (as soon as the
+text reaches the right border of the cell) or explicit (via the \n character). As many cells
+as necessary are output, one below the other.
+
+Text can be aligned, centered or justified. The cell block can be framed and the background
+painted.
+
Parameters
+
+
w
+
+Width of cells. If 0, they extend up to the right margin of the page.
+
+
h
+
+Height of cells.
+
+
txt
+
+String to print.
+
+
border
+
+Indicates if borders must be drawn around the cell block. The value can be either a number:
+
+
0: no border
+
1: frame
+
+or a string containing some or all of the following characters (in any order):
+
+
L: left
+
T: top
+
R: right
+
B: bottom
+
+Default value: 0.
+
+
align
+
+Sets the text alignment. Possible values are:
+
+
L: left alignment
+
C: center
+
R: right alignment
+
J: justification (default value)
+
+
+
fill
+
+Indicates if the cell background must be painted (true) or transparent (false).
+Default value: false.
+
+Send the document to a given destination: browser, file or string. In the case of browser, the
+plug-in may be used (if present) or a download ("Save as" dialog box) may be forced.
+
+The method first calls Close() if necessary to terminate the document.
+
Parameters
+
+
name
+
+The name of the file. If not specified, the document will be sent to the browser
+(destination I) with the name doc.pdf.
+
+
dest
+
+Destination where to send the document. It can take one of the following values:
+
+
I: send the file inline to the browser. The plug-in is used if available.
+The name given by name is used when one selects the "Save as" option on the
+link generating the PDF.
+
D: send to the browser and force a file download with the name given by
+name.
+
F: save to a local file with the name given by name (may include a path).
+
S: return the document as a string. name is ignored.
+SetAutoPageBreak(boolean auto [, float margin])
+
Description
+Enables or disables the automatic page breaking mode. When enabling, the second parameter is
+the distance from the bottom of the page that defines the triggering limit. By default, the
+mode is on and the margin is 2 cm.
+
Parameters
+
+
auto
+
+Boolean indicating if mode should be on or off.
+
+Activates or deactivates page compression. When activated, the internal representation of
+each page is compressed, which leads to a compression ratio of about 2 for the resulting
+document.
+
+Compression is on by default.
+
+
+Note: the Zlib extension is required for this feature. If not present, compression
+will be turned off.
+
Parameters
+
+
compress
+
+Boolean indicating if compression must be enabled.
+
+Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be
+displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a
+specific zooming factor or use viewer default (configured in the Preferences menu of Adobe Reader).
+The page layout can be specified too: single at once, continuous display, two columns or viewer
+default.
+
Parameters
+
+
zoom
+
+The zoom to use. It can be one of the following string values:
+
+
fullpage: displays the entire page on screen
+
fullwidth: uses maximum width of window
+
real: uses real size (equivalent to 100% zoom)
+
default: uses viewer default mode
+
+or a number indicating the zooming factor to use.
+
+Defines the color used for all drawing operations (lines, rectangles and cell borders). It
+can be expressed in RGB components or gray scale. The method can be called before the first
+page is created and the value is retained from page to page.
+
Parameters
+
+
r
+
+If g et b are given, red component; if not, indicates the gray level.
+Value between 0 and 255.
+
+Defines the color used for all filling operations (filled rectangles and cell backgrounds).
+It can be expressed in RGB components or gray scale. The method can be called before the first
+page is created and the value is retained from page to page.
+
Parameters
+
+
r
+
+If g and b are given, red component; if not, indicates the gray level.
+Value between 0 and 255.
+
+SetFont(string family [, string style [, float size]])
+
Description
+Sets the font used to print character strings. It is mandatory to call this method
+at least once before printing text or the resulting document would not be valid.
+
+The font can be either a standard one or a font added via the AddFont() method. Standard fonts
+use the Windows encoding cp1252 (Western Europe).
+
+The method can be called before the first page is created and the font is kept from page
+to page.
+
+If you just wish to change the current font size, it is simpler to call SetFontSize().
+
+
+Note: the font definition files must be accessible. They are searched successively in:
+
+
The directory defined by the FPDF_FONTPATH constant (if this constant is defined)
+
The font directory located in the same directory as fpdf.php (if it exists)
+If the file corresponding to the requested font is not found, the error "Could not include font
+definition file" is raised.
+
Parameters
+
+
family
+
+Family font. It can be either a name defined by AddFont() or one of the standard families (case
+insensitive):
+
+
Courier (fixed-width)
+
Helvetica or Arial (synonymous; sans serif)
+
Times (serif)
+
Symbol (symbolic)
+
ZapfDingbats (symbolic)
+
+It is also possible to pass an empty string. In that case, the current family is kept.
+
+
style
+
+Font style. Possible values are (case insensitive):
+
+
empty string: regular
+
B: bold
+
I: italic
+
U: underline
+
+or any combination. The default value is regular.
+Bold and italic styles do not apply to Symbol and ZapfDingbats.
+
+
size
+
+Font size in points.
+
+The default value is the current size. If no size has been specified since the beginning of
+the document, the value taken is 12.
+
+
+
Example
+
+
// Times regular 12
+$pdf->SetFont('Times');
+// Arial bold 14
+$pdf->SetFont('Arial','B',14);
+// Removes bold
+$pdf->SetFont('');
+// Times bold, italic and underlined 14
+$pdf->SetFont('Times','BIU');
+Defines the left margin. The method can be called before creating the first page.
+
+If the current abscissa gets out of page, it is brought back to the margin.
+
+Defines the line width. By default, the value equals 0.2 mm. The method can be called before
+the first page is created and the value is retained from page to page.
+
+Defines the color used for text. It can be expressed in RGB components or gray scale. The
+method can be called before the first page is created and the value is retained from page to
+page.
+
Parameters
+
+
r
+
+If g et b are given, red component; if not, indicates the gray level.
+Value between 0 and 255.
+
+Defines the abscissa and ordinate of the current position. If the passed values are negative,
+they are relative respectively to the right and bottom of the page.
+
+Moves the current abscissa back to the left margin and sets the ordinate. If the passed value
+is negative, it is relative to the bottom of the page.
+
+Prints a character string. The origin is on the left of the first character, on the baseline.
+This method allows to place a string precisely on the page, but it is usually easier to use
+Cell(), MultiCell() or Write() which are the standard methods to print text.
+
+This method prints text from the current position. When the right margin is reached (or the \n
+character is met) a line break occurs and text continues from the left margin. Upon method exit,
+the current position is left just at the end of the text.
+
+It is possible to put a link on the text.
+
Parameters
+
+
h
+
+Line height.
+
+
txt
+
+String to print.
+
+
link
+
+URL or identifier returned by AddLink().
+
+
+
Example
+
+
// Begin with regular font
+$pdf->SetFont('Arial','',14);
+$pdf->Write(5,'Visit ');
+// Then put a blue underlined link
+$pdf->SetTextColor(0,0,255);
+$pdf->SetFont('','U');
+$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');