PDF'deki Metni Değiştirme
IronPDF for Java, geliştiricilere replaceText yöntemi aracılığıyla mevcut PDF içeriği üzerinde doğrudan kontrol sağlar. Oluşturulan raporlar grubundaki yazım hatalarını düzeltmeniz, şablon belgelerdeki sürüm numaralarını değiştirmeniz veya sözleşmeleri müşteriye özgü verilerle kişiselleştirmeniz gerekse de, bu yöntem sayfa seçimi, arama dizesi ve değiştirme dizesini kabul eder ve gerisini halleder. Bu kılavuz, tek sayfa değiştirme, çok sayfalı hedefleme, mevcut tüm PageSelection seçeneklerini ve şablon odaklı iş akışları için pratik kalıpları kapsar.
Hızlı Başlangıç: PDF'deki Metni Değiştirme
IronPDF bağımlılığını ekleyin, bir PDF dosyasını yükleyin veya görüntüleyin, replaceText'yi çağırın ve sonucu kaydedin:
```java :title=Hızlı Başlangıç Metni Değiştir //:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/quickstart.java import com.ironsoftware.IronPDF.*; import com.ironsoftware.IronPDF.edit.PageSelection; import java.io.IO/Exception;
public class App { public static void main(String[] args) throws IOException { License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01"); PdfDocument pdf = PdfDocument.renderHtmlAsPdf(""); pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7"); pdf.saveAs("replaceText.pdf"); } }
<div class="hsg-featured-snippet">
<h3>Minimal İş Akışı (5 adım)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">PDF'deki metni değiştirmek için Java kütüphanesini indirin</a></li>
<li>Mevcut bir PDF'yi yükleyin veya HTML'den bir PDF oluşturun</li>
<li>Hedef sayfalarda <code>pdf.replaceText(PageSelection, oldText, newText)</code> hedef sayfalarda değiştirin</li>
<li>Hangi sayfaların değiştirileceğini kontrol etmek için <code>PageSelection</code> yöntemlerini kullanarak hangi sayfaların değiştirileceğini kontrol edin</li>
<li>Güncellenen PDF'yi kaydedin ve <code>pdf.saveAs("output.pdf")</code></li>
</ol>
</div>
## Tek bir sayfadaki metni nasıl değiştirebilirim?
`replaceText` yöntemi üç argüman kabul eder: bir veya daha fazla sayfayı hedefleyen bir `PageSelection`, bulunacak tam metin ve değiştirme dizesi. İlk sayfayı hedeflemek için `PageSelection.firstPage()` değerini geçin. O sayfadaki arama dizesinin tüm örnekleri tek bir çağrı ile değiştirilir. Metin hedef sayfalarda bulunamazsa, yöntem bir çalışma zamanı istisnası oluşturur. Aşağıdaki ekran görüntüsü, bu istisnanın konsolda nasıl göründüğünü göstermektedir.

### replaceText hangi parametreleri kabul eder?
Yöntem imzası `replaceText(PageSelection pageSelection, String oldText, String newText)` şeklindedir. Eşleştirme varsayılan olarak büyük/küçük harfe duyarlıdır: `"net6"` ve `"NET6"` farklı dizeler olarak değerlendirilir. Yöntemi çağırmadan önce, oluşturulan PDF'de büyük/küçük harf kullanımının doğru olup olmadığını kontrol edin. Önce [PDF'nin metin içeriğini çıkararak](https://ironpdf.com/java/examples/extract-image-from-pdf/) tam metni doğrulayabilirsiniz. IronPDF Java bağımlılığı [Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf)'da yayınlanmıştır ve Java 8 veya üstü sürüm gerektirir.
```java :title=İlk Sayfadaki Metni Değiştir
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-single-page.java
import com.ironsoftware.IronPDF.*;
import com.ironsoftware.IronPDF.edit.PageSelection;
import java.io.IO/Exception;
public class App {
public static void main(String[] args) throws IOException {
// IronPDF lisans anahtarını ayarlayın (üretim kullanımında gereklidir)
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// HTML içeriğini bir PDF belgesine dönüştür
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Arama ve değiştirme dizelerini tanımlayın
String oldText = ".NET6";
String newText = ".NET7";
// Yalnızca ilk sayfadaki tüm oldText örneklerini değiştirin
// PageSelection.firstPage() 0 numaralı sayfayı hedefler
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Değiştirilen PDF'yi kaydet
pdf.saveAs("replaceText.pdf");
}
}
replaceText yöntemi, IronPDF'nin HTML'den PDF'ye dönüştürme iş akışına doğal bir şekilde entegre olur. Önce HTML şablonunu işleyin, ardından metin değiştirme işlemini uygulayarak dinamik değerleri ekleyin. Bu, HTML'nizi temiz tutarken kişiselleştirilmiş çıktılar üretmenizi sağlar. Diskten yüklenen belgeler için, renderHtmlAsPdf kullanmak yerine dosya yolunu PdfDocument.fromFile'a aktarın.
Çıktı Nasıl Görünür?
Birden Fazla Sayfadaki Metni Nasıl Değiştirebilirim?
Sadece ilk sayfayı değil, belirli sayfaları hedeflemek için, sıfırdan başlayan sayfa numaralarının bir listesini PageSelection.pageRange(List<Integer>)'ye aktarın. Bu yöntem, listedeki her sayfadaki arama metnini değiştirir ve diğer tüm sayfaları olduğu gibi bırakır. Bu şablon, bilinen sayfalarda tutarlı üstbilgi veya altbilgileri olan belgelere veya sürüm dizesinin yalnızca belirli sayfalarda göründüğü toplu olarak oluşturulan raporlara uygundur.
Sayfa Listesi Kullanıldığında Hangi Sayfalar Değiştirilir?
Aşağıdaki örnekte, HTML'den üç sayfalık bir PDF oluşturulmuştur. Değiştirme, 0 ve 2 sayfalarında (birinci ve üçüncü sayfalar) gerçekleştirilir. 1 sayfası (ikinci sayfa) orijinal metni değiştirmeden korur. Sayfa dizinleri, Java'nın sıfır tabanlı dizi kurallarıyla tutarlı olarak her zaman 0 ile başlar.
```java :title=Belirli Birden Fazla Sayfadaki Metni Değiştir //:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-multiple-pages.java import com.ironsoftware.IronPDF.*; import com.ironsoftware.IronPDF.edit.PageSelection; import java.io.IO/Exception; import java.util.Arrays; import java.util.List;
public class App {
public static void main(String[] args) throws IOException {
// IronPDF lisans anahtarını ayarla
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// CSS sayfa sonlarını kullanarak HTML'den 3 sayfalık bir PDF oluşturun
String html = "<p> .NET6 </p>" +
"<p> Bu 1. Sayfadır </p>" +
"<div style="page-break-after:> always;"></div>" +
"<p> Bu 2. sayfadır</p>" +
"<div style="page-break-after:> always;"></div>" +
"<p> .NET6 </p>" +
"<p> Bu 3. sayfadır</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Sayfalar sıfırdan numaralandırılmıştır: 0 = ilk sayfa, 2 = üçüncü sayfa
// Sayfa dizini 1 (ikinci sayfa) kasıtlı olarak hariç tutulmuştur
Liste<integer> sayfaları = Arrays.asList(0, 2);</integer>
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
Lütfen dikkate alınIronPDF'deki tüm sayfa indeksleri sıfır tabanlı indekslemeyi takip eder. `0` sayfası ilk sayfadır, `1` sayfası ikinci sayfadır ve bu şekilde devam eder.
HTML'den çok sayfalı PDF'ler oluştururken, sayfa sınırlarının nereye düşeceğini kontrol etmek için [CSS `page-break-after` ](https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after)özelliğini kullanın. Render işlemi öncesinde doğru [özel kağıt boyutunu](https://ironpdf.com/java/examples/custom-pdf-paper-size/) ve [sayfa yönünü](https://ironpdf.com/java/examples/pdf-page-orientation/) ayarlamak, metin değiştirme işlemi sırasında içerik konumlarının beklentilerinize uygun olmasını sağlar. Kaydettikten sonra, PDF'yi açarak çıktıyı kontrol edin ve yalnızca hedeflenen sayfaların değiştiğini doğrulayın.
### Çıktı Nasıl Görünür?
<iframe loading="lazy" src="/static-assets/ironpdf-java/howto/find-replace-text/replaceTextOnMultiplePages.pdf" width="100%" height="400px"></iframe>
<hr>
## Hangi Sayfa Seçim Seçenekleri Mevcuttur?
`PageSelection` sınıfı, tüm yaygın hedefleme kalıplarını kapsayan statik fabrika yöntemleri sağlar. Örnek oluşturmaya gerek yoktur; yöntemleri doğrudan sınıf üzerinde çağırın. Tüm indeksler sıfır tabanlıdır.
### Hangi Yöntemler Tek Sayfayı, Hangileri Birden Fazla Sayfayı Hedefler?
<table class="content__data-table" data-content-table>
<caption>replaceText API'si için PageSelection fabrika yöntemleri</caption>
| Yöntem | Açıklama |
|---|---|
| `PageSelection.allPages()` | Belgedeki her sayfayı seçer |
| `PageSelection.firstPage()` | Dizin `0` sayfasında seçilir |
| `PageSelection.lastPage()` | Belge uzunluğuna bakılmaksızın son sayfayı seçer |
| `PageSelection.singlePage(int pageIndex)` | Sıfır tabanlı indeksle belirli bir sayfayı seçer |
| `PageSelection.pageRange(int startIndex, int endIndex)` | `startIndex` ile `endIndex` arasında (bu iki değer dahil) bitişik bir aralık seçer |
| `PageSelection.pageRange(List<Integer> pageList)` | İstenilen herhangi bir dizin kümesinden sayfaları seçer (ör. `[0, 2]`, 1. ve 3. sayfaları seçer) |
</table>
### Her bir PageSelection yöntemini ne zaman kullanmalıyım?
`allPages()`, genel bir bul ve değiştir işlemi için en basit seçenektir: belge genelindeki hedef metnin her örneği tek bir çağrıda değiştirilir. Metin gövdesine dokunmadan kapak sayfalarını veya son sayfa altbilgilerini hızlıca düzenlemek için `firstPage()` veya `lastPage()` kullanın. Metin, bir bölüm veya alt bölüm gibi ardışık bir sayfa dizisinde yer alıyorsa `pageRange(int, int)` seçeneğini seçin. Hedef sayfalar birbirine bitişik değilse `pageRange(List<Integer>)` kullanın; Örneğin, yalnızca 1, 3 ve 7. sayfalarda görünen bir sürüm dizesini değiştirirken.
[Birleştirilmiş PDF'ler](https://ironpdf.com/java/examples/split-pdfs/) veya [yer imleri ve anahatlar](https://ironpdf.com/java/how-to/bookmarks/) içeren belgelerle çalışırken, önce her bir mantıksal bölümün sayfa aralığını belirleyin, ardından ortak üstbilgileri veya altbilgileri yanlışlıkla değiştirmemek için hedefli değiştirmeler uygulayın. [IronPDF for Java API referansı,](https://ironpdf.com/object-reference/api/) tüm `PageSelection` aşırı yüklemelerini tam parametre belgeleriyle birlikte listeler.
Önemli`replaceText` çağrılarını bir try-catch bloğuna sarın. Belirtilen arama metni hedef sayfalardan hiçbirinde bulunmadığında, yöntem bir çalışma zamanı istisnası oluşturur. Bir doğrulama adımı (metni ayıklama ve dizenin mevcut olduğunu onaylama), üretimde beklenmedik hataları önler.
### Tüm Sayfalardaki Metni Tek Seferde Nasıl Değiştirebilirim?
`PageSelection.allPages()`, tek bir çağrı ile belge genelinde bir değiştirme işlemi gerçekleştirir; bu, global token değiştirme için en verimli yaklaşımdır. Aşağıdaki örnekte, diskten bir PDF dosyası yüklenir ve belge genelinde yer tutucu belirtecinin geçtiği her yer değiştirilir:
```java :title=Tüm Sayfalardaki Metni Değiştir
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-all-pages.java
import com.ironsoftware.IronPDF.*;
import com.ironsoftware.IronPDF.edit.PageSelection;
import java.io.IO/Exception;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) throws IOException {
// IronPDF lisans anahtarını ayarla
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Diskten mevcut bir PDF dosyasını yükle
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Her sayfadaki yer tutucu simgesini aynı anda değiştirin
// Bu, her sayfa için ayrı ayrı replaceText işlevini çağırmaya eşdeğerdir
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Güncellenen belgeyi kaydedin
pdf.saveAs("contract-v2.pdf");
}
}
Bu kalıp, aynı yer tutucunun birçok sayfada başlıklarda, altbilgilerde veya gövde metninde göründüğü şablon odaklı iş akışlarıyla doğal bir şekilde eşleşir. Tek sayfalık belgelerde, allPages() ve firstPage() aynı sonuçları verir. Çalışma zamanında sayfa sayısı değişebilecekse allPages() kullanılması tercih edilir.
Yaygın Metin Değiştirme Senaryolarını Nasıl Ele Almalıyım?
Java uygulamalarında metin değiştirme, basit bir arama ve değiştirme işleminin ötesine geçen çeşitli kalıpları kapsar. Yöntemin her durumda nasıl davrandığını anlamak, hataların üretim aşamasında ortaya çıkmasını önler.
Büyük/küçük harf duyarlı eşleştirme sonuçları nasıl etkiler?
replaceText, büyük/küçük harf duyarlı tam eşleştirme yapar. "Version 1.0", "version 1.0" ve "VERSION 1.0" dizeleri üç ayrı değer olarak ele alınır. Diskten yüklenen bir belgede değiştirme işlemi yapmadan önce, orijinal kaynağı gözden geçirerek veya PDF'den metni ayıklayıp programlı olarak inceleyerek büyük/küçük harf kullanımını doğrulayın.
PDF Formlarındaki Metni Nasıl Değiştirebilirim?
Etkileşimli form alanları içeren PDF'ler, PDF spesifikasyonunda tanımlandığı gibi metin değerlerini belgenin içerik akışından ayrı olarak depolar. replaceText yöntemi içerik akışında çalışır ve form alanı değerlerini değiştirmez. Form alanlarındaki metni güncellemek için, bunun yerine IronPDF'nin özel form oluşturma ve düzenleme API'sini kullanın. Aynı belgede her iki yaklaşımı bir arada kullanmak güvenlidir: form alanı güncellemeleri ve içerik akışı değiştirmeleri birbirini etkilemez.
Şablon Tabanlı İş Akışlarındaki Metni Nasıl Güncellerim?
Yaygın bir yöntem, yer tutucu belirteçleri (örneğin {{CUSTOMER_NAME}} veya [INVOICE_DATE]) içeren bir PDF şablonu hazırlamak ve bunları çalışma zamanında gerçek değerlerle değiştirmektir. Her yer tutucuya bir kez replaceText çağrısı yapın ve PageSelection.allPages() kullanarak, değiştirme işleminin belirtecin göründüğü her yeri kapsamasını sağlayın. HTML'den oluşturulan belgeler için bu iş akışı, renderHtmlAsPdf ve ardından bir dizi değiştirme çağrısı ile de aynı şekilde iyi sonuç verir. Bunu PDF filigranı veya arka plan ve ön planlarla birleştirerek, nihai çıktıya marka veya gizlilik işaretleri ekleyin.
Java'da PDF Metin Değiştirme için Sonraki Adımlar Nelerdir?
Bu kılavuzda, PageSelection.firstPage() ile tek sayfalık değiştirme, PageSelection.pageRange() ile seçici çok sayfalı değiştirme, PageSelection.allPages() ile belge genelinde değiştirme ve PageSelection fabrika yöntemlerinin tam seti ele alınmıştır. Aynı replaceText API'si, belge HTML'den oluşturulmuş, diskten yüklenmiş veya birden fazla kaynağın birleştirilmesiyle oluşturulmuş olsun, her durumda çalışır.
IronPDF for Java'nın ücretsiz deneme sürümünü başlatın ve yukarıdaki kod örneklerini kendi belgelerinizde çalıştırın. Üretime geçmeye hazır olduğunuzda, lisans seçeneklerini inceleyin. Lisanslar geliştirici başına verilir ve bir yıllık ürün güncellemeleri içerir.
IronPDF for Java'nın başka neler yapabileceğini görmek ister misiniz? PDF oluşturma, açıklama ekleme, dijital imzalar, sıkıştırma ve daha fazlası hakkında öğreticiler için IronPDF for Java kullanım kılavuzlarının tamamına göz atın.
Sıkça Sorulan Sorular
Java kullanarak bir PDF'deki metni nasıl değiştiririm?
IronPDF'nin replaceText metodunu kullanın. Belirtilen sayfadaki eski metnin tüm örneklerini değiştirmek için pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") çağrısı yapın. IronPDF, orijinal formatı korurken her örneği bulur ve değiştirir.
replaceText metodu hangi parametreleri kabul eder?
Metod üç parametre kabul eder: değiştirilecek sayfaları belirlemek için bir PageSelection, bulunacak metni içeren bir String ve değiştirme metnini içeren bir String. Örneğin, pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7") ilk sayfadaki tüm örnekleri değiştirir.
Yalnızca belirli sayfalardaki metini değiştirebilir miyim?
Evet. Sayfa 0 için PageSelection.firstPage(), son sayfa için PageSelection.lastPage(), herhangi bir sayfa için sıfır tabanlı indeksine göre PageSelection.singlePage(n) veya ardışık olmayan sayfalar için tamsayı listesiyle PageSelection.pageRange() kullanın.
Değiştirilecek metin bulunamazsa ne olur?
Hedef metin, hedeflenen sayfalarda bulunamazsa IronPDF bir çalışma zamanı istisnası Exception_RemoteException atar. Çağrıyı bir try-catch bloğuna sarın ve isteğe bağlı olarak replaceText'i çağırmadan önce dizeyi doğrulamak için PDF metnini önceden çıkartın.
Metin eşleşmesi büyük/küçük harf duyarlı mı?
Evet. replaceText metodu, tam ve büyük/küçük harf duyarlı eşleşmeler yapar. "Version 1.0", "version 1.0" ve "VERSION 1.0" dizileri üç farklı değer olarak kabul edilir. Metodu çağırmadan önce tam yazımı doğrulayın.
replaceText form alanı değerlerini değiştirir mi?
Hayır. replaceText metodu, PDF içerik akışı üzerinde çalışır ve etkileşimli form alanı değerlerini değiştirmez. Form alanlarını güncellemek için IronPDF'nin PdfDocument form metotları aracılığıyla özel form düzenleme API'sini kullanın.
Bir tokayı tüm sayfalarda aynı anda nasıl değiştirebilirim?
replaceText'e birinci argüman olarak PageSelection.allPages() kullanın. Bu, tek bir çağrıda tüm sayfalardaki hedef metnin her örneğini değiştirir, bu da belge genişliğinde yer tutuculara sahip şablon tabanlı iş akışları için tercih edilen yaklaşımdır.


