PDF Oluşturmada Özel Tireleme Nasıl Eklenir?

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

C# PDF oluşturmada özel tireleme, dar sütunlarda, faturalar, sözleşmeler ve çok dilli raporlarda uygunsuz boşlukları, kelime taşmalarını ve kötü metin kaydırmayı düzeltmeye yardımcı olur. Bir PDF işlemcisi doğru tireleme kalıplarını uygulamadığında, hizalanmış metin büyük boşluklar bırakabilir veya satırlar arasında kötü bölünebilir.

IronPDF'de, tireleme HTML- PDF işleme sırasında Chromium motoru aracılığıyla ele alınır, bir Kelime stili belge nesne modeli aracılığıyla değil. CSS hyphens: auto özelliği, söz dizimine uygun kesme yerlerinde kelimelerin bölünmesine izin verir ve IronPDF, PDF oluşturma sırasında bu davranışı uygular. CustomHyphenation özelliği, ChromePdfRenderOptions içinde hangi tireleme desenlerinin kullanılacağını kontrol eder.

Kalıp dosyaları TeX formatını kullanır ve yerel bir dosya yolundan veya uzak bir URL'den yüklenebilir. Bu, farklı diller ve belge düzenleri için özel tireleme kurallarını tanımlamayı, nihai PDF'deki kelime kesmeler üzerinde daha fazla kontrol sağlamayı mümkün kılar.

Bu kılavuz, C# dilinde CustomHyphenationDefinitions API'sinin nasıl kullanılacağını açıklar, yerel ve uzak desen yüklemeleri, yedek davranış, sınırlamalar, hata işleme ve önbellekleme dahil.


NuGet NuGet ile Yükle

PM >  Install-Package IronPdf

IronPDF üzerine NuGet için hızlı bir kurulum kontrol edin. 10 milyondan fazla indirme ile C# ile PDF geliştirmesini dönüştürüyor. DLL veya Windows yükleyicisini de indirebilirsiniz.

Hızlı Başlangıç

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçasını kopyalayıp çalıştırın.

    using IronPdf;
    
    // Create renderer and assign custom hyphenation patterns from a remote URL
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CustomHyphenation = new CustomHyphenationDefinitions
    {
        PatternSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.pat.txt",
        ExceptionSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.hyp.txt"
    };
    
    // Render HTML with CSS hyphens:auto to trigger word breaking
    var pdf = renderer.RenderHtmlAsPdf("<div style='text-align:justify; hyphens:auto; width:120px;'>Supercalifragilisticexpialidocious</div>");
    pdf.SaveAs("hyphenated.pdf");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

Minimal İş Akışı

  1. IronPDF NuGet paketini yükleyin
  2. Bir ChromePdfRenderer örneği oluşturun
  3. RenderingOptions.CustomHyphenation yeni bir CustomHyphenationDefinitions ile PatternSource yolu veya URL'sine ayarlayın
  4. HTML içeriğinin CSS'sine hyphens: auto ekleyin
  5. RenderHtmlAsPdf çağırın ve sonucu kaydedin

PDF İşlemede Özel Tireleme Nasıl Çalışır?

CustomHyphenationDefinitions sınıfı, IronPDF'nin render işlemi sırasında tireleme kurallarını nereden yüklediğini tanımlar. Chrome motoru bu desenleri okur ve bir HTML elemanında CSS hyphens: auto kuralı bulunduğunda uygular.

CustomHyphenationDefinitions Sınıfı Nedir?

Sınıf iki özelliği açığa çıkarır:

Tablo 1: CustomHyphenationDefinitions Özellikleri
ÖzellikTürGerekliAçıklama
PatternSourcestringEvetYeni tireleme deseni dosyasının yolu veya URL'si (örneğin, hyph-en-us.pat.txt)
ExceptionSourcestringHayırYeni tireleme istisna dosyasının yolu veya URL'si (örneğin, hyph-en-us.hyp.txt)

Desen dosyaları, GitHub'daki tex-hyphen projesi tarafından sürdürülen TeX tireleme formatını takip eder. Her dilin depoda iki dosyası vardır: Model kuralları için hyph-{lang}.pat.txt ve istisna listesi için hyph-{lang}.hyp.txt. GitHub üzerinde barındırılan dosyalara referans verirken, ham içerik URL'si (https://raw.githubusercontent.com/ ile başlayan) gereklidir — standart bir GitHub sayfası URL'si HTML döndürür, model metni değil.

Özel Tireleme Yerleşik Dil Ayarını Nasıl Geçersiz Kılar?

HyphenationLanguage adlı enum, ChromePdfRenderOptions üzerinde İngilizce (ABD), İngilizce (İngiltere) ve Rusça için yerleşik ayarlar sağlar. CustomHyphenation özelliği, ikisi de ayarlandığında bu enumdan daha öncelikle uygulanır, belirgin bir öncelik zincirini izler:

  1. CustomHyphenation — geçerli bir PatternSource ile ayarlanmışsa, özel desenler kullanılır
  2. HyphenationLanguage — eğer özel desenler ayarlanmamışsa, yerleşik dil ön ayarı uygulanır
  3. Hayırne — eğer hiçbiri ayarlanmamışsa, tireleme gerçekleşmez

Özel Desen Yüklenmesi Başarısız Olduğunda Ne Olur?

Desen yükleme sırasında oluşan hatalar kaydedilir ancak istisna oluşturmaz. Render işlemi, başarısız olmaktan ziyade tireleme olmadan devam eder. Eğer bir HyphenationLanguage değeri de yapılandırılmışsa, render işlemi bu yerleşik ön ayara döner.

Bu sessiz başarısızlık davranışı, üretim ortamları için kasıtlı bir tasarım seçimidir. Bir ağ zaman aşımı uzaktan bir desen dosyası alırken, geçersiz bir dosya yolu, bir DNS çözümleme hatası veya bozuk desen içeriği render hattını çökertmez. PDF hala oluşturulur — sadece tireleme kelime kırılmaları yoktur.

Takas, görünürlük. İlk yüklemede kötü bir desen dosyası veya erişilemez bir URL, aynı kaynak değerlerini kullanan her sonraki renderi sessizce etkiler (çünkü önbellek başarısızlık durumunu da saklar). Öneri, desen dosyalarını doğrulamak ve uygulama başlatılmasında veya CI/CD dağıtım kontrollerinde uzak URL'lere erişimi onaylamaktır — render süresinde değil.