MS PowerPoint, sunumlarda metin bulma ve değiştirme konusunda kullanışlı bir özellik sağlar. Ancak, bir grup dosya için bu işlemi gerçekleştirmek üzere otomasyona ihtiyacınız olabilir. Buna göre, bu makalede Java kullanarak programlı olarak PowerPoint PPTX/PPT’de metin bulmayı ve değiştirmeyi öğreneceksiniz.
PowerPoint’te Metni Bulmak ve Değiştirmek için Java API
PPTX/PPT sunumlarında metin bulmak ve değiştirmek için Aspose.Slides for Java kullanacağız. Java uygulamalarınızın içinden PowerPoint sunumları oluşturmak, değiştirmek ve dönüştürmek için güçlü bir API’dir. API’yi indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak yükleyebilirsiniz.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Java kullanarak PowerPoint PPTX’te Metni Bul ve Değiştir
Java kullanarak bir PPTX sunumunda metin bulma ve değiştirme adımları aşağıdadır.
- İlk olarak, Sunum sınıfını kullanarak PowerPoint sunumunu yükleyin.
- Ardından, sunumdaki her ISlide arasında geçiş yapın.
- Her yinelemede, bir ITextFrame dizisindeki metin çerçevelerini alın.
- Her ITextFrame için aşağıdaki işlemleri gerçekleştirin:
- Her metin çerçevesindeki IParagraphCollection içinde döngü yapın.
- Her IParagraph‘da IPortionCollection‘a erişin.
- IPortion.getText() yöntemini kullanarak her IPortion metnine erişin ve arama dizesini içerip içermediğini kontrol edin.
- Evet ise, arama dizesinin konumunu bulun ve IPortion.setText() yöntemini kullanarak değiştirin.
- Son olarak, güncellenen sunumu Presentation.save(string, SaveFormat) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, bir PowerPoint sunusunda metnin nasıl bulunacağını ve değiştirileceğini gösterir.
// Sunumu yükle
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Her slaytta döngü
for (ISlide slide : pres.getSlides()) {
// Slayttaki tüm metin çerçevelerini alın
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Değiştirilecek metni bulun
if (port.getText().contains(strToFind)) {
// Mevcut metni yeni metinle değiştir
String str = port.getText();
int idx = str.indexOf(strToFind);
String strStartText = str.substring(0, idx);
String strEndText = str.substring(idx + strToFind.length(),
str.length() - 1 - (idx + strToFind.length() - 1));
port.setText(strStartText + strToReplaceWith + strEndText);
}
}
// sunuyu kaydet
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Ücretsiz API Lisansı Alın
Aspose.Slides for Java’yı geçici lisans talep ederek değerlendirme sınırlamaları olmadan kullanabilirsiniz.
Çözüm
Bu makalede, Java kullanarak programlı olarak PowerPoint sunumlarında metin bulmayı ve değiştirmeyi öğrendiniz. API’yi ve sağlanan kod örneğini Java uygulamalarınıza kolayca entegre edebilirsiniz. Ayrıca Aspose.Slides for Java’nın diğer özelliklerini keşfetmek için belgeleri ziyaret edebilirsiniz. Ayrıca, [forumumuz] aracılığıyla 15 sorularınızı bize bildirebilirsiniz.