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.
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.
- Java kullanarak Word DOC/DOCX’te Metin Bul ve Değiştir
- Word DOC/DOCX’teki Normal İfade Desenine Göre Benzer Sözcükleri Değiştirin
- Word Belgesinin Üstbilgi/Altbilgisindeki Metni Bul ve Değiştir
- Word DOC/DOCX’te Metni Meta Karakterlerle Bul ve Değiştir
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.
- Document sınıfının bir örneğini oluşturun ve ona Word belgesinin yolunu iletin.
- Document.getRange.replace(String, String, FindReplaceOptions) yöntemini kullanarak metni bulun ve değiştirin.
- Document.save(String) yöntemini kullanarak belgeyi kaydedin.
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.
Aşağıdaki, “üzgün” kelimesini bulup değiştirdikten sonraki çıktıdır.
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.
- Document sınıfının bir örneğini oluşturun ve ona Word belgesinin yolunu iletin.
- Pattern.compile() yöntemini kullanarak bir normal ifade kalıbı tanımlayın ve bunu Document.getRange().replace(Pattern pattern, String replace, FindReplaceOptions options) yöntemine iletin.
- Güncellenen belgeyi Document.save(String) yöntemini kullanarak kaydedin.
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.
Word Belgesinin Üstbilgi/Altbilgisindeki Metni Değiştirme
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.
- Document sınıfının bir örneğini oluşturun ve ona Word belgesinin yolunu iletin.
- Document.getFirstSection().getHeadersFooters() yöntemini kullanarak belgenin HeaderFooterCollection öğesini alın.
- HeaderFooter nesnesindeki belirli üst bilgiyi/alt bilgiyi alın.
- Metni bulmak ve değiştirmek için HeaderFooter.getRange().replace() yöntemini kullanın.
- Güncellenen Word belgesini kaydedin.
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.
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.
Çö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.