C# ile MS Word Belgelerinden Metin Çıkartma

Microsoft Word belgeleri, metinsel içerik oluşturmak ve paylaşmak için yaygın olarak kullanılır. C# uygulamalarınızda Word belgeleriyle çalışıyorsanız, C# kullanarak Word belgesinden metin çıkartma ve biçimlendirmeyi koruyarak metin çıkartma yapmanız gerekebilir. Örneğin, metni analiz etmek, bir belgenin belirli bölümlerini çıkartmak veya bunları tek bir belgede birleştirmek isteyebilirsiniz. Bu blogda, Word belgesi metni çıkartma için en iyi C# kütüphanesini kullanarak C# ile Word belgelerinden metin nasıl çıkartılır keşfedeceğiz.

Word Belgelerinden Metin Çıkartma için C# Kütüphanesi

Aspose.Words for .NET, Word belgeleriyle çalışmak için zengin özelliklere sahip ve kullanımı kolay bir kütüphanedir. .NET word belgesi metni çıkartma, belge oluşturma, manipülasyon ve dönüştürme dahil olmak üzere geniş bir yetenek yelpazesi sunar. Aspose.Words for .NET ile Word belgelerinin çeşitli yönlerini yönetebilir, bu da geliştiriciler için verimli C# kelime metni çıkartması arayışında değerli bir araç haline gelir.

Kütüphaneyi indirebilir veya NuGet üzerinden paket yöneticisi konsolunu kullanarak doğrudan kurabilirsiniz.

PM> Install-Package Aspose.Words

Word Belgelerinden Metin Çıkartma

Bir MS Word belgesi, paragraflar, tablolar, resimler vb. çeşitli unsurlardan oluşur. Bu nedenle, metin çıkarım gereksinimleri bir senaryodan diğerine farklılık gösterebilir. Örneğin, taranmış bir Word belgesinden metin çıkartmanız veya C# .NET’le Word dosyasından metin çıkartmanız gerekebilir. Word belgesindeki her tür unsur bir düğüm olarak temsil edilir. Bu nedenle bir belgeyi işlemek için düğümlerle etkileşimde bulunmanız gerekecektir. Hadi başlayalım ve Word belgelerinden farklı senaryolar altında metin çıkartmanın nasıl yapılacağını görelim; ayrıca C# ile metin çıkarırken kelime biçimlendirmesini yönetme konusunda nasıl etkili olacağımızı da göreceğiz.

C# ile Bir Word DOC’tan Metin Çıkartma

Bu bölümde, Word belgeleri için bir C# metin çıkartıcı uygulayacağız ve metin çıkarım süreci aşağıdaki gibi olacaktır:

  • Öncelikle, metin çıkarım sürecine dahil etmek istediğimiz düğümleri tanımlayacağız.
  • Sonra, belirtilen düğümler arasındaki içeriği çıkartacağız (başlangıç ve bitiş düğümlerini dahil ederek veya dikkate almayarak).
  • Son olarak, çıkarılan içeriğin bulunduğu yeni bir Word belgesi oluşturmak için çıkarılan düğümlerin bir klonunu kullanacağız.

Şimdi ExtractContent adında bir yöntem yazalım ve metin çıkarma işlemini gerçekleştirmek için düğümleri ve diğer bazı parametreleri bu yönteme ileteceğiz. Bu yöntem, belgeyi analiz edecek ve düğümleri klonlayacaktır. Aşağıda, bu yönteme ileteceğimiz parametreler verilmiştir:

  1. StartNode ve EndNode, içeriğin çıkarılması için başlangıç ve bitiş noktaları olarak hizmet eder. Bunlar blok düzeyinde (Paragraph, Table) veya satır içi düzeyde (örneğin, Run, FieldStart, BookmarkStart, vb.) düğümler olabilir.
    1. Bir alan iletmek için ilgili FieldStart nesnesini geçmelisiniz.
    2. Yer imi iletmek için, BookmarkStart ve BookmarkEnd düğümlerini geçmelisiniz.
    3. Yorumlar için CommentRangeStart ve CommentRangeEnd düğümleri kullanılmalıdır.
  2. IsInclusive, işaretçilerin çıkarımda dahil olup olmadığını tanımlar. Bu seçenek false olarak ayarlandığında ve aynı düğüm veya ardışık düğümler geçirilirse, o zaman boş bir liste döndürülecektir.

Aşağıda, iletilen düğümler arasında içeriği çıkaran, tam anlamıyla korunan Word belgesinden metin çıkarma C# gerçekleştiren ExtractContent yönteminin tam amacı verilmiştir.

ExtractContent yönteminin metin çıkarma işlemini tamamlaması için bazı yardımcı yöntemlere de ihtiyaç vardır. Bunlar aşağıda verilmiştir.

Artık bu yöntemleri kullanmaya ve C# ile Word belgesinden metin çıkartmaya hazırız.

Bir Word Belgesinin Paragrafları Arasında Metin Çıkartma

Bir Word DOCX belgesinde iki paragraf arasındaki içeriği nasıl çıkartacağımıza bakalım. Aşağıdaki adımlar, bu işlemi C# ile gerçekleştirmektedir.

  • Öncelikle, Document sınıfını kullanarak Word belgesini yükleyin.
  • Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) yöntemini kullanarak başlangıç ve bitiş paragraflarını iki nesneye referans alın.
  • Düğümleri bir nesneye çıkartmak için ExtractContent(startPara, endPara, true) yöntemini çağırın.
  • Çıkarılan içeriği içeren bir belge oluşturmak için GenerateDocument(Document, extractedNodes) yardımcı yöntemini çağırın.
  • Son olarak, döndürülen belgeyi Document.Save(string) yöntemi ile kaydedin.

Aşağıdaki kod örneği, bir Word belgesinde 7. ve 11. paragraflar arasındaki metni başarıyla çıkartmanın nasıl yapılacağını göstermektedir.

Farklı Türdeki Düğümlerde Metin Çıkartma

Farklı türdeki düğümler arasında içeriği de çıkartabilirsiniz. Gösterim için, bir paragraf ve bir tablo arasındaki içeriği çıkartalım ve bunu yeni bir Word belgesine kaydedelim. Aşağıdaki adımlar bu işlemi gerçekleştirir.

  • Document sınıfını kullanarak Word belgesini yükleyin.
  • Başlangıç ve bitiş düğümlerine referans almak için Document.FirstSection.Body.GetChild(NodeType, int, boolean) yöntemini kullanın.
  • ExtractContent(startPara, endPara, true) yöntemini çağırarak düğümleri bir nesneye çıkartın.
  • Çıkarılan içeriği içeren bir belge oluşturmak için GenerateDocument(Document, extractedNodes) yardımcı yöntemini çağırın.
  • Döndürülen belgeyi Document.Save(string) yöntemi ile kaydedin.

Aşağıdaki kod örneği, C# ile bir paragraf ve tablo arasındaki metni nasıl çıkartacağınızı göstermektedir.

Stillere Dayalı Olarak Paragraflar Arasında Metin Çıkartma

Şimdi, stillere dayalı olarak paragraflar arasındaki içeriği nasıl çıkaracağımıza bakalım. Gösterim amaçlı olarak, Word belgesinde ilk “Heading 1” ile ilk “Heading 3” arasındaki içeriği çıkaracağız. Aşağıdaki adımlar, bunu C# ile nasıl gerçekleştireceğinizi göstermektedir.

  • Öncelikle, Document sınıfını kullanarak Word belgesini yükleyin.
  • Ardından, ParagraphsByStyleName(Document, “Heading 1”) yardımcı yöntemini kullanarak paragrafları bir nesneye çıkartın.
  • ParagraphsByStyleName(Document, “Heading 3”) yordamı ile diğer bir nesneye paragrafları çıkarın.
  • ExtractContent(startPara, endPara, true) yöntemini çağırarak iki paragraf dizisinde ilk öğeleri ilk ve ikinci parametre olarak geçin.
  • Çıkarılan içeriği içeren bir belge oluşturmak için GenerateDocument(Document, extractedNodes) yardımcı yöntemini çağırın.
  • Son olarak, döndürülen belgeyi Document.Save(string) yöntemi ile kaydedin.

Aşağıdaki kod örneği, stillere dayalı olarak paragraflar arasındaki içeriği nasıl çıkartacağınızı göstermektedir.

Metin Çıkartma Hakkında Daha Fazla Bilgi Edinin

.NET API kullanarak Word belgesi metni çıkarma ile ilgili diğer senaryoları keşfetmek için bu doküman makalesini inceleyebilirsiniz.

Ücretsiz Word Metin Çıkartıcı Kütüphaneyi Edinin

Değerlendirme sınırlamaları olmadan metin çıkartmak için bir ücretsiz geçici lisans alabilirsiniz.

Sonuç

Aspose.Words for .NET, C# ile biçimlendirmeyi koruyarak Word’den metin çıkartma sürecini basitleştiren çok yönlü bir kütüphanedir. Geniş özellik yelpazesi ve kullanımı kolay API ile Word belgeleriyle etkili bir şekilde çalışabilir ve C# kelime metni çıkartırken özel karakterlerle başa çıkma gibi farklı senaryoları otomatikleştirebilirsiniz. Word belgelerini işlemek için uygulamalar geliştirmekte veya sadece metin çıkartmakta olsun, Aspose.Words for .NET, geliştiriciler için değerli bir araçtır.

Aspose.Words for .NET’nin diğer özelliklerini belgelendirme aracılığıyla keşfedebilirsiniz. Herhangi bir sorunuz varsa, lütfen forum aracılığıyla bize bildirin.

Ayrıca Bakınız

İpucu: Aspose’un popüler sunumdan Word belgesine dönüştürme sürecini gösteren PowerPoint to Word Dönüştürücüsünü kontrol etmek isteyebilirsiniz.