From befb6b1df6528955a0b5bd36fbc0aa442d439754 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Tue, 3 Sep 2024 16:37:48 +0200 Subject: [PATCH] RED-9964: fix errors with images --- .../service/layoutparser/processor/model/graph/nodes/Page.java | 1 + .../processor/services/factory/DocumentGraphFactory.java | 1 + .../processor/services/mapper/DocumentGraphMapper.java | 1 + 3 files changed, 3 insertions(+) diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/graph/nodes/Page.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/graph/nodes/Page.java index ad3d248..5f10953 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/graph/nodes/Page.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/model/graph/nodes/Page.java @@ -68,6 +68,7 @@ public class Page { public TextBlock getMainBodyTextBlock() { return textBlocksOnPage.stream() + .filter(atb -> !atb.isEmpty()) .collect(new TextBlockCollector()); } 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 62958e2..11aca92 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 @@ -84,6 +84,7 @@ public class DocumentGraphFactory { .filter(SemanticNode::isLeaf) .filter(node -> !node.getType().equals(NodeType.HEADER)) .filter(node -> !node.getType().equals(NodeType.FOOTER)) + .filter(node -> !node.getType().equals(NodeType.IMAGE)) .map(SemanticNode::getTextBlock) .map(TextBlock::getAtomicTextBlocks) .flatMap(Collection::stream) diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/mapper/DocumentGraphMapper.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/mapper/DocumentGraphMapper.java index 766de14..d0db608 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/mapper/DocumentGraphMapper.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/mapper/DocumentGraphMapper.java @@ -84,6 +84,7 @@ public class DocumentGraphMapper { switch (entryData.getType()) { case HEADER -> pages.forEach(page -> page.setHeader((Header) node)); case FOOTER -> pages.forEach(page -> page.setFooter((Footer) node)); + case IMAGE -> pages.forEach(page -> page.getImages().add((Image) node)); default -> textBlock.getAtomicTextBlocks() .forEach(atb -> atb.getPage().getTextBlocksOnPage().add(atb)); }