PDF Oluşturmada Özel Tireleme Nasıl Eklenir?
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.
Hızlı Başlangıç
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronPdf yükleyin
PM > Install-Package IronPdf -
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"); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronPDF kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı
- IronPDF NuGet paketini yükleyin
- Bir
ChromePdfRendererörneği oluşturun RenderingOptions.CustomHyphenationyeni birCustomHyphenationDefinitionsilePatternSourceyolu veya URL'sine ayarlayın- HTML içeriğinin CSS'sine
hyphens: autoekleyin 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:
| Özellik | Tür | Gerekli | Açıklama |
|---|---|---|---|
PatternSource | string | Evet | Yeni tireleme deseni dosyasının yolu veya URL'si (örneğin, hyph-en-us.pat.txt) |
ExceptionSource | string | Hayır | Yeni 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:
- CustomHyphenation — geçerli bir PatternSource ile ayarlanmışsa, özel desenler kullanılır
- HyphenationLanguage — eğer özel desenler ayarlanmamışsa, yerleşik dil ön ayarı uygulanır
- 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.

