diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/outline/TOCEnrichmentService.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/outline/TOCEnrichmentService.java index 71da252..ac92dc3 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/outline/TOCEnrichmentService.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/outline/TOCEnrichmentService.java @@ -167,7 +167,7 @@ public class TOCEnrichmentService { } } - if (!startBlocks.isEmpty()) { + if (!startBlocks.isEmpty() || !startImages.isEmpty()) { TableOfContentItem unassigned = new TableOfContentItem(null); unassigned.setSectionBlocks(startBlocks); unassigned.setImages(startImages); diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/DocumentGraphFactory.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/DocumentGraphFactory.java index e7380c5..a992e9b 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/DocumentGraphFactory.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/DocumentGraphFactory.java @@ -65,7 +65,7 @@ public class DocumentGraphFactory { document.getPages() .forEach(context::buildAndAddPageWithCounter); - addSectionsAndImagesForToC(layoutParsingType, document, context, documentGraph); + addSectionsForToC(layoutParsingType, document, context, documentGraph); addHeaderAndFooterToEachPage(document, context); documentGraph.setNumberOfPages(context.pages.size()); @@ -92,22 +92,7 @@ public class DocumentGraphFactory { } - private void addSectionsAndImagesForToC(LayoutParsingType layoutParsingType, ClassificationDocument classificationDocument, Context context, Document document) { - - // when no main sections are present, but we have images, i.e. in a document without any text - if (classificationDocument.getTableOfContents().getMainSections().isEmpty()) { - List images = classificationDocument.getPages() - .stream() - .flatMap(classificationPage -> classificationPage.getImages() - .stream()) - .toList(); - - if (!images.isEmpty()) { - images.stream() - .distinct() - .forEach(image -> DocumentGraphFactory.addImage(document, image, context)); - } - } + private void addSectionsForToC(LayoutParsingType layoutParsingType, ClassificationDocument classificationDocument, Context context, Document document) { for (TableOfContentItem tocItem : classificationDocument.getTableOfContents()) { var parent = tocItem.getParent() == null ? null : tocItem.getParent().getSection();