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



PHP : Function Reference : PostScript document creation : ps_show_boxed

ps_show_boxed

Output text in a box (PECL ps:1.1.0-1.3.5)
int ps_show_boxed ( resource psdoc, string text, float left, float bottom, float width, float height, string hmode [, string feature] )

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Parameters

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to "true" if you want a carriage return to start a new line instead of treating it as a space. Defaults to "false".

parbreak (parameter)

Set to "true" if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to "true".

hyphenation (parameter)

Set to "true" in order to turn hyphenation on. This requires a dictionary to be set with the parameter "hyphendict". Defaults to "false".

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value "numindentlines".

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are "box" for numbering lines in the whole box or "paragraph" to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

/usr/share/apps/koffice/hyphdicts/
/usr/lib/scribus/dicts/
/usr/lib/openoffice/share/dict/ooo/

Currently scribus appears to have the most complete hyphenation dictionaries.

Return Values

Number of characters that could not be written.

Code Examples / Notes » ps_show_boxed

tilman dot schroeder

Note that there will no box be drawn around the text even if the function name suggests this.
After the box has been drawn you can get the new x and y position with
<?php
$x=ps_get_value($ps,'textx',NULL);
$y=ps_get_value($ps,'texty',NULL);
?>
textx points to the end of the last character written by ps_show_boxed and texty points to the baseline of the last line written (which means, if there is e.g. a 'g' in the last line then the lower part's y-coordinates of the g will be lower than the value of texty. I hope you understand what I meant)


Change Language


Follow Navioo On Twitter
ps_add_bookmark
ps_add_launchlink
ps_add_locallink
ps_add_note
ps_add_pdflink
ps_add_weblink
ps_arc
ps_arcn
ps_begin_page
ps_begin_pattern
ps_begin_template
ps_circle
ps_clip
ps_close_image
ps_close
ps_closepath_stroke
ps_closepath
ps_continue_text
ps_curveto
ps_delete
ps_end_page
ps_end_pattern
ps_end_template
ps_fill_stroke
ps_fill
ps_findfont
ps_get_buffer
ps_get_parameter
ps_get_value
ps_hyphenate
ps_include_file
ps_lineto
ps_makespotcolor
ps_moveto
ps_new
ps_open_file
ps_open_image_file
ps_open_image
ps_open_memory_image
ps_place_image
ps_rect
ps_restore
ps_rotate
ps_save
ps_scale
ps_set_border_color
ps_set_border_dash
ps_set_border_style
ps_set_info
ps_set_parameter
ps_set_text_pos
ps_set_value
ps_setcolor
ps_setdash
ps_setflat
ps_setfont
ps_setgray
ps_setlinecap
ps_setlinejoin
ps_setlinewidth
ps_setmiterlimit
ps_setoverprintmode
ps_setpolydash
ps_shading_pattern
ps_shading
ps_shfill
ps_show_boxed
ps_show_xy2
ps_show_xy
ps_show2
ps_show
ps_string_geometry
ps_stringwidth
ps_stroke
ps_symbol_name
ps_symbol_width
ps_symbol
ps_translate
eXTReMe Tracker