Java kullanarak Word Belgelerinden Metin Çıkarma

Bazı durumlarda, çeşitli amaçlarla Word belgelerinizden metin çıkarmanız gerekebilir. Bir Java geliştiricisi olarak, DOC veya DOCX dosyalarından program aracılığıyla kolayca metin ayıklayabilirsiniz. Bu makalede Java kullanarak Word belgelerinden nasıl metin çıkarılacağını öğreneceksiniz.

Bu makalede aşağıdaki konular tartışılmaktadır/kapsanmaktadır:

Word Belgelerinden Metin Çıkarmak için Java API

DOC veya DOCX dosyalarından metin çıkarmak için GroupDocs.Parser for Java API’sini kullanacağız. Word, PDF, Excel ve PowerPoint gibi popüler dosya formatlarından metin, meta veri ve görsellerin çıkarılmasına olanak tanır. Ayrıca desteklenen formatlar dosyalarından ham, formatlanmış ve yapılandırılmış metinlerin çıkarılmasını da destekler.

Aşağıda belirtilen kod örneklerini denemek için API’nin JAR’ını indirebilir veya yalnızca aşağıdaki pom.xml yapılandırmasını Maven tabanlı Java uygulamanıza ekleyebilirsiniz.

<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>

Java kullanarak Word Belgelerinden Metin Çıkarma

Aşağıda belirtilen basit adımları izleyerek herhangi bir Word belgesini ayrıştırabilir ve metni çıkarabilirsiniz:

  • Öncelikle Parser sınıfını kullanarak DOCX dosyasını yükleyin.
  • Ardından, yüklenen belgeden metin çıkarmak için Parser.getText() yöntemini çağırın.
  • TextReader sınıf nesnesindeki Parser.getText() yönteminin sonuçlarını alın.
  • Son olarak, metin okuyucunun geçerli konumundan sonuna kadar tüm karakterleri okumak ve bunları tek bir dize olarak döndürmek için TextReader.readToEnd() yöntemini çağırın.

Aşağıdaki kod örneği, Java kullanarak DOCX dosyasından nasıl metin çıkarılacağını gösterir.

// Ayrıştırıcı sınıfının bir örneğini oluşturun
Parser parser = new Parser("C:\\Files\\sample.docx");

// Ham metni okuyucuya çıkarın
try (TextReader reader = parser.getText()) {
    // Belgeden bir metin yazdırma
    // Metin çıkarma desteklenmiyorsa okuyucu geçersizdir
    System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}
Java kullanarak Word Belgelerinden Metin Çıkarma

Java kullanarak Word Belgelerinden Metin Çıkarma

Java kullanarak bir Word Belgesinin Belirli Sayfalarından Metin Çıkarma

Aşağıda belirtilen basit adımları izleyerek bir Word belgesini ayrıştırabilir ve belirli bir sayfadaki metni çıkarabilirsiniz:

Aşağıdaki kod örneği, Java kullanarak sayfalardan metinlerin tek tek nasıl çıkarılacağını gösterir.

// Ayrıştırıcı sınıfının bir örneğini oluşturun
Parser parser = new Parser("C:\\Files\\sample.docx");

// Belgenin metin çıkarmayı destekleyip desteklemediğini kontrol edin
if (!parser.getFeatures().isText()) {
    System.out.println("The document doesn't support text extraction.");
    return;
}

// Belge bilgilerini alın
IDocumentInfo documentInfo = parser.getDocumentInfo();

// Belgede sayfa olup olmadığını kontrol edin
if (documentInfo.getPageCount() == 0) {
    System.out.println("The document has zero pages.");
    return;
}

// Sayfalar üzerinde yineleme
for (int p = 0; p < documentInfo.getPageCount(); p++) {
    // Sayfa numarası yazdırma
    System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
    // Bir metni okuyucuya çıkarma
    try (TextReader reader = parser.getText(p)) {
        // Belgeden bir metin yazdırma
        // Metin çıkarma özelliği desteğini daha önce kontrol ettiğimizden boş denetimini göz ardı ediyoruz
        System.out.println(reader.readToEnd());
    }
}
Java kullanarak bir Belgenin Belirli Sayfalarından Metin Çıkarma

Java kullanarak bir Belgenin Belirli Sayfalarından Metin Çıkarma

Java kullanarak Word Belgelerinden Vurgulama Alın

Vurgu, genellikle arama işlevinde bulunan metnin bağlamını açıklamak için kullanılan metnin bir parçasıdır. Aşağıda belirtilen basit adımları izleyerek bir belgeden vurgulayabilirsiniz:

Aşağıdaki kod örneği, Java kullanarak bir belgeden vurgunun nasıl çıkarılacağını gösterir.

// Ayrıştırıcı sınıfının bir örneğini oluşturun
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Bir vurguyu çıkarın:
    HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
    // Vurgu çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (hl == null) {
        System.out.println("Highlight extraction isn't supported");
        return;
    }
    // Çıkarılan bir vurguyu yazdırma
    System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview

Java kullanarak DOCX’ten Biçimlendirilmiş Metni Çıkarma

Aşağıda belirtilen basit adımları izleyerek Word belgelerini ayrıştırabilir ve stil formatını kaybetmeden metni çıkarabilirsiniz:

Aşağıdaki kod örneği, Java kullanarak DOCX dosyasından biçimlendirilmiş metnin nasıl çıkarılacağını gösterir.

// Ayrıştırıcı sınıfının bir örneğini oluşturun
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Biçimlendirilmiş bir metni okuyucuya çıkarma
    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // Belgeden biçimlendirilmiş bir metni yazdırma
        // Biçimlendirilmiş metin çıkarma desteklenmiyorsa okuyucu boştur
        System.out.println(reader == null ? "Formatted text extraction isn't suppported" : reader.readToEnd());
    }
}
Java kullanarak DOCX'ten Biçimlendirilmiş Metni Çıkarma

Java kullanarak DOCX’ten Biçimlendirilmiş Metni Çıkarma

Java kullanarak İçindekiler Tablosuna göre Metni Çıkarma

Aşağıda belirtilen basit adımları izleyerek belgedeki metni içindekiler tablosuna göre çıkarabilirsiniz:

  • Öncelikle Parser sınıfını kullanarak DOCX dosyasını yükleyin.
  • Daha sonra, TocItem sınıfı nesnelerinin bir koleksiyonu olarak bir içindekiler tablosu çıkarmak için Parser.getToc() yöntemini çağırın. TocItem, içindekiler tablosu çıkarma işlevinde kullanılan öğeyi temsil eder.
  • Şimdi koleksiyonun null olup olmadığını kontrol edin.
  • Ardından, TocItem koleksiyonu üzerinde yineleme yapın ve TocItem nesnesinin başvurduğu belgeden metin çıkarmak için TocItem.extractText() yöntemini çağırın.
  • TextReader sınıfı nesnesindeki sonuçları alın.
  • Son olarak metnin tamamını okumak için TextReader.readToEnd() yöntemini çağırın.

Aşağıdaki kod örneği, Java kullanarak Word belgelerinden içindekiler tablosuna göre nasıl metin ayıklanacağını gösterir.

// Ayrıştırıcı sınıfının bir örneğini oluşturun
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
    // İçindekiler tablosunu al
    Iterable<TocItem> tocItems = parser.getToc();
    // Toc çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (tocItems == null) {
        System.out.println("Table of contents extraction isn't supported");
    }
    else
    {
        // Öğeler üzerinde yineleme
       for (TocItem tocItem : tocItems) {
            // Bölümün metnini yazdır
            try (TextReader reader = tocItem.extractText()) {
                System.out.println("----");
                System.out.println(reader.readToEnd());
            }
        }
    }
}
Java kullanarak İçindekiler Tablosuna göre Metni Çıkarma

Java kullanarak İçindekiler Tablosuna göre Metni Çıkarma

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyebilirsiniz.

Çözüm

Bu makalede, Java kullanarak Word belgelerinden nasıl metin çıkarılacağını öğrendiniz. Ayrıca, DOCX dosyasından biçimlendirilmiş metnin programlı olarak nasıl çıkarılacağını gördünüz. Bu makalede ayrıca içindekiler tablosuna göre metnin nasıl çıkarılacağı ve bir belgeden vurgunun nasıl çıkarılacağı da açıklanmaktadır. Ayrıca, dokümantasyon‘u kullanarak GroupDocs.Parser for Java API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda lütfen forum üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız