# PostScript document creation

## Introduction

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.

## Requirements

You need at least PHP 4.3.0 and pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.

## Installation

A short installation note: just type

    $ pecl install ps

in your console.

## Runtime Configuration

This extension has no configuration directives defined in php.ini.

## Resource Types

This extension defines a PostScript document resource returned by ps_new().

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

The following two tables lists all constants defined by the ps extension.

Contants for line caps
Name | Meaning
--- | ---
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |

Contants for line joins
Name | Meaning
--- | ---
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |

## Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

## Table of Contents

- ps_add_bookmark — Add bookmark to current page
- ps_add_launchlink — Adds link which launches file
- ps_add_locallink — Adds link to a page in the same document
- ps_add_note — Adds note to current page
- ps_add_pdflink — Adds link to a page in a second pdf document
- ps_add_weblink — Adds link to a web location
- ps_arc — Draws an arc counterclockwise
- ps_arcn — Draws an arc clockwise
- ps_begin_page — Start a new page
- ps_begin_pattern — Start a new pattern
- ps_begin_template — Start a new template
- ps_circle — Draws a circle
- ps_clip — Clips drawing to current path
- ps_close_image — Closes image and frees memory
- ps_close — Closes a PostScript document
- ps_closepath_stroke — Closes and strokes path
- ps_closepath — Closes path
- ps_continue_text — Continue text in next line
- ps_curveto — Draws a curve
- ps_delete — Deletes all resources of a PostScript document
- ps_end_page — End a page
- ps_end_pattern — End a pattern
- ps_end_template — End a template
- ps_fill_stroke — Fills and strokes the current path
- ps_fill — Fills the current path
- ps_findfont — Loads a font
- ps_get_buffer — Fetches the full buffer containig the generated PS data
- ps_get_parameter — Gets certain parameters
- ps_get_value — Gets certain values
- ps_hyphenate — Hyphenates a word
- ps_include_file — Reads an external file with raw PostScript code
- ps_lineto — Draws a line
- ps_makespotcolor — Create spot color
- ps_moveto — Sets current point
- ps_new — Creates a new PostScript document object
- ps_open_file — Opens a file for output
- ps_open_image_file — Opens image from file
- ps_open_image — Reads an image for later placement
- ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
- ps_place_image — Places image on the page
- ps_rect — Draws a rectangle
- ps_restore — Restore previously save context
- ps_rotate — Sets rotation factor
- ps_save — Save current context
- ps_scale — Sets scaling factor
- ps_set_border_color — Sets color of border for annotations
- ps_set_border_dash — Sets length of dashes for border of annotations
- ps_set_border_style — Sets border style of annotations
- ps_set_info — Sets information fields of document
- ps_set_parameter — Sets certain parameters
- ps_set_text_pos — Sets position for text output
- ps_set_value — Sets certain values
- ps_setcolor — Sets current color
- ps_setdash — Sets appearance of a dashed line
- ps_setflat — Sets flatness
- ps_setfont — Sets font to use for following output
- ps_setgray — Sets gray value
- ps_setlinecap — Sets appearance of line ends
- ps_setlinejoin — Sets how contected lines are joined
- ps_setlinewidth — Sets width of a line
- ps_setmiterlimit — Sets the miter limit
- ps_setoverprintmode — Sets overprint mode
- ps_setpolydash — Sets appearance of a dashed line
- ps_shading_pattern — Creates a pattern based on a shading
- ps_shading — Creates a shading for later use
- ps_shfill — Fills an area with a shading
- ps_show_boxed — Output text in a box
- ps_show_xy2 — Output text at position
- ps_show_xy — Output text at given position
- ps_show2 — Output a text at current position
- ps_show — Output text
- ps_string_geometry — Gets geometry of a string
- ps_stringwidth — Gets width of a string
- ps_stroke — Draws the current path
- ps_symbol_name — Gets name of a glyph
- ps_symbol_width — Gets width of a glyph
- ps_symbol — Output a glyph
- ps_translate — Sets translation