Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PDF Functions : PDF_rect

PDF_rect

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

Draws a rectangle. Returns TRUE on success or FALSE on failure.

Examples ( Source code ) PDF_rect

<?php
//Create & Open PDF-Object
$pdf pdf_new();
pdf_open_file($pdf);
pdf_set_info($pdf"Author","Bob Nijman");
pdf_set_info($pdf"Title","www.nijman.de");
pdf_set_info($pdf"Creator""bob@nijman.de");
pdf_set_info($pdf"Subject""pdf-stuff");
pdf_begin_page($pdf200200);
// just a simple rectangle
pdf_setlinewidth($pdf5); //make the border of the rectangle a bit wider
pdf_rotate($pdf5); //rotate the coordinate system (NOT THE RECTANGLE !!!!!)
pdf_rect($pdf1001005050); //draw the rectangle
pdf_stroke($pdf); //stroke the path with the current color(not yet :-)) and line width
//note: the rect is not drawn untill we use pdf_stroke - try it out!!!
//close it up
pdf_end_page($pdf);
pdf_close($pdf);
$data pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=invoice.pdf');
header('Content-length: ' strlen($data));
echo 
$data;
?>

Code Examples / Notes » pdf_rect

02-aug-2001 01:26

This will draw a simple rectangle...
...with a few extras.
<?php
//Create & Open PDF-Object
$pdf = pdf_new();
pdf_open_file($pdf);
pdf_set_info($pdf, "Author","Bob Nijman");
pdf_set_info($pdf, "Title","www.nijman.de");
pdf_set_info($pdf, "Creator", "bob@nijman.de");
pdf_set_info($pdf, "Subject", "pdf-stuff");
pdf_begin_page($pdf, 200, 200);
// just a simple rectangle
pdf_setlinewidth($pdf, 5); //make the border of the rectangle a bit wider
pdf_rotate($pdf, 5); //rotate the coordinate system (NOT THE RECTANGLE !!!!!)
pdf_rect($pdf, 100, 100, 50, 50); //draw the rectangle
pdf_stroke($pdf); //stroke the path with the current color(not yet :-)) and line width
//note: the rect is not drawn untill we use pdf_stroke - try it out!!!
//close it up
pdf_end_page($pdf);
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header('Content-disposition: inline; filename=invoice.pdf');
header('Content-length: ' . strlen($data));
echo $data;
?>
Thanx to:
http://www.dynamicwebpages.de/50.tutorials.php?dwp_tutorialID=11
Great german (!!!) tutorial


stuart

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.


tobias

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);
}
?>


ragnar

Be sure of adding a pdf_stroke(resource_pdf) after the pdf_rect function or will take an error in the PDFlib.

Change Language


Follow Navioo On Twitter
PDF_activate_item
PDF_add_annotation
PDF_add_bookmark
PDF_add_launchlink
PDF_add_locallink
PDF_add_nameddest
PDF_add_note
PDF_add_outline
PDF_add_pdflink
PDF_add_table_cell
PDF_add_textflow
PDF_add_thumbnail
PDF_add_weblink
PDF_arc
PDF_arcn
PDF_attach_file
PDF_begin_document
PDF_begin_font
PDF_begin_glyph
PDF_begin_item
PDF_begin_layer
PDF_begin_page_ext
PDF_begin_page
PDF_begin_pattern
PDF_begin_template_ext
PDF_begin_template
PDF_circle
PDF_clip
PDF_close_image
PDF_close_pdi_page
PDF_close_pdi
PDF_close
PDF_closepath_fill_stroke
PDF_closepath_stroke
PDF_closepath
PDF_concat
PDF_continue_text
PDF_create_3dview
PDF_create_action
PDF_create_annotation
PDF_create_bookmark
PDF_create_field
PDF_create_fieldgroup
PDF_create_gstate
PDF_create_pvf
PDF_create_textflow
PDF_curveto
PDF_define_layer
PDF_delete_pvf
PDF_delete_table
PDF_delete_textflow
PDF_delete
PDF_encoding_set_char
PDF_end_document
PDF_end_font
PDF_end_glyph
PDF_end_item
PDF_end_layer
PDF_end_page_ext
PDF_end_page
PDF_end_pattern
PDF_end_template
PDF_endpath
PDF_fill_imageblock
PDF_fill_pdfblock
PDF_fill_stroke
PDF_fill_textblock
PDF_fill
PDF_findfont
PDF_fit_image
PDF_fit_pdi_page
PDF_fit_table
PDF_fit_textflow
PDF_fit_textline
PDF_get_apiname
PDF_get_buffer
PDF_get_errmsg
PDF_get_errnum
PDF_get_font
PDF_get_fontname
PDF_get_fontsize
PDF_get_image_height
PDF_get_image_width
PDF_get_majorversion
PDF_get_minorversion
PDF_get_parameter
PDF_get_pdi_parameter
PDF_get_pdi_value
PDF_get_value
PDF_info_font
PDF_info_matchbox
PDF_info_table
PDF_info_textflow
PDF_info_textline
PDF_initgraphics
PDF_lineto
PDF_load_3ddata
PDF_load_font
PDF_load_iccprofile
PDF_load_image
PDF_makespotcolor
PDF_moveto
PDF_new
PDF_open_ccitt
PDF_open_file
PDF_open_gif
PDF_open_image_file
PDF_open_image
PDF_open_jpeg
PDF_open_memory_image
PDF_open_pdi_page
PDF_open_pdi
PDF_open_tiff
PDF_pcos_get_number
PDF_pcos_get_stream
PDF_pcos_get_string
PDF_place_image
PDF_place_pdi_page
PDF_process_pdi
PDF_rect
PDF_restore
PDF_resume_page
PDF_rotate
PDF_save
PDF_scale
PDF_set_border_color
PDF_set_border_dash
PDF_set_border_style
PDF_set_char_spacing
PDF_set_duration
PDF_set_gstate
PDF_set_horiz_scaling
PDF_set_info_author
PDF_set_info_creator
PDF_set_info_keywords
PDF_set_info_subject
PDF_set_info_title
PDF_set_info
PDF_set_layer_dependency
PDF_set_leading
PDF_set_parameter
PDF_set_text_matrix
PDF_set_text_pos
PDF_set_text_rendering
PDF_set_text_rise
PDF_set_value
PDF_set_word_spacing
PDF_setcolor
PDF_setdash
PDF_setdashpattern
PDF_setflat
PDF_setfont
PDF_setgray_fill
PDF_setgray_stroke
PDF_setgray
PDF_setlinecap
PDF_setlinejoin
PDF_setlinewidth
PDF_setmatrix
PDF_setmiterlimit
PDF_setpolydash
PDF_setrgbcolor_fill
PDF_setrgbcolor_stroke
PDF_setrgbcolor
PDF_shading_pattern
PDF_shading
PDF_shfill
PDF_show_boxed
PDF_show_xy
PDF_show
PDF_skew
PDF_stringwidth
PDF_stroke
PDF_suspend_page
PDF_translate
PDF_utf16_to_utf8
PDF_utf32_to_utf16
PDF_utf8_to_utf16
eXTReMe Tracker