Package com.itextpdf.text.pdf.pdfcleanup
Class PdfCleanUpRegionFilter
java.lang.Object
com.itextpdf.text.pdf.parser.RenderFilter
com.itextpdf.text.pdf.pdfcleanup.PdfCleanUpRegionFilter
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddContour(Path path, List<Point.LongPoint> contour, Boolean close) addPath(ClipperOffset offset, Path path, Clipper.JoinType joinType, Clipper.EndType endType) Adds all subpaths of the path to theClipperOffsetobject with one note: it doesn't add degenerate subpaths.private static voidprivate static voidaddRect(Clipper clipper, Point2D[] rectVertices, Clipper.PolyType polyType) booleanallowImage(ImageRenderInfo renderInfo) booleanallowText(TextRenderInfo renderInfo) Checks if the text is inside render filter region.private static floatprivate static PathapplyDashPattern(Path path, LineDashPattern lineDashPattern) private static BezierCurve[]approximateCircle(Point2D center, double radius) private RectanglecalcImageRect(ImageRenderInfo renderInfo) private static Point2DcomponentwiseDiff(Point2D minuend, Point2D subtrahend) private static SubpathconstructSquare(Point2D squareCenter, double widthHalf, double rotationAngle) convertToCircles(List<Subpath> degenerateSubpaths, double radius) Converts specified degenerate subpaths to circles.convertToFloatPoints(List<Point.LongPoint> points) private static PathconvertToIntPoints(List<Point2D> points) private static PathconvertToPath(PolyTree result) convertToSquares(List<Subpath> degenerateSubpaths, double squareWidth, Path sourcePath) Converts specified degenerate subpaths to squares.protected PathfilterFillPath(Path path, Matrix ctm, int fillingRule) Note: this method will close all unclosed subpaths of the passed path.protected PathfilterStrokePath(Path sourcePath, Matrix ctm, float lineWidth, int lineCapStyle, int lineJoinStyle, float miterLimit, LineDashPattern lineDashPattern) getCoveredAreas(ImageRenderInfo renderInfo) Calculates intersection of the image and the render filter region in the coordinate system relative to the image.private static Clipper.EndTypegetEndType(int lineCapStyle) private static Clipper.JoinTypegetJoinType(int lineJoinStyle) private static Point2DgetNextPoint(Point2D segStart, Point2D segEnd, float dist) getPathApproximation(Path path) private RectanglegetRectangle(Point2D p1, Point2D p2, Point2D p3, Point2D p4) Constructs Rectangle object on the given pointsprivate static Point2D[]getRotatedSquareVertices(Point2D[] orthogonalSquareVertices, double angle, Point2D squareCenter) private static Point2DgetUnitVector(Point2D vector) private static doublegetVectorEuclideanNorm(Point2D vector) private Point2D[]getVertices(Rectangle rect) private booleanprivate Rectangleintersection(Rectangle rect1, Rectangle rect2) private static booleanliesOnSegment(Point2D segStart, Point2D segEnd, Point2D point) private RectangletransformIntersection(Matrix imageCTM, Rectangle rect) Transforms the given Rectangle into the image coordinate system which is [0,1]x[0,1] by defaultprivate Point2D[]transformPoints(Matrix transormationMatrix, boolean inverse, Point2D... points)
-
Field Details
-
rectangles
-
circleApproximationConst
private static final double circleApproximationConst- See Also:
-
-
Constructor Details
-
PdfCleanUpRegionFilter
-
-
Method Details
-
allowText
Checks if the text is inside render filter region.- Overrides:
allowTextin classRenderFilter- Parameters:
renderInfo-- Returns:
- true if the text render operation should be performed
-
allowImage
- Overrides:
allowImagein classRenderFilter- Parameters:
renderInfo-- Returns:
- true if the image render operation should be performed
-
getCoveredAreas
Calculates intersection of the image and the render filter region in the coordinate system relative to the image. -
filterStrokePath
protected Path filterStrokePath(Path sourcePath, Matrix ctm, float lineWidth, int lineCapStyle, int lineJoinStyle, float miterLimit, LineDashPattern lineDashPattern) -
filterFillPath
Note: this method will close all unclosed subpaths of the passed path.- Parameters:
fillingRule- If the subpath is contour, pass any value.
-
getJoinType
-
getEndType
-
convertToCircles
Converts specified degenerate subpaths to circles. Note: actually the resultant subpaths are not real circles but approximated.- Parameters:
radius- Radius of each constructed circle.- Returns:
Listconsisting of circles constructed on given degenerated subpaths.
-
convertToSquares
private static List<Subpath> convertToSquares(List<Subpath> degenerateSubpaths, double squareWidth, Path sourcePath) Converts specified degenerate subpaths to squares. Note: the list of degenerate subpaths should contain at least 2 elements. Otherwise we can't determine the direction which the rotation of each square depends on.- Parameters:
squareWidth- Width of each constructed square.sourcePath- The path which dash pattern applied to. Needed to calc rotation angle of each square.- Returns:
Listconsisting of squares constructed on given degenerated subpaths.
-
getPathApproximation
-
constructSquare
-
getRotatedSquareVertices
-
addPath
private static List<Subpath> addPath(ClipperOffset offset, Path path, Clipper.JoinType joinType, Clipper.EndType endType) Adds all subpaths of the path to theClipperOffsetobject with one note: it doesn't add degenerate subpaths.- Returns:
Listconsisting of all degenerate subpaths of the path.
-
approximateCircle
-
addPath
-
addRect
-
convertToIntPoints
-
convertToFloatPoints
-
convertToPath
-
addContour
-
getVertices
-
intersect
-
calcImageRect
- Returns:
- Image boundary rectangle in device space.
-
intersection
- Returns:
- null if the intersection is empty,
Rectanglerepresenting intersection otherwise
-
transformIntersection
Transforms the given Rectangle into the image coordinate system which is [0,1]x[0,1] by default -
getRectangle
Constructs Rectangle object on the given points -
applyDashPattern
-
getNextPoint
-
componentwiseDiff
-
getUnitVector
-
getVectorEuclideanNorm
-
applyDash
-
liesOnSegment
-
transformPoints
-