PDF Java'da metin bulun ve değiştirin

Çeşitli durumlarda, PDF belgelerinde belirli bir metin parçasını bulmanız ve değiştirmeniz gerekebilir. Ancak, her oluşumu manuel olarak aramak ve güncellemek size fazladan zaman ve çabaya mal olabilir. Bu gibi durumlarda bul ve değiştir seçeneği hayatınızı kolaylaştırır. Bu makalede, Java kullanarak PDF belgelerinde metin bulmayı ve değiştirmeyi öğreneceksiniz.

PDF’de Metni Bulmak ve Değiştirmek için Java API - Ücretsiz İndirme

Aspose.PDF for Java, Java uygulamalarının içinden PDF dosyaları oluşturmak ve değiştirmek için tasarlanmıştır. API, metin bulma ve değiştirme dahil olmak üzere çok çeşitli temel ve gelişmiş PDF işleme özellikleri sağlar. 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>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>21.1</version>    
</dependency>

Java kullanarak PDF’de Metin Bul ve Değiştir

PDF’deki belirli bir metni değiştirmek için önce arama dizesiyle eşleşen tüm metin parçalarını alırsınız. Onlara sahip olduğunuzda, her bir parçayı güncellenmiş metinle birer birer değiştirmeniz yeterlidir.

Java kullanarak bir PDF dosyasındaki metni bulma ve değiştirme adımları aşağıda verilmiştir.

Aşağıdaki kod örneği, PDF’de metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.Pdf-for-Java adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("source.pdf");

// Giriş arama ifadesinin tüm örneklerini bulmak için TextAbsorber nesnesi oluşturun
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Belgenin tüm sayfaları için emiciyi kabul edin
pdfDocument.getPages().accept(textFragmentAbsorber);

// Ayıklanan metin parçalarını koleksiyona alın
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Parçalar arasında döngü
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Metni ve diğer özellikleri güncelleyin
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Güncellenmiş PDF dosyasını kaydedin
pdfDocument.save("Updated_Text.pdf");

PDF’de Belirli Bir Sayfadaki Metni Arayın ve Değiştirin

Tüm PDF’de metin bulmak ve değiştirmek yerine, metin oluşumlarını değiştirmek istediğiniz tek bir sayfa belirtebilirsiniz. Bu durumda, yalnızca sayfa dizinini belirterek belirli bir sayfa için TextFragmentAbsorber kabul edeceksiniz.

Java’da PDF’de belirli bir sayfadaki metni aramak ve değiştirmek için izlenecek adımlar aşağıdadır.

Aşağıdaki kod örneği, Java kullanılarak PDF’de belirli bir sayfadaki metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.Pdf-for-Java adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("source.pdf");

// Giriş arama ifadesinin tüm örneklerini bulmak için TextAbsorber nesnesi oluşturun
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample");

// Belgenin ilk sayfası için emiciyi kabul edin
pdfDocument.getPages().get_Item(0).accept(textFragmentAbsorber);

// Ayıklanan metin parçalarını koleksiyona alın
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Parçalar arasında döngü
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Metni ve diğer özellikleri güncelleyin
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}
// Güncellenmiş PDF dosyasını kaydedin
pdfDocument.save("Updated_Text.pdf");

PDF’de Normal İfadeleri Kullanarak Metni Bul ve Değiştir

E-postalar, SSN’ler vb. gibi belirli bir kalıpla eşleşen metni aramak için bir normal ifade de belirtebilirsiniz. Aşağıda, Java kullanarak PDF’de metin aramak ve değiştirmek için bir normal ifade tanımlama ve kullanma adımları yer almaktadır.

Aşağıdaki kod örneği, normal ifade kullanılarak PDF’de metnin nasıl bulunacağını ve değiştirileceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.Pdf-for-Java adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("input.pdf");

// Giriş arama ifadesinin tüm örneklerini bulmak için TextAbsorber nesnesi oluşturun
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000

// Normal ifade kullanımını etkinleştirmek için metin arama seçeneğini ayarlayın
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);

// Belgenin tüm sayfaları için emiciyi kabul edin
pdfDocument.getPages().accept(textFragmentAbsorber);

// Ayıklanan metin parçalarını koleksiyona alın
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Parçalar arasında döngü
for (TextFragment textFragment : (Iterable<TextFragment>) textFragmentCollection) {
	// Metni ve diğer özellikleri güncelleyin
	textFragment.setText("New Pharase");
	textFragment.getTextState().setFont(FontRepository.findFont("Verdana"));
	textFragment.getTextState().setFontSize(22);
	textFragment.getTextState().setForegroundColor(Color.getBlue());
	textFragment.getTextState().setBackgroundColor(Color.getGray());
}

// Güncellenmiş PDF dosyasını kaydedin
pdfDocument.save("Updated_Text.pdf");

Ücretsiz API Lisansı Alın

API’yi değerlendirme kısıtlamaları olmadan ücretsiz olarak deneyebilirsiniz. Şimdi ücretsiz bir geçici lisans alın.

Çözüm

Bu makalede, Java kullanarak PDF’de metin bulmayı ve değiştirmeyi öğrendiniz. Ayrıca, belirli bir kalıbı izleyen metni aramak ve değiştirmek için bir normal ifadeyi nasıl kullanacağınızı gördünüz. Belgeleri kullanarak Java PDF API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız