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")) {