# LineAnnotation Class

> The line annotation displays a single straight line on a PDF page.

- Product: Adobe PDF Library 18
- Language: Java
- Version: APDFL18.0.5PlusP2a
- HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/LineAnnotation
- Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/llms.txt

```java
class LineAnnotation : Annotation
```

**Namespace:** `com::datalogics::PDFL`

**Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Annotation.md)

## Description

The line annotation displays a single straight line on a PDF page. When opened it displays a pop-up window containing the text of an associated note, placed at specific x/y coordinates for starting and ending points of the line.

**Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md)

## Constructors

### LineAnnotation

```java
com.datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint)
```

*constructor*

**Parameters**

- `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Page.md)): The page to which the LineAnnotation is added.
- `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates.
- `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)): The starting coordinate of the line, in user space.
- `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)): The ending coordinate of the line, in user space.

Create a new LineAnnotation at the end of a page's annotation array. To create a LineAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position.

### LineAnnotation

```java
com.datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint, int addAfter)
```

*constructor*

**Parameters**

- `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Page.md)): The page to which the annotation is added.
- `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates.
- `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)): The starting coordinate of the line, in user space.
- `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)): The ending coordinate of the line, in user space.
- `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results.

Create a new LineAnnotation at a specific index in the page's annotation array.

## Methods

### delete

```java
synchronized void com.datalogics.PDFL.LineAnnotation.delete(Boolean disposing)
```

*protected*

**Parameters**

- `disposing` (`Boolean`)

**Returns:** `synchronized void`

### delete

```java
synchronized void com.datalogics.PDFL.LineAnnotation.delete()
```

**Returns:** `synchronized void`

### equals

```java
boolean com.datalogics.PDFL.Annotation.equals(Object rhs)
```

**Parameters**

- `rhs` (`Object`)

**Returns:** `boolean`

### finalize

```java
void com.datalogics.PDFL.LineAnnotation.finalize()
```

*protected*

**Returns:** `void`

### generateAppearance

```java
Form com.datalogics.PDFL.LineAnnotation.generateAppearance()
```

**Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Form.md)

Generate a new appearance stream with the current annotation properties.

The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance.

### getAnnotationFeatureLevel

```java
double com.datalogics.PDFL.LineAnnotation.getAnnotationFeatureLevel()
```

**Returns:** `double`

The minimum PDF version necessary to support the features used in this annotation.

### getBorderStyle

```java
String com.datalogics.PDFL.LineAnnotation.getBorderStyle()
```

**Returns:** `String`

The border style.

Can be one of:

S - Solid

D - Dashed. The dash pattern is specified as an array (see DashPattern)

B - Beveled

I - Inset

U - Underline Other border styles may be defined in the future. Default is "S"

### getBorderStyleDashPattern

```java
java.util.List< Double > com.datalogics.PDFL.LineAnnotation.getBorderStyleDashPattern()
```

**Returns:** `java.util.List< Double >`

An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D).

The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units.

Default value is [3]

### getBorderStyleWidth

```java
double com.datalogics.PDFL.LineAnnotation.getBorderStyleWidth()
```

**Returns:** `double`

The border width in points.

If this value is 0, no border is drawn. The default is 1.0.

### getColor

```java
Color com.datalogics.PDFL.Annotation.getColor()
```

**Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Color.md)

The color of the annotation.

### getContents

```java
String com.datalogics.PDFL.Annotation.getContents()
```

**Returns:** `String`

The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form.

### getEndPoint

```java
Point com.datalogics.PDFL.LineAnnotation.getEndPoint()
```

**Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)

The ending coordinate of the line, in user space.

If the line has leader lines, the end point represents the ending point of the leader line rather than the line itself.

### getEndPointEndingStyle

```java
LineEndingStyle com.datalogics.PDFL.LineAnnotation.getEndPointEndingStyle()
```

**Returns:** `LineEndingStyle`

### getFlags

```java
java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags()
```

**Returns:** `java.util.EnumSet< AnnotationFlags >`

The flags for the annotation.

### getInteriorColor

```java
Color com.datalogics.PDFL.Annotation.getInteriorColor()
```

**Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Color.md)

The interior color with which to fill the annotation's line endings.

The color of the line itself can be retrieved from Annotation.Color.

### getNormalAppearance

```java
Form com.datalogics.PDFL.Annotation.getNormalAppearance()
```

**Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Form.md)

### getOpacity

```java
double com.datalogics.PDFL.Annotation.getOpacity()
```

**Returns:** `double`

The optional constant opacity value that shall be used in painting a Markup annotation.

Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque).

### getOptionalContentMembershipDict

```java
OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict()
```

**Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/OptionalContentMembershipDict.md)

the OptionalContentMembershipDict

The OptionalContentMembershipDict property for this Annotation.

Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict.

### getPDFDict

```java
PDFDict com.datalogics.PDFL.Annotation.getPDFDict()
```

**Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/PDFDict.md)

Retrieve the PDFObject representation of this object

### getRect

```java
Rect com.datalogics.PDFL.Annotation.getRect()
```

**Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md)

The size and location of the annotation on its page

### getStartPoint

```java
Point com.datalogics.PDFL.LineAnnotation.getStartPoint()
```

**Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md)

The starting coordinate of the line, in user space.

If the line has leader lines, the start point represents the starting point of the leader line rather than the line itself.

### getStartPointEndingStyle

```java
LineEndingStyle com.datalogics.PDFL.LineAnnotation.getStartPointEndingStyle()
```

**Returns:** `LineEndingStyle`

### getSubtype

```java
String com.datalogics.PDFL.Annotation.getSubtype()
```

**Returns:** `String`

The annotation's subtype

### getTitle

```java
String com.datalogics.PDFL.Annotation.getTitle()
```

**Returns:** `String`

The title of the annotation.

### hasRichTextData

```java
boolean com.datalogics.PDFL.Annotation.hasRichTextData()
```

**Returns:** `boolean`

Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page.

### isCurrentlyVisible

```java
boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ)
```

**Parameters**

- `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/OptionalContentContext.md))

**Returns:** `boolean`

true if the annotation is currently visible.

Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy.

If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation.

This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method.

### setAnnotationFeatureLevel

```java
void com.datalogics.PDFL.LineAnnotation.setAnnotationFeatureLevel(double featureLevel)
```

**Parameters**

- `featureLevel` (`double`)

**Returns:** `void`

Removes features not supported in the supplied version number.

### setBorderStyle

```java
void com.datalogics.PDFL.LineAnnotation.setBorderStyle(String style)
```

**Parameters**

- `style` (`String`)

**Returns:** `void`

The border style.

Can be one of:

S - Solid

D - Dashed. The dash pattern is specified as an array (see DashPattern)

B - Beveled

I - Inset

U - Underline Other border styles may be defined in the future. Default is "S"

### setBorderStyleDashPattern

```java
void com.datalogics.PDFL.LineAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern)
```

**Parameters**

- `dashPattern` (`java.util.List< Double >`)

**Returns:** `void`

An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D).

The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units.

Default value is [3]

### setBorderStyleWidth

```java
void com.datalogics.PDFL.LineAnnotation.setBorderStyleWidth(double width)
```

**Parameters**

- `width` (`double`)

**Returns:** `void`

The border width in points.

If this value is 0, no border is drawn. The default is 1.0.

### setColor

```java
void com.datalogics.PDFL.Annotation.setColor(Color arg0)
```

**Parameters**

- `arg0` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Color.md))

**Returns:** `void`

The color of the annotation.

### setContents

```java
void com.datalogics.PDFL.Annotation.setContents(String arg0)
```

**Parameters**

- `arg0` (`String`)

**Returns:** `void`

The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form.

### setEndPoint

```java
void com.datalogics.PDFL.LineAnnotation.setEndPoint(Point endPoint)
```

**Parameters**

- `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md))

**Returns:** `void`

The ending coordinate of the line, in user space.

If the line has leader lines, the end point represents the ending point of the leader line rather than the line itself.

### setEndPointEndingStyle

```java
void com.datalogics.PDFL.LineAnnotation.setEndPointEndingStyle(LineEndingStyle style)
```

**Parameters**

- `style` (`LineEndingStyle`)

**Returns:** `void`

### setFlags

```java
void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > arg0)
```

**Parameters**

- `arg0` (`java.util.EnumSet< AnnotationFlags >`)

**Returns:** `void`

The flags for the annotation.

### setInteriorColor

```java
void com.datalogics.PDFL.Annotation.setInteriorColor(Color color)
```

**Parameters**

- `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Color.md))

**Returns:** `void`

The interior color with which to fill the annotation's line endings.

Only RGB colors are allowed.

The color of the line itself can be retrieved from Annotation.Color.

### setNormalAppearance

```java
void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form)
```

**Parameters**

- `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Form.md))

**Returns:** `void`

### setOpacity

```java
void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue)
```

**Parameters**

- `opacityValue` (`double`)

**Returns:** `void`

The optional constant opacity value that shall be used in painting a Markup annotation.

Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque).

### setOptionalContentMembershipDict

```java
void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd)
```

**Parameters**

- `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict

**Returns:** `void`

The OptionalContentMembershipDict property for this Annotation.

Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict.

### setRect

```java
void com.datalogics.PDFL.Annotation.setRect(Rect rect)
```

**Parameters**

- `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Rect.md))

**Returns:** `void`

The size and location of the annotation on its page

### setStartPoint

```java
void com.datalogics.PDFL.LineAnnotation.setStartPoint(Point startPoint)
```

**Parameters**

- `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/class/Point.md))

**Returns:** `void`

The starting coordinate of the line, in user space.

If the line has leader lines, the start point represents the starting point of the leader line rather than the line itself.

### setStartPointEndingStyle

```java
void com.datalogics.PDFL.LineAnnotation.setStartPointEndingStyle(LineEndingStyle style)
```

**Parameters**

- `style` (`LineEndingStyle`)

**Returns:** `void`

### setTitle

```java
void com.datalogics.PDFL.Annotation.setTitle(String title)
```

**Parameters**

- `title` (`String`)

**Returns:** `void`

The title of the annotation.

### toString

```java
String com.datalogics.PDFL.Annotation.toString()
```

**Returns:** `String`
