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

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:

  1. HTML yapısını düzleştirir
    öğeleri paragrafa dönüşür
  2. Modern CSS'yi görmezden gelir — Flexbox ve Grid düzenleri tamamen başarısız olur
  3. Bootstrap bozulur — Sütun sistemleri sütun olarak işlenmez
  4. 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>
HTML

Telerik 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 OutOfMemoryException hataları 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.Fixed
SHELL

IronPDF'i yükleyin:

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

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

Sonrası (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 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   $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 aktarmayı, bir PdfFormatProvider oluşturmayı ve dosya akışlarını manuel olarak yönetmeyi gerektirir. IronPDF'nin ChromePdfRenderer tü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   $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'ye dönüştürme yeteneği yoktur. HTML içeriğini HttpClient kullanarak manuel olarak getirmelisiniz, bu süreçte dış CSS, JavaScript yürütmesi ve dinamik içerik kaybolur. IronPDF'nin RenderUrlAsPdf yö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   $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 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
HtmlFormatProvider ChromePdfRenderer
RadFlowDocument Gerekli değil
PdfFormatProvider pdf.SaveAs()
RadFlowDocumentEditor HTML manipülasyonu
Section HTML
Paragraph HTML

PdfExportSettings RenderingOptions
RadFixedDocument PdfDocument
Manuel 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   $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'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   $csharpLabel

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

Kullanı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

  1. Telerik NuGet paketlerini kaldırın 2.IronPDF NuGet paketini yükleyin
  2. Kullanım bildirimlerini Telerik.Windows.Documents 'den IronPdf 'ye güncelleyin
  3. Başlangıçta lisans anahtarı başlatma ekleyin
  4. HtmlFormatProvider 'i ChromePdfRenderer ile değiştirin
  5. RadFlowDocument ara basamakları kaldırın
  6. PdfFormatProvider çıktıları doğrudan SaveAs() çağrıları ile değiştirin
  7. Başlıkları/altbilgileri HtmlHeaderFooter kullanacak şekilde güncelleyin
  8. Sayfa ayarlarını RenderingOptions biçimine dönüştürün
  9. 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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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