Package com.itextpdf.text.pdf.parser
Class LocationTextExtractionStrategy.TextChunkLocationDefaultImp
- java.lang.Object
-
- com.itextpdf.text.pdf.parser.LocationTextExtractionStrategy.TextChunkLocationDefaultImp
-
- All Implemented Interfaces:
LocationTextExtractionStrategy.TextChunkLocation,java.lang.Comparable<LocationTextExtractionStrategy.TextChunkLocation>
- Enclosing class:
- LocationTextExtractionStrategy
public static class LocationTextExtractionStrategy.TextChunkLocationDefaultImp extends java.lang.Object implements LocationTextExtractionStrategy.TextChunkLocation
-
-
Field Summary
Fields Modifier and Type Field Description private floatcharSpaceWidththe width of a single space character in the font of the chunkprivate floatdistParallelEnddistance of the end of the chunk parallel to the orientation unit vector (i.e.private floatdistParallelStartdistance of the start of the chunk parallel to the orientation unit vector (i.e.private intdistPerpendicularperpendicular distance to the orientation unit vector (i.e.private VectorendLocationthe ending location of the chunkprivate intorientationMagnitudethe orientation as a scalar for quick sortingprivate VectororientationVectorunit vector in the orientation of the chunkprivate VectorstartLocationthe starting location of the chunk
-
Constructor Summary
Constructors Constructor Description TextChunkLocationDefaultImp(Vector startLocation, Vector endLocation, float charSpaceWidth)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(LocationTextExtractionStrategy.TextChunkLocation other)floatdistanceFromEndOf(LocationTextExtractionStrategy.TextChunkLocation other)Computes the distance between the end of 'other' and the beginning of this chunk in the direction of this chunk's orientation vector.floatdistParallelEnd()floatdistParallelStart()intdistPerpendicular()floatgetCharSpaceWidth()VectorgetEndLocation()VectorgetStartLocation()booleanisAtWordBoundary(LocationTextExtractionStrategy.TextChunkLocation previous)intorientationMagnitude()booleansameLine(LocationTextExtractionStrategy.TextChunkLocation as)
-
-
-
Field Detail
-
startLocation
private final Vector startLocation
the starting location of the chunk
-
endLocation
private final Vector endLocation
the ending location of the chunk
-
orientationVector
private final Vector orientationVector
unit vector in the orientation of the chunk
-
orientationMagnitude
private final int orientationMagnitude
the orientation as a scalar for quick sorting
-
distPerpendicular
private final int distPerpendicular
perpendicular distance to the orientation unit vector (i.e. the Y position in an unrotated coordinate system) we round to the nearest integer to handle the fuzziness of comparing floats
-
distParallelStart
private final float distParallelStart
distance of the start of the chunk parallel to the orientation unit vector (i.e. the X position in an unrotated coordinate system)
-
distParallelEnd
private final float distParallelEnd
distance of the end of the chunk parallel to the orientation unit vector (i.e. the X position in an unrotated coordinate system)
-
charSpaceWidth
private final float charSpaceWidth
the width of a single space character in the font of the chunk
-
-
Method Detail
-
orientationMagnitude
public int orientationMagnitude()
- Specified by:
orientationMagnitudein interfaceLocationTextExtractionStrategy.TextChunkLocation
-
distPerpendicular
public int distPerpendicular()
- Specified by:
distPerpendicularin interfaceLocationTextExtractionStrategy.TextChunkLocation
-
distParallelStart
public float distParallelStart()
- Specified by:
distParallelStartin interfaceLocationTextExtractionStrategy.TextChunkLocation
-
distParallelEnd
public float distParallelEnd()
- Specified by:
distParallelEndin interfaceLocationTextExtractionStrategy.TextChunkLocation
-
getStartLocation
public Vector getStartLocation()
- Specified by:
getStartLocationin interfaceLocationTextExtractionStrategy.TextChunkLocation- Returns:
- the start location of the text
-
getEndLocation
public Vector getEndLocation()
- Specified by:
getEndLocationin interfaceLocationTextExtractionStrategy.TextChunkLocation- Returns:
- the end location of the text
-
getCharSpaceWidth
public float getCharSpaceWidth()
- Specified by:
getCharSpaceWidthin interfaceLocationTextExtractionStrategy.TextChunkLocation- Returns:
- the width of a single space character as rendered by this chunk
-
sameLine
public boolean sameLine(LocationTextExtractionStrategy.TextChunkLocation as)
- Specified by:
sameLinein interfaceLocationTextExtractionStrategy.TextChunkLocation- Parameters:
as- the location to compare to- Returns:
- true is this location is on the the same line as the other
-
distanceFromEndOf
public float distanceFromEndOf(LocationTextExtractionStrategy.TextChunkLocation other)
Computes the distance between the end of 'other' and the beginning of this chunk in the direction of this chunk's orientation vector. Note that it's a bad idea to call this for chunks that aren't on the same line and orientation, but we don't explicitly check for that condition for performance reasons.- Specified by:
distanceFromEndOfin interfaceLocationTextExtractionStrategy.TextChunkLocation- Parameters:
other-- Returns:
- the number of spaces between the end of 'other' and the beginning of this chunk
-
isAtWordBoundary
public boolean isAtWordBoundary(LocationTextExtractionStrategy.TextChunkLocation previous)
- Specified by:
isAtWordBoundaryin interfaceLocationTextExtractionStrategy.TextChunkLocation
-
compareTo
public int compareTo(LocationTextExtractionStrategy.TextChunkLocation other)
- Specified by:
compareToin interfacejava.lang.Comparable<LocationTextExtractionStrategy.TextChunkLocation>
-
-