Bu makalede, Word (DOC/DOCX) belgelerinde Java kullanarak programlı olarak metin bulmayı ve değiştirmeyi göstereceğim. Adım adım kılavuz ve kod örnekleri, Word belgelerinde metin bulma ve değiştirmeyle ilgili çeşitli senaryoları kapsayacaktır.

Word belgelerinde metin bulma ve değiştirme

MS Word, belgelerdeki metni bulmanın ve değiştirmenin kolay bir yolunu sunar. Metin bulma ve değiştirmenin popüler kullanım durumlarından biri, belgelerdeki hassas bilgilerin çeşitli varlıklar arasında paylaşılmadan önce kaldırılması veya değiştirilmesi olabilir. Ancak manuel işlem, MS Word’ü yüklemenizi ve her belgeyi ayrı ayrı güncellemenizi gerektirebilir. Bu gibi durumlarda, özellikle bul ve değiştir özelliklerini masaüstünüze veya web uygulamanıza entegre ettiğinizde kullanışlı ve zaman kazandırıcı olacaktır. Öyleyse başlayalım ve çeşitli senaryolarda Java kullanarak Word belgelerinde metin bulmayı ve değiştirmeyi görelim.

Word Belgelerinde Metin Bulmak ve Değiştirmek için Java API

Bul ve değiştir özelliğini uygulamak için, Java platformu için güçlü, zengin özelliklere sahip ve kullanımı kolay bir Kelime işleme API’si olan Aspose.Words for Java kullanacağız. JAR’ını indirebilir veya aşağıdaki yapılandırmaları kullanarak Maven tabanlı uygulamanıza yükleyebilirsiniz.

Depo:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Bağımlılık:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Java kullanarak Word Belgelerinde (DOC/DOCX) Metin Bul ve Değiştir

Giriş Word belgesinde “Sad” kelimesini bulacağımız basit bir bul ve değiştir senaryosunu ele alarak başlayalım. Bu işlemi gerçekleştirmek için adımlar aşağıdadır.

Aşağıdaki kod örneği, Java kullanılarak Word DOCX belgelerinde metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word DOCX belgesi yükleyin
Document doc = new Document("document.docx");
// Belgedeki metni bulun ve değiştirin
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// Word belgesini kaydedin
doc.save("Find-And-Replace-Text.docx");

Aşağıda, bu makalede kullandığımız girdi Word belgesi bulunmaktadır.

Java kullanarak DOCX'te metin bulma ve değiştirme

Aşağıdaki, “üzgün” kelimesini bulup değiştirdikten sonraki çıktıdır.

bir kelimeyi bul ve değiştir

Java kullanarak Word DOC/DOCX’te Benzer Sözcükleri Bulun ve Değiştirin

Benzerliğe dayalı olarak metni bulmak ve değiştirmek için API’yi de özelleştirebilirsiniz. Örneğin, “üzgün”, “deli” ve “kötü” kelimeleri, “reklam” ile biten benzer bir kalıp izliyor. E-posta kimlikleri, böyle bir metnin başka bir örneğidir. Bu gibi durumlarda, belirli bir kalıba sahip tüm metin oluşumlarını bulmak ve değiştirmek için bir normal ifade kalıbı tanımlayabilirsiniz. Bunu başarmak için adımlar aşağıdadır.

Aşağıdaki kod örneği, Java kullanılarak belirli bir kalıba göre benzer sözcüklerin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word DOCX belgesi yükleyin
Document doc = new Document("document.docx");
// Belgedeki benzer kelimeleri bulun ve değiştirin
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// Word belgesini kaydedin
doc.save("Find-And-Replace-Text.docx");

Aşağıdaki, benzer kelimeleri güncelledikten sonra Word belgesinin ekran görüntüsüdür.

Java kullanarak benzer kelimeleri bulun ve değiştirin

Aspose.Words ayrıca Word belgesinin yalnızca üst bilgisinde/alt bilgisinde metin bulmanızı ve değiştirmenizi sağlar. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, Java kullanılarak Word belgesinin üstbilgisinde/altbilgisinde metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word DOCX belgesi yükleyin
Document doc = new Document("document.docx");
// Üst bilgi alt bilgi koleksiyonuna erişme
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// Bul ve değiştir seçeneklerini ayarlayın
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Word belgesini kaydedin
doc.save("Find-And-Replace-Text.docx");

Aşağıdaki ekran görüntüsü, Word belgesinin altbilgisindeki güncellenmiş metni gösterir.

altbilgideki metni bul ve değiştir

Java kullanarak Word DOCX’te Metni Meta Karakterlerle Bul ve Değiştir

Birden çok satıra veya paragrafa bölünmüş bir ifadeyi bulmanız ve değiştirmeniz gerektiğinde durum olabilir. Bu gibi durumlarda paragraf, bölüm veya satır sonlarına dikkat etmeniz gerekecektir. Aspose.Words for Java, bu tür durumlarla kolayca başa çıkmanızı kolaylaştırır. Aşağıdakiler, farklı kesmeler için kullanabileceğiniz meta karakterlerdir:

  • &p: paragraf sonu
  • &b: bölüm sonu
  • &m: sayfa sonu
  • &l: satır sonu

Aşağıdaki kod örneği, bir Word belgesinde paragraf sonu içeren metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Bir Word DOCX belgesi yükleyin
Document doc = new Document("document.docx");
// Seçenekleri ayarla
FindReplaceOptions options = new FindReplaceOptions();
// Eşleşen durumu devre dışı bırak ve yalnızca tüm kelimeleri bul
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// Metni paragraf sonu ile değiştir
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Word belgesini kaydedin
doc.save("Find-And-Replace-Text.docx");

Çıktı Word belgesinin ekran görüntüsü aşağıdadır.

metni bul ve meta karakterlerle değiştir

Çözüm

Bu makalede, Word DOC/DOCX belgelerinde Java kullanarak programlı olarak metin bulmayı ve değiştirmeyi gördünüz. MS Word DOCX dosyalarında metin bulma ve değiştirmeye yönelik çeşitli senaryolar, kod örnekleri yardımıyla ele alınmıştır. Belgelerden Aspose.Words for Java hakkında daha fazla bilgi edinebilirsiniz.

Ayrıca bakınız