C#'ta Telerik Belge İşleme'den IronPDF'ye Nasıl Geçilir
Telerik Document Processing, Telerik UI takımları ve DevCraft paketlerinin bir parçası olarak gönderilir, geliştiricilere PDF oluşturma yetenekleri Word, Excel ve PowerPoint işleme ile birlikte sunulur. Ancak, modern web standartları geliştikçe ve projeler tam CSS3, Flexbox ve Bootstrap desteği talep ettikçe, geliştirme ekipleri Telerik'in HTML'den PDF'e dönüştürme mimarisindeki sınırlamalar hakkında endişelerini dile getirdi.
Bu kılavuz, gerçek geçiş senaryolarından doğrudan alınan adım adım yönergeler, kod karşılaştırmaları ve pratik örneklerle birlikte Telerik Document Processing'den IronPDF'ye eksiksiz bir geçiş yolu sağlar.
Neden Telerik Document Processing'den Geçilmelidir
Telerik Document Processing'den geçiş kararı genellikle modern web içeriğiyle çalışırken ortaya çıkan teknik sınırlamalardan kaynaklanmaktadır. Bu sınırlamaların anlaşılması, geçiş çabasını haklı çıkarır ve IronPDF'nin çözdüğü konular için beklentileri oluşturur.
Bildirilen Teknik Sınırlamalar
Geliştiriciler, modern HTML ve CSS'yi işleme alırken Telerik Belge İşlemeile ilgili sorunlar bildirmiştir:
| Issue | Etki | IronPDF Çözümü |
|---|---|---|
| CSS ayrıştırma sınırlamaları | Modern CSS çerçeveleri, Bootstrap gibi, başarısız oluyor | Tam Chromium CSS desteği |
| Div'den paragrafa dönüştürme | HTML yapısı düzleşir, düzenler bozulur | Doğrudan HTML render |
| Akış belgesi modeli | Ara dönüşümü zorlar | Yerel HTML'den PDF'ye |
| Harici CSS sorunları | Karmaşık seçiciler yok sayılır | Tam CSS dosya desteği |
| Hafıza sorunları | OutOfMemoryException büyük dosyalarda rapor edildi |
Verimli akış |
Temel Sorun: HTML Doğru Şekilde İşlenmiyor
Telerik Document Processing, PDF üretmeden önce HTML'yi ara bir "Flow Document" modeline dönüştürür. Bu mimari karar, zincirleme sorunlar yaratır:
- HTML yapısını düzleştirir — öğeleri paragrafa dönüşür
- Modern CSS'yi görmezden gelir — Flexbox ve Grid düzenleri tamamen başarısız olur
- Bootstrap bozulur — Sütun sistemleri sütun olarak işlenmez
- Biçimlendirmeyi kaybeder — Karmaşık CSS seçicileri göz ardı edilir
Standart CSS düzenlerini kullanan bu modern HTML düşünün:
<div class="container"> <div class="row"> <div class="col-md-6">Column 1</div> <div class="col-md-6">Column 2</div> </div> </div> <div style="display: flex; gap: 20px;"> <div style="flex: 1;">Flex Item 1</div> <div style="flex: 1;">Flex Item 2</div> </div> <div style="display: grid; grid-template-columns: repeat(3, 1fr);"> <div>Grid Item 1</div> <div>Grid Item 2</div> <div>Grid Item 3</div> </div><div class="container"> <div class="row"> <div class="col-md-6">Column 1</div> <div class="col-md-6">Column 2</div> </div> </div> <div style="display: flex; gap: 20px;"> <div style="flex: 1;">Flex Item 1</div> <div style="flex: 1;">Flex Item 2</div> </div> <div style="display: grid; grid-template-columns: repeat(3, 1fr);"> <div>Grid Item 1</div> <div>Grid Item 2</div> <div>Grid Item 3</div> </div>HTMLTelerik Document Processing'te, tüm bu düzenler ardışık paragraflar olarak işlenir. İki sütunlu Bootstrap düzeni iki satır metin haline gelir. Flexbox öğeleri dikey olarak üst üste biner. CSS Grid öğeleri arka arkaya görünür.
Telerik Document Processing'te Başarısız Olan CSS Özellikleri
Geliştiriciler, kapsamlı CSS uyumluluk sorunlarını belgelemişlerdir:
/* ❌ These CSS features DON'T WORK in Telerik Belge İşleme*/ /* Flexbox -Desteklenmiyor*/ .container { display: flex; } .item { flex: 1; } /* CSS Grid -Desteklenmiyor*/ .grid { display: grid; grid-template-columns: repeat(3, 1fr); } /* Bootstrap columns - Converted to paragraphs */ .col-md-6 { /* Ignored, becomes linear text */ } /* CSS Variables -Desteklenmiyor*/ :root { --primary: #007bff; } .btn { color: var(--primary); } /* Complex selectors - Often ignored */ .container > .row:first-child { } .item:hover { } .content::before { } /* Modern units - Limited support */ .box { width: calc(100% - 20px); } .text { font-size: 1.2rem; }Büyük Belgeler için Performans Raporları
CSS sınırlamaları ötesinde, geliştiriciler, büyük dosyaların işlenmesi sırasında Telerik Belge İşlemeile
OutOfMemoryExceptionhataları bildirmiştir, ayrıca desteklenmeyen renk alanları ve bazı senaryolarda PDF birleştirmesi sırasında çökme sorunları da bildirilmiştir. Yüksek hacimli belge üretimi ile çalışan ekipler, uzun süreli kullanıma girmeden önce değerlendirilmeye değer stabilite sorunları not etmişlerdir.IronPDF vs Telerik Document Processing: Özellik Karşılaştırması
Özellik farklarının anlaşılması, geçiş yatırımını değerlendirmek için teknik karar vericilere yardımcı olur:
Özellik Telerik Belge İşleme IronPDF HTML İşleme Akış Belgesi dönüştürme Doğrudan Chromium işleme CSS3 Desteği Sınırlı, birçok özellik başarısız oluyor Tam CSS3 Flexbox Desteklenmiyor Desteklenen CSS Grid Desteklenmiyor Desteklenen Bootstrap Bozuk (div düzleştirme) Bootstrap 5 dahil desteklenir Dış CSS Kısmi Desteklenen JavaScript Desteklenmiyor Tam destek Büyük Belgeler Bellek sorunları bildirildi Verimli akış API Karmaşıklığı Karmaşık (sağlayıcılar, modeller) Basit (bir sınıf) Lisans Modeli Ticari, DevCraft parçası Basit bağımsız lisanslama Hızlı Başlangıç Geçişi: İlk PDF'iniz için 5 Dakika
Telerik Document Processing'ten IronPDF'ye geçiş hemen başlatılabilir. İşte IronPDF ile ilk PDF'inizi üretmek için en hızlı yol.
1. Adım: NuGet Paketlerini Güncelleyin
Tüm Telerik belge işleme paketlerini kaldırın:
# Remove Telerik packages dotnet remove package Telerik.Documents.Core dotnet remove package Telerik.Documents.Flow dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf dotnet remove package Telerik.Documents.Fixed# Remove Telerik packages dotnet remove package Telerik.Documents.Core dotnet remove package Telerik.Documents.Flow dotnet remove package Telerik.Documents.Flow.FormatProviders.Pdf dotnet remove package Telerik.Documents.FixedSHELLIronPDF'i yükleyin:
# Install IronPDF dotnet add package IronPdf# Install IronPDF dotnet add package IronPdfSHELLAdım 2: Kullanım Açıklamalarını Güncelleyin
Telerik ad alanlarınıIronPDF ad alanı ile değiştirin:
// Before (Telerik Document Processing) using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using Telerik.Documents.Primitives; // After (IronPDF) using IronPdf;// Before (Telerik Document Processing) using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using Telerik.Documents.Primitives; // After (IronPDF) using IronPdf;Imports Telerik.Windows.Documents.Flow.FormatProviders.Html Imports Telerik.Windows.Documents.Flow.FormatProviders.Pdf Imports Telerik.Windows.Documents.Flow.Model Imports Telerik.Documents.Primitives ' After (IronPDF) Imports IronPdf$vbLabelText $csharpLabelAdım 3: Lisans Anahtarını Ekleyin
Uygulama başlangıcında lisansınızı başlatın:
// Add at application startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";// Add at application startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";' Add at application startup IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"$vbLabelText $csharpLabelAdım 4: PDF Üretim Kodunuzu Güncelleyin
Telerik Document Processing'ten IronPDF'ye dönüşüm, kod tabanınızı önemli ölçüde basitleştirir.
Önce (Telerik Document Processing):
using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(htmlContent); PdfFormatProvider pdfProvider = new PdfFormatProvider(); byte[] pdfBytes = pdfProvider.Export(document); File.WriteAllBytes("output.pdf", pdfBytes);using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(htmlContent); PdfFormatProvider pdfProvider = new PdfFormatProvider(); byte[] pdfBytes = pdfProvider.Export(document); File.WriteAllBytes("output.pdf", pdfBytes);Imports Telerik.Windows.Documents.Flow.FormatProviders.Html Imports Telerik.Windows.Documents.Flow.FormatProviders.Pdf Imports Telerik.Windows.Documents.Flow.Model Dim htmlProvider As New HtmlFormatProvider() Dim document As RadFlowDocument = htmlProvider.Import(htmlContent) Dim pdfProvider As New PdfFormatProvider() Dim pdfBytes As Byte() = pdfProvider.Export(document) File.WriteAllBytes("output.pdf", pdfBytes)$vbLabelText $csharpLabelSonrası (IronPDF):
using IronPdf; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf");using IronPdf; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); pdf.SaveAs("output.pdf");Imports IronPdf Dim renderer As New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf(htmlContent) pdf.SaveAs("output.pdf")$vbLabelText $csharpLabelFark hemen fark edilir:IronPDF kodunun 3 satırı, Telerik Belge İşlemekodunun 15'ten fazla satırını değiştirir. Daha da önemlisi,IronPDF sürümü, Telerik'in Flow Document modelinin ele alamadığı modern CSS'yi doğru şekilde işler.
Kod Göç Örnekleri
HTML'yi PDF'ye Dönüştürme
Bu, en yaygın PDF üretim kullanımı senaryosudur. Telerik Belge İşlemeve IronPDF arasındaki mimari farklılıklar bu karşılaştırmada belirginleşir.
Telerik Document Processing Yaklaşımı:
// NuGet: Install-Package Telerik.Documents.Flow // NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using System.IO; string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"; HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(html); PdfFormatProvider pdfProvider = new PdfFormatProvider(); using (FileStream output = File.OpenWrite("output.pdf")) { pdfProvider.Export(document, output); }// NuGet: Install-Package Telerik.Documents.Flow // NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using System.IO; string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"; HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(html); PdfFormatProvider pdfProvider = new PdfFormatProvider(); using (FileStream output = File.OpenWrite("output.pdf")) { pdfProvider.Export(document, output); }Imports Telerik.Windows.Documents.Flow.FormatProviders.Html Imports Telerik.Windows.Documents.Flow.FormatProviders.Pdf Imports Telerik.Windows.Documents.Flow.Model Imports System.IO Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>" Dim htmlProvider As New HtmlFormatProvider() Dim document As RadFlowDocument = htmlProvider.Import(html) Dim pdfProvider As New PdfFormatProvider() Using output As FileStream = File.OpenWrite("output.pdf") pdfProvider.Export(document, output) End Using$vbLabelText $csharpLabelIronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf using IronPdf; string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf");// NuGet: Install-Package IronPdf using IronPdf; string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("output.pdf");Imports IronPdf Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>" Dim renderer As New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf(html) pdf.SaveAs("output.pdf")$vbLabelText $csharpLabelTelerik sürümü, bir
HtmlFormatProvideroluşturmayı, birRadFlowDocument'e aktarmayı, birPdfFormatProvideroluşturmayı ve dosya akışlarını manuel olarak yönetmeyi gerektirir. IronPDF'ninChromePdfRenderertüm süreci tek bir yöntem çağrısıyla ele alır.Daha gelişmiş HTML'den PDF'ye senaryolar için HTML to PDF dönüşüm kılavuzuna bakın.
URL'leri PDF'ye Dönüştürme
Web sayfalarını PDF olarak yakalamak, kütüphaneler arasında başka bir önemli farkı ortaya koyar.
Telerik Document Processing Yaklaşımı:
// NuGet: Install-Package Telerik.Documents.Flow // NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using System.IO; using System.Net.Http; using System.Threading.Tasks; string url = "https://example.com"; using HttpClient client = new HttpClient(); string html = await client.GetStringAsync(url); HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(html); PdfFormatProvider pdfProvider = new PdfFormatProvider(); using (FileStream output = File.OpenWrite("webpage.pdf")) { pdfProvider.Export(document, output); }// NuGet: Install-Package Telerik.Documents.Flow // NuGet: Install-Package Telerik.Documents.Flow.FormatProviders.Pdf using Telerik.Windows.Documents.Flow.FormatProviders.Html; using Telerik.Windows.Documents.Flow.FormatProviders.Pdf; using Telerik.Windows.Documents.Flow.Model; using System.IO; using System.Net.Http; using System.Threading.Tasks; string url = "https://example.com"; using HttpClient client = new HttpClient(); string html = await client.GetStringAsync(url); HtmlFormatProvider htmlProvider = new HtmlFormatProvider(); RadFlowDocument document = htmlProvider.Import(html); PdfFormatProvider pdfProvider = new PdfFormatProvider(); using (FileStream output = File.OpenWrite("webpage.pdf")) { pdfProvider.Export(document, output); }Imports Telerik.Windows.Documents.Flow.FormatProviders.Html Imports Telerik.Windows.Documents.Flow.FormatProviders.Pdf Imports Telerik.Windows.Documents.Flow.Model Imports System.IO Imports System.Net.Http Imports System.Threading.Tasks Module Module1 Sub Main() Dim url As String = "https://example.com" Using client As New HttpClient() Dim html As String = Await client.GetStringAsync(url) Dim htmlProvider As New HtmlFormatProvider() Dim document As RadFlowDocument = htmlProvider.Import(html) Dim pdfProvider As New PdfFormatProvider() Using output As FileStream = File.OpenWrite("webpage.pdf") pdfProvider.Export(document, output) End Using End Using End Sub End Module$vbLabelText $csharpLabelIronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf using IronPdf; string url = "https://example.com"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf(url); pdf.SaveAs("webpage.pdf");// NuGet: Install-Package IronPdf using IronPdf; string url = "https://example.com"; var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf(url); pdf.SaveAs("webpage.pdf");Imports IronPdf Dim url As String = "https://example.com" Dim renderer As New ChromePdfRenderer() Dim pdf = renderer.RenderUrlAsPdf(url) pdf.SaveAs("webpage.pdf")$vbLabelText $csharpLabelTelerik Document Processing'in yerel URL'den PDF'ye dönüştürme yeteneği yoktur. HTML içeriğini
HttpClientkullanarak manuel olarak getirmelisiniz, bu süreçte dış CSS, JavaScript yürütmesi ve dinamik içerik kaybolur. IronPDF'ninRenderUrlAsPdfyöntemi, tarayıcıda göründüğü gibi tam olarak işlenmiş sayfayı yakalar.URL to PDF belgelerini kimlik doğrulama ve özel başlıklar dahil olmak üzere ek seçenekler için inceleyin.
Birden Fazla PDF'yi Birleştirme
PDF birleştirme, bu .NET PDF kütüphaneleri arasındaki ayrıntılardaki farkı ortaya koyar.
Telerik Document Processing Yaklaşımı:
// NuGet: Install-Package Telerik.Documents.Fixed using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf; using Telerik.Windows.Documents.Fixed.Model; using System.IO; PdfFormatProvider provider = new PdfFormatProvider(); RadFixedDocument document1; using (FileStream input = File.OpenRead("document1.pdf")) { document1 = provider.Import(input); } RadFixedDocument document2; using (FileStream input = File.OpenRead("document2.pdf")) { document2 = provider.Import(input); } RadFixedDocument mergedDocument = new RadFixedDocument(); foreach (var page in document1.Pages) { mergedDocument.Pages.Add(page); } foreach (var page in document2.Pages) { mergedDocument.Pages.Add(page); } using (FileStream output = File.OpenWrite("merged.pdf")) { provider.Export(mergedDocument, output); }// NuGet: Install-Package Telerik.Documents.Fixed using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf; using Telerik.Windows.Documents.Fixed.Model; using System.IO; PdfFormatProvider provider = new PdfFormatProvider(); RadFixedDocument document1; using (FileStream input = File.OpenRead("document1.pdf")) { document1 = provider.Import(input); } RadFixedDocument document2; using (FileStream input = File.OpenRead("document2.pdf")) { document2 = provider.Import(input); } RadFixedDocument mergedDocument = new RadFixedDocument(); foreach (var page in document1.Pages) { mergedDocument.Pages.Add(page); } foreach (var page in document2.Pages) { mergedDocument.Pages.Add(page); } using (FileStream output = File.OpenWrite("merged.pdf")) { provider.Export(mergedDocument, output); }Imports Telerik.Windows.Documents.Fixed.FormatProviders.Pdf Imports Telerik.Windows.Documents.Fixed.Model Imports System.IO Dim provider As New PdfFormatProvider() Dim document1 As RadFixedDocument Using input As FileStream = File.OpenRead("document1.pdf") document1 = provider.Import(input) End Using Dim document2 As RadFixedDocument Using input As FileStream = File.OpenRead("document2.pdf") document2 = provider.Import(input) End Using Dim mergedDocument As New RadFixedDocument() For Each page In document1.Pages mergedDocument.Pages.Add(page) Next For Each page In document2.Pages mergedDocument.Pages.Add(page) Next Using output As FileStream = File.OpenWrite("merged.pdf") provider.Export(mergedDocument, output) End Using$vbLabelText $csharpLabelIronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf using IronPdf; var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf");// NuGet: Install-Package IronPdf using IronPdf; var pdf1 = PdfDocument.FromFile("document1.pdf"); var pdf2 = PdfDocument.FromFile("document2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf");Imports IronPdf Dim pdf1 = PdfDocument.FromFile("document1.pdf") Dim pdf2 = PdfDocument.FromFile("document2.pdf") Dim merged = PdfDocument.Merge(pdf1, pdf2) merged.SaveAs("merged.pdf")$vbLabelText $csharpLabelTelerik sürümü, her belgeyi ayrı ayrı ithal etmeyi, sayfaları manuel olarak yineleyerek yeni bir belgeye eklemeyi ve birden fazla dosya akışını yönetmeyi gerektirir. IronPDF'nin
PdfDocument.Merge()yöntemi her şeyi tek bir çağrıda ele alır.Seçici sayfa çıkartma dahil gelişmiş birleştirme senaryoları için birleştirme ve parçalama PDF kılavuzuna bakın.
Telerik Belge İşlemeAPI'den IronPDF'ye Eşleme
Bu referans tablosu doğrudan API eşdeğerlerini göstererek geçişi hızlandırır:
Telerik Belge İşleme IronPDF HtmlFormatProviderChromePdfRendererRadFlowDocumentGerekli değil PdfFormatProviderpdf.SaveAs()RadFlowDocumentEditorHTML manipülasyonu SectionHTML ParagraphHTML PdfExportSettingsRenderingOptionsRadFixedDocumentPdfDocumentManuel sayfa yinelemesi PdfDocument.Merge()Başlıklar ve Altbilgileri Ele Alma
Telerik Document Processing, başlıklar ve altbilgiler için programatik bir model kullanır. IronPDF, dinamik yer tutucularla HTML tabanlı başlıklar sağlar.
Telerik Belge İşleme:
section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text"); section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text"); section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text");section.Headers.Default.Blocks.AddParagraph().Inlines.AddRun("Header Text") section.Footers.Default.Blocks.AddParagraph().Inlines.AddRun("Footer Text")$vbLabelText $csharpLabelIronPDF:
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center;'>Header Text</div>", MaxHeight = 25 }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center;'>Footer Text</div>", MaxHeight = 25 };renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center;'>Header Text</div>", MaxHeight = 25 }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { HtmlFragment = "<div style='text-align:center;'>Footer Text</div>", MaxHeight = 25 };Imports System renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With { .HtmlFragment = "<div style='text-align:center;'>Header Text</div>", .MaxHeight = 25 } renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With { .HtmlFragment = "<div style='text-align:center;'>Footer Text</div>", .MaxHeight = 25 }$vbLabelText $csharpLabelIronPDF'nin HTML tabanlı yaklaşımı, başlıklar ve altbilgilerde tam CSS stili ve sayfa numaraları ile tarihler için dinamik yer tutucular sağlar. Başlıklar ve altbilgiler belgelerinde daha fazlasını öğrenin.
Birim Dönüşümü: DIPs'ten Milimetrelere
Telerik Document Processing, ölçümler için cihazdan bağımsız pikseller (DIP) kullanır.IronPDF milimetre kullanır. Bu, geçiş sırasında dönüştürmeyi gerektirir:
// Telerik uses DIPs (device-independent pixels) //IronPDF uses millimeters // 1 inch = 25.4mm renderer.RenderingOptions.MarginTop = 25.4; // 1 inch renderer.RenderingOptions.MarginBottom = 25.4; // Or use the helper method for paper size renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);// Telerik uses DIPs (device-independent pixels) //IronPDF uses millimeters // 1 inch = 25.4mm renderer.RenderingOptions.MarginTop = 25.4; // 1 inch renderer.RenderingOptions.MarginBottom = 25.4; // Or use the helper method for paper size renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11);' Telerik uses DIPs (device-independent pixels) ' IronPDF uses millimeters ' 1 inch = 25.4mm renderer.RenderingOptions.MarginTop = 25.4 ' 1 inch renderer.RenderingOptions.MarginBottom = 25.4 ' Or use the helper method for paper size renderer.RenderingOptions.SetCustomPaperSizeInInches(8.5, 11)$vbLabelText $csharpLabelTelerik Belge İşlemeGeçiş Kontrol Listesi
Geçiş Öncesi Görevler
Kod tabanınızı tüm Telerik Belge İşlemekullanımını belirlemek için inceleyin:
grep -r "using Telerik.Windows.Documents" --include="*.cs" . grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .grep -r "using Telerik.Windows.Documents" --include="*.cs" . grep -r "RadFlowDocument\|HtmlFormatProvider\|PdfFormatProvider" --include="*.cs" .SHELLKullanılan biçim sağlayıcıları, başlık/altbilgi yapılandırmaları, özel sayfa ayarları ve herhangi bir Flow Document modeli değişiklikleri dahil mevcut uygulamaları belgeleyin.
Göç Sırasında
- Telerik NuGet paketlerini kaldırın 2.IronPDF NuGet paketini yükleyin
- Kullanım bildirimlerini
Telerik.Windows.Documents'denIronPdf'ye güncelleyin - Başlangıçta lisans anahtarı başlatma ekleyin
HtmlFormatProvider'iChromePdfRendererile değiştirinRadFlowDocumentara basamakları kaldırınPdfFormatProviderçıktıları doğrudanSaveAs()çağrıları ile değiştirin- Başlıkları/altbilgileri
HtmlHeaderFooterkullanacak şekilde güncelleyin - Sayfa ayarlarını
RenderingOptionsbiçimine dönüştürün - Marj birimlerini DIPs'tan milimetrelere güncelleyin
Geçiş Sonrası Doğrulama
Geçişten sonra, bu iyileştirmeleri doğrulayın:
- CSS işleme önemli ölçüde iyileşmelidir
- Bootstrap düzenleri doğru şekilde işlenmelidir (Telerik'te böyle değil)
- Flexbox ve Grid düzenleri çalışmalıdır (Telerik'te çalışmaz)
- Dinamik içerikler için JavaScript çalıştırma işlevi sağlanmalıdır
- Büyük belge üretimi bellek istisnaları olmadan tamamlanmalıdır
IronPDF'e Geçmenin Temel Faydaları
Telerik Document Processing'ten IronPDF'ye geçmek hemen faydalar sağlar:
Modern Chromium İşleme Motoru: IronPDF, aynı işleme motorunu Google Chrome gibi kullanır, bu da PDF'lerin modern tarayıcılarda görünen içerik gibi doğru şekilde işlenmesini sağlar. Bu, Telerik'in Flow Document modeline özgü CSS uyumluluk sorunlarını ortadan kaldırır.
Tam CSS3 ve JavaScript Desteği: Flexbox, Grid, Bootstrap 5, CSS değişkenleri ve modern JavaScript hepsi doğru şekilde çalışarak, çağdaş web standartlarıyla uyumluluğu sağlar.
Daha Basit API: Daha az kod satırı, ara belge modelleri olmadan ve sezgisel yöntem adları geliştirme süresini kısaltır ve bakım yükünü azaltır.
Bağımsız Lisanslama: IronPDF, kapsamlı bir paket satın alımı gerektirmeyen basit bir lisanslama sunar, yalnızca PDF yetenekleri ihtiyacı olan ekipler için maliyet-etkin bir çözüm sağlar.
Aktif Geliştirme: Düzenli güncellemeler mevcut ve gelecekteki .NET sürümleri, güvenlik yamaları ve özellik iyileştirmeleri ile uyumluluğu sağlar.
Lütfen dikkate alınTelerik, ilgili sahibinin tescilli ticari markasıdır. Bu site, Progress Software ile ilişkili, onaylanmış veya desteklenmiş değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

