استخراج نص من مستندات Word باستخدام Java

في بعض الحالات ، قد تحتاج إلى استخراج نص من مستندات Word الخاصة بك لأغراض مختلفة. بصفتك مطور Java ، يمكنك بسهولة استخراج النص من ملفات DOC أو DOCX برمجيًا. في هذه المقالة ، ستتعلم كيفية استخراج نص من مستندات Word باستخدام Java.

تتم مناقشة / تغطية الموضوعات التالية في هذه المقالة:

Java API لاستخراج النص من مستندات Word

لاستخراج النص من ملفات DOC أو DOCX ، سنستخدم GroupDocs.Parser for Java API. يسمح باستخراج النصوص والبيانات الوصفية والصور من تنسيقات الملفات الشائعة مثل Word و PDF و Excel و PowerPoint. كما أنه يدعم استخراج النص الخام والمنسق والمنظم من ملفات التنسيقات المدعومة.

يمكنك تنزيل JAR الخاص بواجهة برمجة التطبيقات أو فقط إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى Maven لتجربة أمثلة التعليمات البرمجية المذكورة أدناه.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>21.2</version> 
</dependency>

استخراج نص من مستندات Word باستخدام Java

يمكنك تحليل أي مستند Word واستخراج النص باتباع الخطوات البسيطة المذكورة أدناه:

  • أولاً ، قم بتحميل ملف DOCX باستخدام فئة Parser.
  • ثم ، قم باستدعاء الأسلوب Parser.getText () لاستخراج النص من المستند الذي تم تحميله.
  • الحصول على نتائج طريقة Parser.getText () في كائن فئة TextReader.
  • أخيرًا ، اتصل بطريقة TextReader.readToEnd () لقراءة جميع الأحرف من الموضع الحالي إلى نهاية قارئ النص وإعادتها كسلسلة واحدة.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نص من ملف DOCX باستخدام Java.

// إنشاء مثيل لفئة المحلل اللغوي
Parser parser = new Parser("C:\\Files\\sample.docx");

// استخرج نصًا خامًا إلى القارئ
try (TextReader reader = parser.getText()) {
    // اطبع نصًا من المستند
    // إذا لم يكن استخراج النص مدعومًا ، فسيكون القارئ فارغًا
    System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}
استخراج نص من مستندات Word باستخدام Java

استخراج نص من مستندات Word باستخدام Java

استخراج نص من صفحات معينة من مستند Word باستخدام Java

يمكنك تحليل مستند Word واستخراج نص من صفحة معينة باتباع الخطوات البسيطة المذكورة أدناه:

  • أولاً ، قم بتحميل ملف DOCX باستخدام فئة Parser.
  • ثم استخدم Parser.getFeatures (). isText () للتحقق مما إذا كان المستند يدعم ميزة استخراج النص. اقرأ المزيد حول الميزات المدعومة.
  • الآن ، اتصل بالطريقة Parser.getDocumentInfo () للحصول على معلومات عامة حول المستند. مثل نوع الملف وعدد الصفحات والحجم وما إلى ذلك.
  • الحصول على نتائج الأسلوب Parser.getDocumentInfo () في كائن الواجهة IDocumentInfo.
  • بعد ذلك ، تحقق مما إذا كانت IDocumentInfo.getPageCount () ليست صفراً. تقوم هذه الطريقة بإرجاع العدد الإجمالي لصفحات المستند.
  • كرر عبر جميع الصفحات واستدع الأسلوب Parser.getText () لكل فهرس صفحة لاستخراج النص والحصول على النتائج في كائن فئة TextReader.
  • أخيرًا ، اعرض النتائج عن طريق استدعاء الأسلوب TextReader.readToEnd () لقراءة النص المستخرج.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج النص من الصفحات واحدة تلو الأخرى باستخدام Java.

// إنشاء مثيل لفئة المحلل اللغوي
Parser parser = new Parser("C:\\Files\\sample.docx");

// تحقق مما إذا كان المستند يدعم استخراج النص
if (!parser.getFeatures().isText()) {
    System.out.println("The document doesn't support text extraction.");
    return;
}

// احصل على معلومات الوثيقة
IDocumentInfo documentInfo = parser.getDocumentInfo();

// تحقق مما إذا كان المستند يحتوي على صفحات
if (documentInfo.getPageCount() == 0) {
    System.out.println("The document has zero pages.");
    return;
}

// كرر عبر الصفحات
for (int p = 0; p < documentInfo.getPageCount(); p++) {
    // اطبع رقم الصفحة
    System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
    // استخرج نصًا إلى القارئ
    try (TextReader reader = parser.getText(p)) {
        // اطبع نصًا من المستند
        // نتجاهل التحقق من القيمة الصفرية حيث قمنا بفحص دعم ميزة استخراج النص مسبقًا
        System.out.println(reader.readToEnd());
    }
}
استخراج نص من صفحات معينة من مستند باستخدام Java

استخراج نص من صفحات معينة من مستند باستخدام Java

احصل على تمييز من مستندات Word باستخدام Java

التمييز هو جزء من النص يستخدم عادة لشرح سياق النص الموجود في وظيفة البحث. يمكنك استخراج تمييز من مستند باتباع الخطوات البسيطة المذكورة أدناه:

  • أولاً ، قم بتحميل ملف DOCX باستخدام فئة Parser.
  • قم بإنشاء مثيل لكائن الفئة HighlightOptions وتمرير الطول الأقصى كمعامل إدخال إلى مُنشئه لاستخراج تمييز بطول ثابت.
  • ثم ، قم باستدعاء الأسلوب Parser.getHighlight () مع موضع البدء وكائن الفئة HighlightOptions لاستخراج تمييز من المستند ككائن لفئة HighlightItem.
  • أخيرًا ، قم باستدعاء Highlight.getPosition () و HighlightItem.getText () للحصول على موضع ونص التمييز.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج تمييز من مستند باستخدام Java.

// إنشاء مثيل لفئة المحلل اللغوي
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // استخراج تمييز:
    HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
    // تحقق مما إذا كان استخراج التظليل مدعومًا
    if (hl == null) {
        System.out.println("Highlight extraction isn't supported");
        return;
    }
    // طباعة تمييز مستخرج
    System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview

استخراج نص منسق من DOCX باستخدام Java

يمكنك تحليل مستندات Word واستخراج النص دون فقدان تنسيق النمط باتباع الخطوات البسيطة المذكورة أدناه:

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نص منسق من ملف DOCX باستخدام Java.

// إنشاء مثيل لفئة المحلل اللغوي
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // استخراج نص منسق في القارئ
    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // اطبع نصًا منسقًا من المستند
        // إذا لم يكن استخراج النص المنسق مدعومًا ، يكون القارئ فارغًا
        System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
    }
}
استخراج نص منسق من DOCX باستخدام Java

استخراج نص منسق من DOCX باستخدام Java

استخراج النص حسب جدول المحتويات باستخدام Java

يمكنك استخراج نص من المستند عن طريق جدول المحتويات باتباع الخطوات البسيطة المذكورة أدناه:

  • أولاً ، قم بتحميل ملف DOCX باستخدام فئة Parser.
  • ثم ، قم باستدعاء الأسلوب Parser.getToc () لاستخراج جدول المحتويات كمجموعة من كائنات فئة TocItem. يمثل TocItem العنصر المستخدم في وظيفة استخراج جدول المحتويات.
  • الآن ، تحقق مما إذا كانت المجموعة ليست فارغة.
  • ثم كرر مجموعة TocItem واستدع الأسلوب TocItem.extractText () لاستخراج النص من المستند الذي يشير إليه الكائن TocItem.
  • الحصول على نتائج في كائن فئة TextReader.
  • أخيرًا ، قم باستدعاء الأسلوب TextReader.readToEnd () لقراءة كل النص.

يوضح نموذج التعليمات البرمجية التالي كيفية استخراج النص حسب جدول المحتويات من مستندات Word باستخدام Java.

// إنشاء مثيل لفئة المحلل اللغوي
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
    // احصل على جدول المحتويات
    Iterable<TocItem> tocItems = parser.getToc();
    // تحقق مما إذا كان استخراج toc مدعومًا
    if (tocItems == null) {
        System.out.println("Table of contents extraction isn't supported");
    }
    else
    {
        // كرر على العناصر
        for (TocItem tocItem : tocItems) {
            // اطبع نص الفصل
            try (TextReader reader = tocItem.extractText()) {
                System.out.println("----");
                System.out.println(reader.readToEnd());
            }
        }
    }
}
استخراج النص حسب جدول المحتويات باستخدام Java

استخراج النص حسب جدول المحتويات باستخدام Java

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية استخراج نص من مستندات Word باستخدام Java. علاوة على ذلك ، لقد رأيت كيفية استخراج النص المنسق من ملف DOCX برمجيًا. توضح هذه المقالة أيضًا كيفية استخراج النص حسب جدول المحتويات واستخراج تمييز من مستند. بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول GroupDocs.Parser for Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا