PDF_rect

(PHP 4, PECL pdflib >= 1.0.0)

PDF_rectDraw rectangle

说明

bool PDF_rect ( resource $p , float $x , float $y , float $width , float $height )

Draws a rectangle. 成功时返回 TRUE, 或者在失败时返回 FALSE

User Contributed Notes

nick 26-May-2010 12:02
In php5 a rectangle with some text in is made like this.

<?php
$p
->rect(55,520,400,20);
$p->stroke();

$font = $p->load_font("Helvetica", "winansi", "");
$p->setfont($font, 14.0);
$p->set_text_pos(200, 525);
$p->show("Some text");

?>
stuart at horuskol dot co dot uk 09-Jun-2006 11:14
This section of the manual is really sparse, and there don't seem to be any tutorials out there that go beyond adding a single line of text, so I found this piece of information out by trial and error.

The function only specifies that you want a rectangle at those co-ordinates, and must be followed by a stroke command:

  pdf_rect($pdf, 100, 100, 50, 50);
  pdf_stroke($pdf);

This completes the process of placing the rectangle on the page.
ragnar at deulos dot com 04-Oct-2005 08:09
Be sure of adding a pdf_stroke(resource_pdf) after the pdf_rect function or will take an error in the PDFlib.
tobias at midas dot se 16-May-2002 11:31
Round rectangles

My function to create rectangles width round corners:

<?php
function pdf_roundrect($pdfobj, $xpos, $ypos, $xsize, $ysize, $radius)
{
 
$ypos = $ypos+$ysize;
 
pdf_moveto($pdfobj, $xpos, $ypos-$radius);
 
pdf_lineto($pdfobj, $xpos, $ypos-$ysize+$radius);
 
pdf_arc($pdfobj, $xpos+$radius, $ypos-$ysize+$radius, $radius, 180, 270);
 
pdf_lineto($pdfobj, $xpos+$xsize-$radius, $ypos-$ysize);
 
pdf_arc($pdfobj, $xpos+$xsize-$radius, $ypos-$ysize+$radius, $radius, 270, 360);
 
pdf_lineto($pdfobj, $xpos+$xsize, $ypos-$radius);
 
pdf_arc($pdfobj, $xpos+$xsize-$radius, $ypos-$radius, $radius,0,90);
 
pdf_lineto($pdfobj, $xpos+$radius, $ypos);
 
pdf_arc($pdfobj, $xpos+$radius, $ypos-$radius, $radius,90,180);
}
?>