RED-9998: App version history (for conditional re-analyzing the layout of a file)
This commit is contained in:
parent
8f3f8845a1
commit
8844febf71
@ -17,6 +17,4 @@ public class LayoutParserSettings {
|
|||||||
|
|
||||||
boolean debug;
|
boolean debug;
|
||||||
LayoutParsingType layoutParsingTypeOverride;
|
LayoutParsingType layoutParsingTypeOverride;
|
||||||
String pdftronLicense;
|
|
||||||
String layoutParserVersion;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import org.apache.pdfbox.pdmodel.PDDocument;
|
|||||||
import org.apache.pdfbox.pdmodel.PDPage;
|
import org.apache.pdfbox.pdmodel.PDPage;
|
||||||
import org.apache.pdfbox.pdmodel.common.PDRectangle;
|
import org.apache.pdfbox.pdmodel.common.PDRectangle;
|
||||||
import org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedContent;
|
import org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedContent;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.iqser.red.service.redaction.v1.server.mapper.DocumentDataMapper;
|
import com.iqser.red.service.redaction.v1.server.mapper.DocumentDataMapper;
|
||||||
@ -87,29 +88,32 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
|
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||||
public class LayoutParsingPipeline {
|
public class LayoutParsingPipeline {
|
||||||
|
|
||||||
ImageServiceResponseAdapter imageServiceResponseAdapter;
|
final ImageServiceResponseAdapter imageServiceResponseAdapter;
|
||||||
CvTableParsingAdapter cvTableParsingAdapter;
|
final CvTableParsingAdapter cvTableParsingAdapter;
|
||||||
LayoutParsingStorageService layoutParsingStorageService;
|
final LayoutParsingStorageService layoutParsingStorageService;
|
||||||
SectionsBuilderService sectionsBuilderService;
|
final SectionsBuilderService sectionsBuilderService;
|
||||||
SimplifiedSectionTextService simplifiedSectionTextService;
|
final SimplifiedSectionTextService simplifiedSectionTextService;
|
||||||
RulingCleaningService rulingCleaningService;
|
final RulingCleaningService rulingCleaningService;
|
||||||
TableExtractionService tableExtractionService;
|
final TableExtractionService tableExtractionService;
|
||||||
DocuMineBlockificationService docuMineBlockificationService;
|
final DocuMineBlockificationService docuMineBlockificationService;
|
||||||
RedactManagerBlockificationService redactManagerBlockificationService;
|
final RedactManagerBlockificationService redactManagerBlockificationService;
|
||||||
BlockificationPostprocessingService blockificationPostprocessingService;
|
final BlockificationPostprocessingService blockificationPostprocessingService;
|
||||||
DocstrumBlockificationService docstrumBlockificationService;
|
final DocstrumBlockificationService docstrumBlockificationService;
|
||||||
LayoutGridService layoutGridService;
|
final LayoutGridService layoutGridService;
|
||||||
ObservationRegistry observationRegistry;
|
final ObservationRegistry observationRegistry;
|
||||||
VisualLayoutParsingAdapter visualLayoutParsingAdapter;
|
final VisualLayoutParsingAdapter visualLayoutParsingAdapter;
|
||||||
GraphicExtractorService graphicExtractorService;
|
final GraphicExtractorService graphicExtractorService;
|
||||||
OutlineExtractorService outlineExtractorService;
|
final OutlineExtractorService outlineExtractorService;
|
||||||
SectionTreeBuilderService sectionTreeBuilderService;
|
final SectionTreeBuilderService sectionTreeBuilderService;
|
||||||
SectionTreeEnhancementService sectionTreeEnhancementService;
|
final SectionTreeEnhancementService sectionTreeEnhancementService;
|
||||||
LayoutParserSettings settings;
|
final LayoutParserSettings settings;
|
||||||
ClassificationService classificationService;
|
final ClassificationService classificationService;
|
||||||
|
|
||||||
|
@Value("${LAYOUT_PARSER_VERSION:}")
|
||||||
|
private String layoutParserVersion;
|
||||||
|
|
||||||
|
|
||||||
public LayoutParsingFinishedEvent parseLayoutAndSaveFilesToStorage(LayoutParsingRequest layoutParsingRequest) throws IOException {
|
public LayoutParsingFinishedEvent parseLayoutAndSaveFilesToStorage(LayoutParsingRequest layoutParsingRequest) throws IOException {
|
||||||
@ -133,7 +137,6 @@ public class LayoutParsingPipeline {
|
|||||||
|
|
||||||
LayoutParsingType layoutParsingType = settings.getLayoutParsingTypeOverride() == null //
|
LayoutParsingType layoutParsingType = settings.getLayoutParsingTypeOverride() == null //
|
||||||
? layoutParsingRequest.layoutParsingType() : settings.getLayoutParsingTypeOverride();
|
? layoutParsingRequest.layoutParsingType() : settings.getLayoutParsingTypeOverride();
|
||||||
String layoutParserVersion = settings.getLayoutParserVersion();
|
|
||||||
|
|
||||||
ClassificationDocument classificationDocument = parseLayout(layoutParsingType,
|
ClassificationDocument classificationDocument = parseLayout(layoutParsingType,
|
||||||
originFile,
|
originFile,
|
||||||
|
|||||||
@ -417,14 +417,15 @@ public class LayoutGrid extends LayoutGridLayerConfig {
|
|||||||
public void addVersionAndLayoutParsingType(String version, String layoutParsingType, Page page) {
|
public void addVersionAndLayoutParsingType(String version, String layoutParsingType, Page page) {
|
||||||
|
|
||||||
PageInformation pageInformation = PageInformation.fromPage(page);
|
PageInformation pageInformation = PageInformation.fromPage(page);
|
||||||
Point2D point1 = new Point2D.Double(0, pageInformation.height() - 5);
|
double startHeight = pageInformation.heightRot() - 5;
|
||||||
Point2D point2 = new Point2D.Double(0, pageInformation.height() - 5 - FONT_SIZE * 1.5);
|
Point2D point1 = new Point2D.Double(0, startHeight);
|
||||||
|
Point2D point2 = new Point2D.Double(0, startHeight - FONT_SIZE * 1.5);
|
||||||
AffineTransform affineTransform = CoordinateTransforms.calculatePageCoordsToInitialUserSpaceCoords(pageInformation);
|
AffineTransform affineTransform = CoordinateTransforms.calculatePageCoordsToInitialUserSpaceCoords(pageInformation);
|
||||||
Point2D transformed1 = affineTransform.transform(point1, point1);
|
affineTransform.transform(point1, point1);
|
||||||
Point2D transformed2 = affineTransform.transform(point2, point2);
|
affineTransform.transform(point2, point2);
|
||||||
getOrCreateVisualizationsOnPage(page.getNumber(), this.versionAndType).getPlacedTexts()
|
getOrCreateVisualizationsOnPage(page.getNumber(), this.versionAndType).getPlacedTexts()
|
||||||
.addAll(List.of(PlacedText.textFacingUp(version, transformed1, FONT_SIZE, Color.BLACK, FONT),
|
.addAll(List.of(PlacedText.textFacingUp(String.valueOf(version), point1, FONT_SIZE, Color.BLACK, FONT),
|
||||||
PlacedText.textFacingUp(layoutParsingType, transformed2, FONT_SIZE, Color.BLACK, FONT)));
|
PlacedText.textFacingUp(String.valueOf(layoutParsingType), point2, FONT_SIZE, Color.BLACK, FONT)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class ViewerDocVersioningUtilityTest {
|
|||||||
doc.save(out, SDFDoc.SaveMode.LINEARIZED, null);
|
doc.save(out, SDFDoc.SaveMode.LINEARIZED, null);
|
||||||
}
|
}
|
||||||
assert ViewerDocVersioningUtility.isCurrentVersion(tmpFile.toFile());
|
assert ViewerDocVersioningUtility.isCurrentVersion(tmpFile.toFile());
|
||||||
//assert tmpFile.toFile().delete();
|
assert tmpFile.toFile().delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user