Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

C#'ta Telerik Belge İşleme'den IronPDF'ye Nasıl Geçilir

Telerik Doküman İşleme, DevCraft paketinin bir parçası olarak, geliştiricilere PDF oluşturma yetenekleri sunarak .NET ekosistemine hizmet etmiştir. Ancak, modern web standartları geliştikçe ve projeler tam CSS3, Flexbox ve Bootstrap desteği talep ettikçe, birçok geliştirme ekibi Telerik'in HTML'den PDF'e dönüştürme mimarisindeki temel sınırlamaları keşfediyor.

Bu kılavuz, gerçek geçiş senaryolarından doğrudan alınmış adım adım talimatlar, kod karşılaştırmaları ve pratik örneklerle, Telerik Document Processing'den IronPDF'e tam bir geçiş yolu sunar.

Telerik Document Processing'den Neden Geçiş Yapmalısınız?

Telerik Document Processing'den geçiş kararı, genellikle modern web içeriği ile çalışırken belirginleşen teknik sınırlardan kaynaklanır. Bu sınırlamaları anlamak, geçiş çabasını haklı çıkarır ve IronPDF'nin çözdüğü konular için beklentileri belirler.

Kritik Teknik Sınırlamalar

Telerik Document Processing, modern HTML ve CSS ile çalışırken temel sorunlara sahiptir:

Sorun Etkisi IronPDF Çözümü
CSS ayrıştırma sınırlamaları Bootstrap gibi modern CSS çerçeveleri başarısız Tam Chromium CSS desteği
Div'den paragrafa dönüştürme HTML yapısı düzleştirilmiş, düzenler bozulur Dogrudan HTML rendering
Akış belge modeli Ara dönüşüme zorlar Yerel HTML'den PDF'e
Harici CSS sorunları Karmaşık seçiciler yok sayılır Tam CSS dosya desteği
Bellek sorunları Büyük belgelerde OutOfMemoryException Etkili akış

Temel Sorun: HTML Doğru Şekilde İşlenmiyor

Telerik Document Processing, PDF oluşturmadan önce HTML'yi bir ara "Akış Belgesi" modeline dönüştürür. Bu mimari karar, zincirleme sorunlar yaratır:

  1. HTML yapısını düzleştirir<div> öğeleri paragraflara dönüşür
  2. Modern CSS'i yok sayar — Flexbox ve Grid düzenleri tamamen başarısız olur
  3. Bootstrap'u bozar — Sütun sistemleri sütun olarak işlenmez
  4. Biçimlendirmeyi kaybeder — Karmaşık CSS seçiciler göz ardı edilir

Standart CSS düzenleri kullanan bu modern HTML'yi 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>
HTML

Telerik Document Processing'de, tüm bu düzenler ardışık paragraflar olarak işlenir. İki sütunlu Bootstrap düzeni iki metin satırı haline gelir. Flexbox öğeleri dikey olarak yığılır. CSS Grid öğeleri ardışık olarak görünür.

Telerik Document Processing'de Başarısız Olan CSS Özellikleri

Geliştiriciler geniş kapsamlı CSS uyumluluk sorunlarını belgelemişlerdir:

/* ❌ These CSS features DON'T WORK inTelerik 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 Belgelerle Performans Sorunları

CSS sınırlamalarının ötesinde,Telerik Belge İşlemebüyük dosyaları işlerken OutOfMemoryException hatalarını belgeledi. Yüksek hacimli belge oluşturma ile çalışan geliştirme ekipleri, diğer kütüphanelerin daha verimli bir şekilde ele alabileceği kararlılık sorunları ile karşılaşmıştır.

IronPDF vs Telerik Document Processing: Özellik Karşılaştırması

Özellik farklarını anlamak, teknik karar alıcıların geçiş yatırımını değerlendirmelerine yardımcı olur:

Özellik Telerik Belge İşleme IronPDF
HTML İşleme Akış Belgesi dönüştürme Doğrudan Chromium render
CSS3 Desteği Sınırlı, birçok özellik başarısız Tam CSS3
Flexbox Desteklenmiyor Desteklenir
CSS Grid Desteklenmiyor Desteklenir
Bootstrap Bozuk (div düzleme) Bootstrap 5 dahil olmak üzere desteklenmektedir
Harici CSS Kısmen Desteklenir
JavaScript Desteklenmiyor Tam ES2024 desteği
Buyuk Belgeler Bellek sorunları Etkili akış
API Karmaşıklığı Karmaşık (sağlayıcılar, modeller) Basit (tek bir sınıf)
Lisans Modeli Ticari, DevCraft'ın parçası Basit bağımsız lisanslama

Hızlı Başlangıç Geçişi: İlk PDF'nize 5 Dakikada Ulaşın

Telerik Document Processing'den IronPDF'e geçiş hemen başlayabilir.IronPDFile ilk PDF'nizi oluşturmanın en hızlı yolu burada.

Adım 1: 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.Fixed
SHELL

IronPDF'i yükleyin:

# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
SHELL

Adım 2: Kullanım İfadelerini 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   $csharpLabel

Adı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   $csharpLabel

Adım 4: PDF Oluşturma Kodunuzu Güncelleyin

Telerik Document Processing'den IronPDF'e geçiş, kod tabanınızı önemli ölçüde basitleştirir.

Önceki (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   $csharpLabel

Sonra (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   $csharpLabel

Fark hemen belirginleşiyor:IronPDFkodunun 3 satırı,Telerik Belge İşlemekodunun 15+ satırının yerine geçer. Daha da önemlisi,IronPDFsürümü, Telerik'in Akış Belgesi modelinin ele alamadığı modern CSS'i doğru bir şekilde işleyecektir.

Kod Geçiş Örnekleri

HTML'i PDF'ye Dönüştürme

Bu, PDF oluşturma için en yaygın kullanım senaryosudur.Telerik Belge İşlemeveIronPDFarasındaki mimari farklılıklar bu karşılaştırmada netleş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   $csharpLabel

IronPDF 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   $csharpLabel

Telerik sürümü bir HtmlFormatProvider oluşturmayı, bir RadFlowDocument'e ithal etmeyi, bir PdfFormatProvider oluşturmayı ve dosya akışlarını elle yönetmeyi gerektirir. IronPDF'nin ChromePdfRenderer'si tüm süreci tek bir yöntem çağrısıyla yönetir.

Daha ileri HTML'den PDF'e senaryoları için, HTML'den PDF'e dönüştürme kılavuzuna bakın.

URL'leri PDF'ye Dönüştürme

Web sayfalarını PDF olarak yakalamak, kütüphaneler arasındaki diğer önemli bir farkı ortaya çıkarır.

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   $csharpLabel

IronPDF 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   $csharpLabel

Telerik Document Processing'in yerel URL'den PDF'e dönüştürme yeteneği yoktur. HttpClient kullanarak HTML içeriğini manuel olarak almanız gerekir, bu süreçte dış CSS, JavaScript çalıştırması ve dinamik içerik kaybolur. IronPDF'nin RenderUrlAsPdf yöntemi, tarayıcıda göründüğü gibi tamamen işlenmiş sayfayı yakalar.

Kimlik doğrulama ve özel başlıklar dahil ek seçenekler için URL'den PDF'e belgelerine göz atın.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, bu .NET PDF kütüphaneleri arasındaki detay farkını gösterir.

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   $csharpLabel

IronPDF 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   $csharpLabel

Telerik versiyonu, her belgiyi ayrı ayrı içe aktarmayı, sayfalar arasında manuel gezinmeyi, bunları yeni bir belgeye eklemeyi ve birden çok 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 çıkarma dahil ileri birleştirme senaryoları için PDF'leri birleştir ve parçala kılavuzuna bakın.

Telerik Belge İşlemeAPI'denIronPDFEşlemeleri

Bu referans tablosu, doğrudan API eşdeğerlerini göstererek geçişi hızlandırır:

Telerik Belge İşleme IronPDF
HtmlFormatProvider ChromePdfRenderer
RadFlowDocument Gerekli değil
PdfFormatProvider pdf.SaveAs()
RadFlowDocumentEditor HTML düzenleme
Section HTML <section>
Paragraph HTML <p>
PdfExportSettings RenderingOptions
RadFixedDocument PdfDocument
Manuel sayfa iterasyonu PdfDocument.Merge()

Başlık ve Altlıkları Ele Alma

Telerik Document Processing başlık ve altlıklar için programatik bir model kullanır.IronPDFdinamik yer tutucular ile HTML tabanlı başlıklar sağlar.

Telerik Document Processing:

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   $csharpLabel

IronPDF:

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   $csharpLabel

IronPDF'in HTML tabanlı yaklaşımı, başlık ve altlıklarda tam CSS stilini, ayrıca sayfa numaraları ve tarihler için dinamik yer tutucular sağlar. Daha fazla bilgi için başlık ve altlık belgelerine bakın.

Birim Dönüşümü: DIPs'ten Milimetreye

Telerik Document Processing ölçümler için cihazdan bağımsız pikseller (DIPs) kullanır.IronPDFise milimetreleri kullanır. Bu, geçiş sırasında dönüştürme gerektirir:

// Telerik uses DIPs (device-independent pixels)
//IronPDFuses 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)
//IronPDFuses 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   $csharpLabel

Telerik Belge İşlemeGeçiş Kontrol Listesi

Ön Taşınma Görevleri

Kod tabanınızda, tümTelerik Belge İşlemekullanımını tanımlamak için denetim yapın:

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" .
SHELL

Kullanılan format sağlayıcılar, başlık/altlık yapılandırmaları, özel sayfa ayarları ve herhangi bir Akış Belgesi modeli değişiklikleri dahil mevcut uygulamaları belgeler.

Göç Sırasında

  1. Telerik NuGet paketlerini kaldırın
  2. IronPdf NuGet paketini kurun
  3. Telerik.Windows.Documents'den IronPdf'a 'using' deyimlerini güncelleyin
  4. Başlangıçta lisans anahtarı başlatma ekleyin
  5. HtmlFormatProvider'i ChromePdfRenderer ile değiştirin
  6. RadFlowDocument ara adımları kaldırın
  7. PdfFormatProvider ihracatları doğrudan SaveAs() çağrılarıyla değiştirin
  8. Üstbilgi/altbilgileri HtmlHeaderFooter kullanacak şekilde güncelleyin
  9. Sayfa ayarlarını RenderingOptions'e dönüştürün
  10. Kenar boşluğu birimlerini DIPs'ten milimetrelere güncelleyin

Geçiş Sonrası Doğrulama

Geçişten sonra, bu geliştirmeleri doğrulayın:

  • CSS işleme önemli derecede iyileşmiş olmalıdır
  • Bootstrap düzenleri doğru şekilde işlenmelidir (Telerik'te işlerlenmez)
  • Flexbox ve Grid düzenleri çalışmalıdır (Telerik'te çalışmaz)
  • Dinamik içerik için JavaScript çalışmalıdır
  • Büyük belge üretimi bellek istisnaları olmadan tamamlanmalıdır

IronPDF'e Geçişin Temel Avantajları

Telerik Document Processing'den IronPDF'e geçiş, anında avantajlar sağlar:

Modern Chromium İşleme Motoru: IronPDF, Google Chrome ile aynı işleme motorunu kullanarak, PDF'lerin modern tarayıcılarda içerik göründüğü gibi işlenmesini sağlar. Bu, Telerik'in Akış Belgesi modelindekinden ibaret olan 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 düzgün çalışır. 2026'ya kadar .NET 10 ve C# 14'ün benimsenmesi arttıkça, IronPDF'in modern işleme motoru, çağdaş web standartlarına uyumluluğu sağlar.

Daha Basit API: Daha az kod satırı, ara belge modelleri yok, ve sezgisel yöntem adları geliştirme süresini ve bakım yükünü azaltır.

Bağımsız Lisanslama: IronPDF, kapsamlı bir paket satın almayı gerektirmeyen, yalnızca PDF yeteneklerine ihtiyaç duyan ekipler için uygun maliyetli bir çözüm sunar.

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara