class HexaPDF:: Type:: Annotations:: PolygonPolyline
This is the base class for the polygon and polyline markup annotations which display either a closed polygon or a polyline inside the annotation rectangle.
The styling is done through methods included by various modules:
-
Changing the line width, line dash pattern and color is done using the method BorderStyling#border_style. While that method allows special styling of the line (like :beveled), only a simple line dash pattern is supported.
-
The border effect can be changed through BorderEffect#border_effect. Note that cloudy borders are not supported.
-
The interior color can be changed through InteriorColor#interior_color.
-
The line ending style can be changed through LineEndingStyling#line_ending_style.
See: PDF2.0 s12.5.6.9, HexaPDF::Type::Annotations::Polyline, HexaPDF::Type::Annotations::Polygon, HexaPDF::Type::MarkupAnnotation
Field Definitions
| Name | Type/Allowed Values | Required | Default Value |
|---|---|---|---|
| Type | Symbol | false | :Annot |
| Subtype | Symbol | true | nil |
| Rect | HexaPDF::Rectangle or Array | true | nil |
| Contents | String | false | nil |
| P | HexaPDF::Dictionary or Hash | false | nil |
| NM | String | false | nil |
| M | HexaPDF::DictionaryFields::PDFDate or String or Time or Date or DateTime | false | nil |
| F | Integer | false | 0 |
| AP | HexaPDF::Type::Annotation::AppearanceDictionary or Hash | false | nil |
| AS | Symbol | false | nil |
| Border | HexaPDF::PDFArray or Array | false | [0, 0, 1] |
| C | HexaPDF::PDFArray or Array | false | nil |
| StructParent | Integer | false | nil |
| OC | HexaPDF::Dictionary or Hash | false | nil |
| AF | HexaPDF::PDFArray or Array | false | nil |
| ca | Numeric | false | 1.0 |
| CA | Numeric | false | 1.0 |
| BM | Symbol | false | nil |
| Lang | String | false | nil |
| T | String | false | nil |
| Popup | HexaPDF::Type::Annotation or Hash | false | nil |
| RC | HexaPDF::Stream or String or Hash | false | nil |
| CreationDate | HexaPDF::DictionaryFields::PDFDate or String or Time or Date or DateTime | false | nil |
| IRT | HexaPDF::Dictionary or Hash | false | nil |
| Subj | String | false | nil |
| RT | Symbol One of: :R, :Group | false | :R |
| IT | Symbol | false | nil |
| ExData | HexaPDF::Type::Annotations::MarkupAnnotation::ExData or Hash | false | nil |
| Vertices | HexaPDF::PDFArray or Array | true | nil |
| LE | HexaPDF::PDFArray or Array | false | [:None, :None] |
| BS | HexaPDF::Type::Annotation::Border or Hash | false | nil |
| IC | HexaPDF::PDFArray or Array | false | nil |
| BE | HexaPDF::Type::Annotation::BorderEffect or Hash | false | nil |
| IT | Symbol One of: :PolygonCloud, :PolyLineDimension, :PolygonDimension | false | nil |
| Measure | HexaPDF::Type::Measure or Hash | false | nil |
| Path | HexaPDF::PDFArray or Array | false | nil |
Public Instance Methods
Returns the array with the vertices, alternating between horizontal and vertical coordinates, when no argument is given. Otherwise sets the vertices and returns self.
This is the only required setting. Note, however, that without setting the appearance style through convenience methods like border_style nothing will be shown.
Example:
doc.annotations.
create_polyline(doc.pages[0], 20, 20, 30, 70, 80, 60, 40, 30).
regenerate_appearance