Üretilen belgelerde silme, revizyon veya tamamlanmış görevleri göstermek için sıklıkla üstü çizili biçimlendirme gerekir. Conholdate.Total for Java programlı olarak Word belgelerini manipüle etmenizi sağlayan sağlam bir SDK sunar. Bu rehberde Java’da üstü çizili metin eklemeyi öğrenecek, yapılandırma seçeneklerini keşfedecek, performans en iyi uygulamalarını görecek ve kendi projelerinize uyarlayabileceğiniz tam bir örnek çalıştıracaksınız.

Başlamadan Önce: Önkoşullar ve Kurulum

Bu öğreticiyi takip etmek için şunlara ihtiyacınız var:

  • Java 17 veya daha yeni bir sürüm geliştirme makinenize kurulu.
  • Bağımlılık yönetimi için Maven 3.6+.
  • IntelliJ IDEA veya Eclipse gibi bir IDE.

Conholdate Maven deposunu ve SDK bağımlılığını pom.xml dosyanıza ekleyin:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Manuel kurulum tercih ediyorsanız, en son SDK ikili dosyalarını indirme sayfasından indirin. Bağımlılık çözüldükten sonra, kodlamaya başlamaya hazırsınız. Sonraki bölüm, Java’da üstü çizili metin eklemenin her adımını anlatıyor.

Java’da Üstü Çizili Metin İçin Adım Adım Kılavuz

Adım 1: Kaynak Belgeyi Yükleyin

İlk olarak, bir Document örneği oluşturun. Giriş dosyası mevcutsa SDK onu yükler; aksi takdirde yeni boş bir belge oluşturulur.

String inputPath = "input.docx";
Document doc;
File inputFile = new File(inputPath);
if (inputFile.exists()) {
    doc = new Document(inputPath); // loads existing DOCX
} else {
    doc = new Document();          // creates a new blank document
    doc.removeAllChildren();       // ensure it's empty
}

Document sınıfı, API referansı içinde belgelenmiştir.

Adım 2: Normal Paragraf Yaz

DocumentBuilder kullanarak normal bir paragraf ekleyin. Bu, normal metnin üstü çizili ayarlarından etkilenmediğini gösterir.

DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToDocumentEnd();
builder.writeln("This is a normal paragraph.");

Adım 3: Üstü Çizili Biçimlendirmeyi Uygula

Stilize edilmiş metni yazmadan önce builder’ın yazı tipindeki üstü çizili bayrağını etkinleştirin.

builder.getFont().setStrikeThrough(true);
builder.writeln("This text is rendered with strikethrough.");
builder.getFont().setStrikeThrough(false); // reset for subsequent text

Adım 4: Koşullu Üstü Çizili Arama ve Uygulama

Tüm Run nesnelerini yineleyin, “strike” kelimesini bulun ve biçimlendirmeyi programlı olarak uygulayın.

for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
    for (Run run : (Iterable<Run>) para.getChildNodes(NodeType.RUN, true)) {
        String text = run.getText();
        if (text != null && text.toLowerCase().contains("strike")) {
            run.getFont().setStrikeThrough(true);
        }
    }
}

Adım 5: Belgeyi Kaydet

Son olarak, değiştirilmiş belgeyi diske DOCX formatında yazın.

String outputPath = "output.docx";
doc.save(outputPath, SaveFormat.DOCX);

Belge kaydedildikten sonra, output.docx dosyasını açarak üstü çizili stilin beklendiği gibi göründüğünü doğrulayabilirsiniz.

Tam Çalışan Örnek: Üstü Çizili Metin Java Örneği

Aşağıdaki kod, Java’da Conholdate.Total kullanarak üstü çizili metin ekleme sürecinin tamamını gösterir.

import com.aspose.words.*;

import java.io.File;

public class StrikethroughExample {
    public static void main(String[] args) {
        String inputPath = "input.docx";
        String outputPath = "output.docx";

Document doc = null;
        try {
            File inputFile = new File(inputPath);
            if (inputFile.exists()) {
                doc = new Document(inputPath);
            } else {
                doc = new Document();
                doc.removeAllChildren();
            }

DocumentBuilder builder = new DocumentBuilder(doc);
            builder.moveToDocumentEnd();

builder.writeln("This is a normal paragraph.");

builder.getFont().setStrikeThrough(true);
            builder.writeln("This text is rendered with strikethrough.");
            builder.getFont().setStrikeThrough(false);

for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
                for (Run run : (Iterable<Run>) para.getChildNodes(NodeType.RUN, true)) {
                    String text = run.getText();
                    if (text != null && text.toLowerCase().contains("strike")) {
                        run.getFont().setStrikeThrough(true);
                    }
                }
            }

doc.save(outputPath, SaveFormat.DOCX);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (doc != null) {
                doc = null;
            }
        }
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.

Üstü Çizili Stil Seçeneklerini İnce Ayarlama

SDK, renk, boyut ve alt çizgi gibi ek yazı tipi özelliklerini kontrol etmenizi sağlar ve üzeri çizili bayrağını etkin tutar. Örneğin, üzeri çizili metnin rengini değiştirebilirsiniz:

builder.getFont().setColor(java.awt.Color.RED);
builder.getFont().setStrikeThrough(true);
builder.writeln("Important deletion highlighted in red.");

Birçok koşula aynı stili uygulamanız gerekiyorsa, tekrarlayan özellik ayarlamaktan kaçınmak için yeniden kullanılabilir bir Font örneği oluşturmayı ve bunu her Run‘a atamayı düşünün.

Üstü Çizili Render İşlemi için Performans Düşünceleri

  1. Document nesnesini yeniden kullanın - bir belgeyi bir kez yükleyip tüm değişiklikleri tek bir oturumda gerçekleştirmek I/O yükünü azaltır.
  2. Stil değişikliklerini toplu olarak yapın - her karakter için değiştirmek yerine Paragraph veya Run koleksiyonuna strike‑through bayrağını uygulayın.
  3. Gereksiz dolaşımlardan kaçının - “strike” kelimesini arayan koşullu döngü yalnızca dinamik stil gerektiğinde çalıştırılmalıdır.
  4. Mümkün olduğunda akışa çıktı verin - büyük belgeler için doc.save(OutputStream, SaveFormat.DOCX) kullanarak doğrudan bir akışa yazın ve belleği koruyun.

Bu ipuçları, özellikle toplu işte yüzlerce belge işlenirken bellek kullanımını düşük ve yürütme süresini hızlı tutmaya yardımcı olur.

Son Düşünceler

Java’da üstü çizili metin eklemek, Conholdate.Total for Java ile oldukça basittir. SDK’nın akıcı API’si, normal ve biçimlendirilmiş paragrafları karıştırmanıza, koşullu biçimlendirme uygulamanıza ve sonuçları endüstri‑standardı formatlarda kaydetmenize olanak tanır. Maven bağımlılığınızı yapılandırmayı, belge nesnelerini yeniden kullanmayı ve stilleri verimli bir şekilde uygulamayı unutmayın; böylece optimum performans elde edersiniz. Üretim dağıtımları için geçerli bir lisansa ihtiyacınız olacak; fiyatlandırma detayları fiyatlandırma sayfasında mevcuttur ve geçici bir lisans geçici lisans sayfasından alınabilir. İyi kodlamalar!

Sormak İsteyebileceğiniz Sorular

  • Java’da her çalıştırma için bayrağı manuel olarak ayarlamadan üstü çizili metni nasıl uygularım?
    Paragrafı yazmadan önce DocumentBuilder.getFont().setStrikeThrough(true) kullanın. Bayrak, sıfırlayana kadar etkin kalır ve aynı stil ile birden fazla satır yazmanıza olanak tanır.

  • Bir anahtar kelimenin her oluşumunu otomatik olarak üstü çizili yapabilir miyim?
    Evet. Kılavuzda gösterildiği gibi her Run üzerinde yineleyin, anahtar kelime için run.getText() kontrol edin ve eşleşme bulunduğunda run.getFont().setStrikeThrough(true) çağırın.

  • Hangi belge formatları kaydedildiğinde üstü çizili özelliğini korur?
    DOCX, DOC, RTF, ve diğer zengin‑metin formatları üstü çizili özelliğini korur. Tam desteklenen formatlar listesi için resmi dokümantasyona bakın.

  • Birçok üstü çizili stil uygulamak büyük dosyaların işlenmesini yavaşlatır mı?
    Performans ipuçlarını izlerseniz etki minimaldir: Document örneğini yeniden kullanın, stil değişikliklerini toplu yapın ve gereksiz dolaşımlardan kaçının. Bu, bellek kullanımını düşük tutar ve işleme hızını artırır.

İlgili Makaleler