diff --git a/layoutparser-service/layoutparser-service-internal-api/src/main/java/com/knecon/fforesight/service/layoutparser/internal/api/data/redaction/SimplifiedText.java b/layoutparser-service/layoutparser-service-internal-api/src/main/java/com/knecon/fforesight/service/layoutparser/internal/api/data/redaction/SimplifiedText.java index 0f4bd90..808429d 100644 --- a/layoutparser-service/layoutparser-service-internal-api/src/main/java/com/knecon/fforesight/service/layoutparser/internal/api/data/redaction/SimplifiedText.java +++ b/layoutparser-service/layoutparser-service-internal-api/src/main/java/com/knecon/fforesight/service/layoutparser/internal/api/data/redaction/SimplifiedText.java @@ -21,5 +21,14 @@ public class SimplifiedText { @Schema(description = "A List of simplified Sections, which contains almost exclusively text.") @Builder.Default private List sectionTexts = new ArrayList<>(); + @Schema(description = "A list of the main section numbers ") + @Builder.Default + private List mainSectionNumbers = new ArrayList<>(); + @Schema(description = "A list of the header section numbers ") + @Builder.Default + private List headerSectionNumbers = new ArrayList<>(); + @Schema(description = "A list of the footer section numbers ") + @Builder.Default + private List footerSectionNumbers = new ArrayList<>(); } diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/SimplifiedSectionTextService.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/SimplifiedSectionTextService.java index 3a06902..9b086cb 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/SimplifiedSectionTextService.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/SimplifiedSectionTextService.java @@ -34,7 +34,22 @@ public class SimplifiedSectionTextService { List simplifiedText = Stream.of(simplifiedMainSectionsList, simplifiedHeadersList, simplifiedFootersList) .flatMap(List::stream) .collect(Collectors.toList()); - return SimplifiedText.builder().numberOfPages(document.getNumberOfPages()).sectionTexts(simplifiedText).build(); + return SimplifiedText.builder() + .numberOfPages(document.getNumberOfPages()) + .sectionTexts(simplifiedText) + .mainSectionNumbers(document.getAllSections() + .stream() + .map(this::getSectionNumber) + .toList()) + .headerSectionNumbers(document.getHeaders() + .stream() + .map(this::getSectionNumber) + .toList()) + .footerSectionNumbers(document.getFooters() + .stream() + .map(this::getSectionNumber) + .toList()) + .build(); } @@ -49,4 +64,13 @@ public class SimplifiedSectionTextService { .build(); } + + private String getSectionNumber(SemanticNode semanticNode) { + + return semanticNode.getTreeId() + .stream() + .map(String::valueOf) + .collect(Collectors.joining(".")); + } + }