1- package com .mindee .extraction ;
1+ package com .mindee .image ;
22
33import com .mindee .geometry .Bbox ;
4- import com .mindee .geometry .BboxUtils ;
54import com .mindee .geometry .Polygon ;
5+ import com .mindee .geometry .PositionDataField ;
66import com .mindee .input .InputSourceUtils ;
77import com .mindee .input .LocalInputSource ;
88import com .mindee .pdf .PDFUtils ;
99import com .mindee .pdf .PdfPageImage ;
10- import com .mindee .v1 .parsing .standard .PositionData ;
1110import java .awt .image .BufferedImage ;
1211import java .io .ByteArrayInputStream ;
1312import java .io .IOException ;
@@ -75,7 +74,7 @@ public int getPageCount() {
7574 * @param pageIndex The page index to extract, begins at 0.
7675 * @return A list of {@link ExtractedImage}.
7776 */
78- public <FieldT extends PositionData > List <ExtractedImage > extractImagesFromPage (
77+ public <FieldT extends PositionDataField > List <ExtractedImage > extractImagesFromPage (
7978 List <FieldT > fields ,
8079 int pageIndex
8180 ) {
@@ -91,7 +90,7 @@ public <FieldT extends PositionData> List<ExtractedImage> extractImagesFromPage(
9190 * @param outputName The base output filename, must have an image extension.
9291 * @return A list of {@link ExtractedImage}.
9392 */
94- public <FieldT extends PositionData > List <ExtractedImage > extractImagesFromPage (
93+ public <FieldT extends PositionDataField > List <ExtractedImage > extractImagesFromPage (
9594 List <FieldT > fields ,
9695 int pageIndex ,
9796 String outputName
@@ -106,7 +105,7 @@ public <FieldT extends PositionData> List<ExtractedImage> extractImagesFromPage(
106105 return extractFromPage (fields , pageIndex , filename );
107106 }
108107
109- private <FieldT extends PositionData > List <ExtractedImage > extractFromPage (
108+ private <FieldT extends PositionDataField > List <ExtractedImage > extractFromPage (
110109 List <FieldT > fields ,
111110 int pageIndex ,
112111 String outputName
@@ -137,24 +136,27 @@ private <FieldT extends PositionData> List<ExtractedImage> extractFromPage(
137136 * @return The {@link ExtractedImage}, or <code>null</code> if the field does not have valid
138137 * position data.
139138 */
140- public <FieldT extends PositionData > ExtractedImage extractImage (
139+ public <FieldT extends PositionDataField > ExtractedImage extractImage (
141140 FieldT field ,
142141 int pageIndex ,
143142 int index ,
144143 String filename
145144 ) {
146145 String [] splitName = InputSourceUtils .splitNameStrict (filename );
147146 String saveFormat = splitName [1 ].toLowerCase ();
148- Polygon boundingBox = field .getBoundingBox ();
149- if (boundingBox == null ) {
147+ Polygon polygon = field .getPolygon ();
148+ if (polygon == null ) {
150149 return null ;
151150 }
152- Bbox bbox = BboxUtils .generate (boundingBox );
153151 String fieldFilename = splitName [0 ]
154152 + String .format ("_%3s" , index ).replace (" " , "0" )
155153 + "."
156154 + saveFormat ;
157- return new ExtractedImage (extractImage (bbox , pageIndex ), fieldFilename , saveFormat );
155+ return new ExtractedImage (
156+ extractImage (polygon .getAsBbox (), pageIndex ),
157+ fieldFilename ,
158+ saveFormat
159+ );
158160 }
159161
160162 /**
@@ -167,7 +169,7 @@ public <FieldT extends PositionData> ExtractedImage extractImage(
167169 * @return The {@link ExtractedImage}, or <code>null</code> if the field does not have valid
168170 * position data.
169171 */
170- public <FieldT extends PositionData > ExtractedImage extractImage (
172+ public <FieldT extends PositionDataField > ExtractedImage extractImage (
171173 FieldT field ,
172174 int pageIndex ,
173175 int index
0 commit comments