This is an automated email from the ASF dual-hosted git repository.

tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 3bded57b3f [TIKA-4694] Extract line and paragraph counts from legacy 
DOC files (#3376)
3bded57b3f is described below

commit 3bded57b3fd554df5e746c65bfe013eec5f54c5d
Author: Vivek Dinesh Suryawanshi <[email protected]>
AuthorDate: Wed Oct 21 17:59:50 2026 +0530

    [TIKA-4694] Extract line and paragraph counts from legacy DOC files (#3376)
    
    Generated-by: ChatGPT (OpenAI)
---
 CHANGES.txt                                                       | 4 ++++
 .../java/org/apache/tika/parser/microsoft/SummaryExtractor.java   | 2 ++
 .../java/org/apache/tika/parser/microsoft/WordParserTest.java     | 8 ++++++++
 3 files changed, 14 insertions(+)

diff --git a/CHANGES.txt b/CHANGES.txt
index e1cf7c452d..f3df1b316f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,9 @@
 Release 4.2.0 - unreleased
 
+   * Extract stored line and paragraph counts from legacy Microsoft Word
+     (.doc) documents. The existing metadata properties are now populated
+     when these values are available in the document (TIKA-4694).
+
    * ISArchiveParser no longer reads every ISA-Tab document's investigation 
and assay files
      from the directory of the first document it parsed; concurrent parses no 
longer share
      the study file name (TIKA-4986).
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
index 542420c9b0..e51efff633 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java
@@ -197,6 +197,8 @@ public class SummaryExtractor {
         set(OfficeOpenXMLCore.CATEGORY, summary.getCategory());
 
         // New style counts
+        set(Office.LINE_COUNT, summary.getLineCount());
+        set(Office.PARAGRAPH_COUNT, summary.getParCount());
         set(Office.SLIDE_COUNT, summary.getSlideCount());
         if (summary.getSlideCount() > 0) {
             metadata.set(PagedText.N_PAGES, summary.getSlideCount());
diff --git 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
index 8fa036da9b..54f1dc737c 100644
--- 
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
+++ 
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
@@ -79,6 +79,14 @@ public class WordParserTest extends TikaTest {
         }
     }
 
+    @Test
+    public void testLineAndParagraphCount() throws Exception {
+        XMLResult result = getXML("testWORD_2006ml.doc");
+
+        assertEquals("12", result.metadata.get(Office.LINE_COUNT));
+        assertEquals("3", result.metadata.get(Office.PARAGRAPH_COUNT));
+    }
+
     @Test
     public void testWordWithWAV() throws Exception {
         try (TikaInputStream tis = 
getResourceAsStream("/test-documents/Doc1_ole.doc")) {

Reply via email to