PDF'deki Metni Nasıl Değiştiririm

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Java, geliştiricilere mevcut PDF içeriği üzerinde doğrudan kontrol sağlar replaceText yöntemi aracılığıyla. İster oluşturulmuş rapor yığınında bir yazım hatasını düzeltmeniz gereksin, ister şablon belgeler arasında sürüm numaralarını değiştirin veya müşteri bazlı verilerle sözleşmeleri kişiselleştirin, bu yöntem bir sayfa seçimini, arama dizgesini ve bir değiştirme dizgesini kabul eder ve geri kalanını halleder. Bu kılavuz tek sayfa değiştirme, çoklu sayfa hedefleme, mevcut her PageSelection seçeneği ve şablon tabanlı iş akışları için pratik desenleri kapsar.

Hızlı Başlangıç: Bir PDF'teki Metni Değiştir

IronPDF bağımlılığını ekleyin, bir PDF yükleyin veya oluşturun, replaceText çağırın ve sonucu kaydedin:

 :title=Quickstart Replace Text
//: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.IOException;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
        pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
        pdf.saveAs("replaceText.pdf");
    }
}
 :title=Quickstart Replace Text
//: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.IOException;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
        pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
        pdf.saveAs("replaceText.pdf");
    }
}
JAVA

Tek Bir Sayfadaki Metni Nasıl Değiştiririm?

replaceText yöntemi üç argüman kabul eder: bir veya daha fazla sayfayı hedefleyen bir PageSelection, bulunacak tam metin ve değiştirme dizgesi. İlk sayfayı hedeflemek için PageSelection.firstPage() iletin. Bu sayfadaki arama dizesinin tüm örnekleri tek bir çağrıda değiştirilir. Metin hedeflenen sayfalarda bulunamazsa, yöntem bir çalışma zamanı istisnası fırlatır. Aşağıdaki ekran görüntüsü, bu istisnanın konsoldaki görünümünü gösterir.

Hedef metin '.NET7' değiştirme sırasında bulunamadığında bir Exception_RemoteException gösteren IronPDF konsol çıktısı

replaceText Ne Tür Parametreler Kabul Eder?

Yöntem imzası replaceText(PageSelection pageSelection, String oldText, String newText). Eşleşme varsayılan olarak büyük/küçük harf duyarlıdır: "net6" ve "NET6" farklı dizgeler olarak kabul edilir. Yöntemi çağırmadan önce render edilmiş PDF'deki tam büyük/küçük harf kullanımını doğrulayın. Tam metni önce PDF'nin metin içeriğini ayıklayarak doğrulayabilirsiniz. IronPDF Java bağımlılığı Maven Central üzerinde yayımlanmıştır ve Java 8 veya daha sonraki sürümlerini gerektirir.

 :title=Replace Text on First Page
//: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.IOException;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key (required for production use)
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Render HTML content into a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");

        // Define the search and replacement strings
        String oldText = ".NET6";
        String newText = ".NET7";

        // Replace all instances of oldText on the first page only
        // PageSelection.firstPage() targets page index 0
        pdf.replaceText(PageSelection.firstPage(), oldText, newText);

        // Save the modified PDF
        pdf.saveAs("replaceText.pdf");
    }
}
 :title=Replace Text on First Page
//: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.IOException;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key (required for production use)
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Render HTML content into a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");

        // Define the search and replacement strings
        String oldText = ".NET6";
        String newText = ".NET7";

        // Replace all instances of oldText on the first page only
        // PageSelection.firstPage() targets page index 0
        pdf.replaceText(PageSelection.firstPage(), oldText, newText);

        // Save the modified PDF
        pdf.saveAs("replaceText.pdf");
    }
}
JAVA

İpuçlarıLisans anahtarını her bireysel işlem öncesinden ziyade uygulama başlatıldığında bir kerelik yükleyin. Bu, aynı JVM oturumunda birden fazla belgeyi işlerken tekrar eden başlatma yükünü önler.

replaceText yöntemi, IronPDF'in HTML'den PDF'ye dönüştürme iş akışı ile doğal olarak bütünleşir. İlk olarak HTML şablonunu işleyin, ardından dinamik değerleri enjekte etmek için metin değişikliğini uygulayın. Bu, HTML'nin temiz kalmasını sağlarken kişiselleştirilmiş çıktılar üretir. Diskten yüklenen belgeler için, dosya yolunu PdfDocument.fromFile yerine renderHtmlAsPdf kullanarak geçirin.

Çıkış Nasıl Görünür?


Birden Fazla Sayfadaki Metni Nasıl Değiştiririm?

Sadece ilkini değil, belirli sayfaları hedeflemek istiyorsanız, sıfır tabanlı sayfa numaralarının bir listesini PageSelection.pageRange(List<Integer>) ile gönderin. Yöntem listedeki her sayfadaki arama metnini değiştirir ve diğer sayfalara dokunmaz. Bu model, bilinen sayfalarda tutarlı başlık veya altbilgiye sahip belgeler veya bir sürüm dizesi sadece belirli sayfalarda görünen toplu olarak oluşturulmuş raporlar için uygundur.

Bir Sayfa Listesi Kullanıldığında Hangi Sayfalar Değiştirilir?

Aşağıdaki örnekte, HTML'den üç sayfalık bir PDF oluşturuluyor. Değiştirme, 0 ve 2 sayfalarında (ilk ve üçüncü sayfalar) çalışır. 1 sayfası (ikinci sayfa) orijinal metni değişmeden korur. Sayfa dizinleri her zaman 0 ile başlar, Java'nın sıfır tabanlı dizi gelenekleri ile tutarlılıktadır.

 :title=Replace Text on Multiple Specific Pages
//: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.IOException;
import java.util.Arrays;
import java.util.List;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Build a 3-page PDF from HTML using CSS page breaks
        String html = "<p> .NET6 </p>" +
                      "<p> This is 1st Page </p>" +
                      "<div style='page-break-after: always;'></div>" +
                      "<p> This is 2nd Page</p>" +
                      "<div style='page-break-after: always;'></div>" +
                      "<p> .NET6 </p>" +
                      "<p> This is 3rd Page</p>";

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        String oldText = ".NET6";
        String newText = ".NET7";

        // Pages are zero-indexed: 0 = first page, 2 = third page
        // Page index 1 (second page) is intentionally excluded
        List<Integer> pages = Arrays.asList(0, 2);

        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
 :title=Replace Text on Multiple Specific Pages
//: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.IOException;
import java.util.Arrays;
import java.util.List;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Build a 3-page PDF from HTML using CSS page breaks
        String html = "<p> .NET6 </p>" +
                      "<p> This is 1st Page </p>" +
                      "<div style='page-break-after: always;'></div>" +
                      "<p> This is 2nd Page</p>" +
                      "<div style='page-break-after: always;'></div>" +
                      "<p> .NET6 </p>" +
                      "<p> This is 3rd Page</p>";

        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);

        String oldText = ".NET6";
        String newText = ".NET7";

        // Pages are zero-indexed: 0 = first page, 2 = third page
        // Page index 1 (second page) is intentionally excluded
        List<Integer> pages = Arrays.asList(0, 2);

        pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);

        pdf.saveAs("replaceTextOnMultiplePages.pdf");
    }
}
JAVA

Lütfen dikkate alınIronPDF'deki tüm sayfa indeksleri sıfır tabanlı indekslemeyi takip eder. 0 sayfası birinci sayfa, 1 sayfası ise ikinci sayfa ve bu şekilde devam eder.

HTML'den çok sayfalı PDF'ler oluştururken, sayfa sınırlarının nerede düşeceğini kontrol etmek için CSS page-break-after özelliğini kullanın. özel kağıt boyutunu ve sayfa yönlendirmesini ayarlamak, içerik pozisyonlarının metin değişikliği çalıştığında beklentilerinize uygun olmasını sağlar. Kaydetme işleminden sonra, PDF'yi açarak ve sadece hedeflenen sayfaların değiştirildiğinden emin olarak çıktıyı doğrulayın.

Çıkış Nasıl Görünür?


Icon Quote related to Çıkış Nasıl Görünür?

Bu türden favori kütüphanem IronPDF'dir. PDF dosyalarının hızlı ve verimli bir şekilde işlenmesine olanak tanır. Ayrıca, PDF/A formatına dışa aktarma ve dijital imzalama gibi birçok değerli özelliğe sahiptir.

Milan Jovanovic related to Çıkış Nasıl Görünür?

Milan Jovanovic

Microsoft MVP

Vaka çalışmasını görüntüle
Icon Quote related to Çıkış Nasıl Görünür?

IronOCR, manuel işleme maliyetinden yıllık 40.000 USD tasarruf etmemizi sağlıyor, üretkenliği artırıyor ve yüksek etkili görevler için kaynakları serbest bırakıyor. Kesinlikle tavsiye ederim.

Brent Matzelle related to Çıkış Nasıl Görünür?

Brent Matzelle

Teknoloji Müdürü, OPYN

Vaka çalışmasını görüntüle
Icon Quote related to Çıkış Nasıl Görünür?

IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.

David Jones related to Çıkış Nasıl Görünür?

David Jones

Baş Yazılım Mühendisi, Agorus Build

Vaka çalışmasını görüntüle

Hangi Sayfa Seçim Seçenekleri Mevcuttur?

PageSelection sınıfı, her yaygın hedefleme desenini kapsayan statik fabrika yöntemleri sağlar. Hiçbir örnek oluşturulmasına gerek yoktur; yöntemleri doğrudan sınıf üzerinde çağırın. Tüm indeksler sıfır tabanlıdır.

Tek Sayfa vs. Çoklu Sayfayı Hedefleyen Yöntemler Hangileri?

| Yöntem | Açıklama | |---|---| | `PageSelection.allPages()` | Belgede her sayfayı seçer | | `PageSelection.firstPage()` |Dizindeki `0` sayfayı seçer| | `PageSelection.lastPage()` | Belge uzunluğu gözetilmeksizin son sayfayı seçer | | `PageSelection.singlePage(int pageIndex)` | Tek bir sayfayı sıfır tabanlı indeks ile seçer | | `PageSelection.pageRange(int startIndex, int endIndex)` |Seçilen kapsam içeren bir aralık `startIndex` ve `endIndex` içerir.| | `PageSelection.pageRange(List pageList)` |Herhangi bir rastgele dizin kümesindeki sayfaları seçer (örneğin, `[0, 2]` sayfaları 1 ve 3 seçer).|
replaceText API'si için PageSelection fabrika yöntemleri

Hangi Durumlarda Her SayfaSelection Yöntemini Kullanmalıyım?

allPages(), küresel bir bul ve değiştir için en basit seçimdir: tüm belge boyunca hedef metnin her örneği tek bir çağrıda değiştirilir. Gövdeye dokunmadan kapak sayfalarını veya son-sayfa altbilgilerini kapsamak için hızlı düzenlemeler için firstPage() veya lastPage() kullanın. Metin, bir bölüm ya da bölüm gibi ardışık bir dizi sayfada göründüğünde pageRange(int, int) seçimi yapın. Hedef sayfalar süreksizse pageRange(List<Integer>) kullanın; örneğin, yalnızca sayfa 1, 3 ve 7'de görünen bir sürüm dizisi değiştirildiğinde.

Bölünmüş PDF'ler veya yer işaretleri ve anahatlar içeren belgelerle çalışırken, önce her mantıksal bölüm için sayfa aralığını belirleyin, ardından ortak başlık veya altbilgileri yanlışlıkla değiştirmekten kaçınmak için hedef değişiklikler uygulayın. IronPDF for Java API referansı tüm PageSelection aşırı yüklerini tam parametre belgeleri ile listeler.

ÖnemlireplaceText çağrılarını bir try-catch bloğunda sarmalayın. Yöntem, belirtilen arama metni hedeflenen sayfalardan herhangi birinde bulunamazsa bir çalışma zamanı istisnası fırlatır. Bir doğrulama adımı (metnin ayıklanması ve dizenin mevcut olduğunun doğrulanması) üretimde beklenmeyen hatalardan kaçınır.

Tüm Sayfalar Aynı Anda Nasıl Değiştirilir?

PageSelection.allPages(), tek bir çağrıda belge çapında bir değiştirme gerçekleştirir, bu da küresel bir simge değişimi için en etkili yaklaşımdır. Aşağıdaki örnek, diskteki bir PDF'yi yükler ve belgenin tamamındaki yer tutucu tokeninin her bir örneğini değiştirir:

 :title=Replace Text on All Pages
//: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.IOException;
import java.nio.file.Paths;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));

        // Replace the placeholder token on every page simultaneously
        // This is equivalent to calling replaceText for each page individually
        pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");

        // Save the updated document
        pdf.saveAs("contract-v2.pdf");
    }
}
 :title=Replace Text on All Pages
//: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.IOException;
import java.nio.file.Paths;

public class App {

    public static void main(String[] args) throws IOException {

        // Set the IronPDF license key
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load an existing PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));

        // Replace the placeholder token on every page simultaneously
        // This is equivalent to calling replaceText for each page individually
        pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");

        // Save the updated document
        pdf.saveAs("contract-v2.pdf");
    }
}
JAVA

Bu model, aynı yer tutucunun birçok sayfa üzerindeki başlıklar, altbilgiler veya gövde metinlerinde göründüğü şablon tarafından yönlendirilen iş akışlarıyla doğal olarak eşleşir. Tek sayfalı belgeler için, allPages() ve firstPage() aynı sonuçları üretir. Sayfa sayısının çalışma zamanında değişebileceği durumlarda allPages() tercih edin.


Yaygın Metin Değiştirme Senaryoları Nasıl Yönetilir?

Java uygulamalarında metin değiştirme, basit bir arama ve değiştirme işleminin ötesine geçen birkaç deseni kapsar. Her durumda yöntem nasıl davranır anlaşıldığında, üretimde görünmeden önce hatalar önlenebilir.

Büyük Harf Duyarlı Eşleştirme Sonuçları Nasıl Etkiler?

replaceText kesin, büyük/küçük harf duyarlı eşleştirme yapar. "Version 1.0", "version 1.0", ve "VERSION 1.0" dizgeleri üç farklı değer olarak kabul edilir. Diskten yüklenen bir belge üzerinde bir değiştirme çalıştırmadan önce, orijinal kaynağı gözden geçirerek veya PDF'den metin ayıklayarak ve programatik olarak inceleyerek tam büyük/küçük harf kullanımını doğrulayın.

PDF Formlarında Metin Nasıl Değiştirilir?

Etkileşimli form alanları içeren PDF'ler, metin değerlerini, PDF spesifikasyonunda tanımlandığı gibi, belgenin içerik akışından ayrı olarak saklar. replaceText yöntemi içerik akışında çalışır ve form alanı değerlerini değiştirmez. Form alanları içindeki metni güncellemek için, IronPDF'in ayrılmış form oluşturma ve düzenleme API'sini kullanın. Her iki yaklaşımı aynı belgede birleştirmek güvenlidir: form alanı güncellemeleri ve içerik akışı değişikleri birbirine karışmaz.

Şablona Dayalı İş Akışlarında Metin Nasıl Güncellenir?

Yaygın bir desen, {{CUSTOMER_NAME}} veya [INVOICE_DATE] gibi yer tutucu simgeler içeren bir PDF şablonunu sürdürmek ve bunları çalışma zamanında gerçek değerlerle değiştirmektir. Her yer tutucu için replaceText bir kez çağırın, böylece PageSelection.allPages() değişimi sembolün göründüğü her yeri kapsar. HTML'den üretilen belgeler için, bu iş akışı serisi bir dizi değiştirme çağrısı ardından renderHtmlAsPdf ile eşit derecede iyi çalışır. Final çıktıya marka veya gizlilik işaretleri eklemek için PDF filigranları veya arka planlar ve ön planlar ile birleştirin.

Java'da PDF Metin Değişikliği İçin Sonraki Adımlar Neler?

Bu kılavuz, PageSelection.firstPage() ile tek sayfa değiştirme, PageSelection.pageRange() ile seçmeli çok sayfa değiştirme, PageSelection.allPages() ile belge çapında değiştirme ve tam PageSelection fabrika yöntemleri setini kapsadı. Aynı replaceText API, belge HTML'den oluşturulmuş, diskten yüklenmiş veya birden fazla kaynak birleştirilerek oluşturulmuş olsun çalışır.

IronPDF for Java'nin ücretsiz denemesini başlatın ve yukarıdaki kod örneklerini kendi belgeleriniz üzerinde çalıştırın. Üretime kaydetmeye hazır olduğunuzda, lisans seçeneklerini gözden geçirin. Lisanslar geliştirici başına verilir ve bir yıl ürün güncellemesi içerir.

IronPDF for Java'nın başka neler yapabileceğini görmek mi istiyorsunuz? Aşağıdaki PDF oluşturma, açıklama, dijital imzalar, sıkıştırma ve daha fazlası için eğitim rehberleriyle tam IronPDF for Java nasıl yapılır rehberlerine 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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.6 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.