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

C#'ta TallComponents'den IronPDF'ye Nasıl Geçilir

Apryse, TallComponents'i satın aldığında, .NET PDF manzarası önemli ölçüde değişti. TallComponents'in yeni lisanslar için artık uygun olmadığı ve mevcut kullanıcıların iText SDK'ye yönlendirildiği bir durumda, TallPDF ve PDFKit kullanan geliştiriciler kaçınılmaz bir karar ile karşı karşıya: şimdi geçiş yapın ya da bilinen render hatalarıyla birlikte desteklenmeyen yazılımları 2026 ve sonrasına taşımayı riske atın.

Bu kılavuz, TallComponents'ten IronPDF'e geçiş için eksiksiz bir yol sunmaktadır, profesyonel .NET geliştiricilerinin verimli bir şekilde geçiş yapmalarına yardımcı olmak için adım adım talimatları, API eşleştirmelerini ve gerçek kod örneklerini içerir.

TallComponentsGeçişi Neden Şimdi Zorunlu

TallComponents bir zamanlar C# PDF oluşturma alanında saygın bir isimdi. Kütüphane, XML tabanlı belge iş akışları ve programatik PDF manipülasyonu sundu. Ancak, Apryse'nin satın alınması, yeni lisans satışlarını sona erdirdi ve bu, geliştirme ekipleri için hesaplamayı kökten değiştirdi.

KritikTallComponentsKısıtlamaları

Geçiş kararı sadece satıcı desteğiyle ilgili değil—TallComponents önemli bir teknik borç taşır:

Ürün Sonlandırma: Apryse satın alınmasından bu yana yeni lisanslar mevcut değil. ResmiTallComponentsweb sitesi, yeni lisans satışlarının sona erdiğini açıkça belirtmekte ve potansiyel kullanıcıları iText SDK'yı kullanmaya yönlendirmektedir.

HTML'den PDF'ye Dönüştürme Desteği Yok: Modern PDF kütüphanelerinden farklı olarak,TallComponentsdoğrudan HTML'den PDF'ye dönüştürmeyi desteklemez. Destek platformundaki geliştiriciler bu sınırlamayı doğrulamış ve alternatif olarak Pechkin gibi üçüncü taraf çözümlerini önermiştir.

Belgelenmiş Render Hataları: Değişiklik günlükleri, boş sayfa render etme, eksik grafikler, güvenilmez JPEG görüntü işleme ve yanlış font görüntüleme dahil olmak üzere geniş çaplı render sorunlarını ortaya koymaktadır. Bu hatalar, sonlandırılmadan önce asla çözülmedi.

Destek veya Güncelleme Yok: Aktif bakım olmadan, herhangi güvenlik açıkları veya .NET 10 ve C# 14 ile uyumluluk sorunları çözümsüz kalacaktır.

IronPDF: Modern BirTallComponentsAlternatifi

IronPDF, modern geliştirme iş akışları için TallComponents'i sorunlu hale getiren temel sınırlamaları ele alır:

Özellik TallComponents IronPDF
Mevcut Satış Durumu Yeni Satışlar İçin Durduruldu Aktif Olarak Geliştiriliyor ve Satılıyor
HTML-to-PDF Desteği Hayır Evet (HTML5/CSS3 ile Chromium)
İşleme Güvenilirliği Bilinçli Hatalar ve Sorunlar İspatlanmış Güvenilirlik
Kurulum Karmaşık, Manuel NuGet ile Basit
Müşteri Desteği iText SDK'ya Geçiş Aktif Destek ve Topluluk
Gelecekteki Kullanılabilirlik Ömrün Sonu Uzun Vadeli Yaşanabilirlik

Karşıtlık belirgin: TallComponents, farklı bir .NET geliştirme çağından XML tabanlı bir yaklaşım sunarken,IronPDFgünümüz geliştiricilerinin uygulamalar oluşturma şekliyle uyumlu olan Chromium destekli HTML renderi sağlar.

Hızlı Başlangıç: TallComponents'ten IronPDF'e Geçiş

1. Adım: NuGet Paketlerini Değiştir

Projenizden tümTallComponentspaketlerini kaldırın:

# RemoveTallComponentspackages
dotnet remove package TallComponents.PDF.Kit
dotnet remove package TallComponents.PDF.Layout
dotnet remove package TallComponents.PDF.Layout.Drawing
# RemoveTallComponentspackages
dotnet remove package TallComponents.PDF.Kit
dotnet remove package TallComponents.PDF.Layout
dotnet remove package TallComponents.PDF.Layout.Drawing
SHELL

IronPDF'i yükleyin:

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

Özel frameworkler içinIronPDFözel genişletme paketleri sunar:

Blazor Server:

PM > Install-Package IronPdf.Extensions.Blazor
PM > Install-Package IronPdf.Extensions.Blazor
SHELL

MAUI:

PM > Install-Package IronPdf.Extensions.Maui
PM > Install-Package IronPdf.Extensions.Maui
SHELL

MVC Framework:

PM > Install-Package IronPdf.Extensions.Mvc.Framework
PM > Install-Package IronPdf.Extensions.Mvc.Framework
SHELL

Adım 2: Alan Adlarını Güncelle

TallComponents ad alanlarını IronPdf ad alanıyla değiştirin:

// Before (TallComponents)
using TallComponents.PDF.Kit;
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Drawing;
using TallComponents.PDF.Layout.Paragraphs;

// After (IronPDF)
using IronPdf;
// Before (TallComponents)
using TallComponents.PDF.Kit;
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Drawing;
using TallComponents.PDF.Layout.Paragraphs;

// After (IronPDF)
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Adım 3: Lisansınızı Başlatın

Uygulama başlangıcında lisans başlatmasını ekleyin:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

TallComponents'ten IronPDF'e API Haritalama Referansı

TallComponents konseptlerinin IronPDF'e nasıl eşlendiğini anlamak geçiş sürecini hızlandırır:

TallComponents IronPDF Notlar
Document ChromePdfRenderer PDF oluşturma için render oluşturun
Section Otomatik HTML yapısına dayanarak bölümler türetin
TextParagraph HTML metin elemanları <p>, <h1>, <div>, vb. kullanın
ImageParagraph <img> etiketi Standart HTML resimleri
TableParagraph HTML <table> Standart HTML tabloları
Font CSS font-family Web yazı tipleri tamamen desteklenir
document.Write() pdf.SaveAs() Dosya olarak kaydet
document.Write(stream) pdf.BinaryData veya pdf.Stream Akış çıkışı
Page.Canvas HTML/CSSolusturma Manuel tuval manipülasyonu gerekmez
XmlDocument.Generate() RenderHtmlAsPdf() HTML, XML'in yerini alır
PdfKit.Merger.Merge() PdfDocument.Merge() Birden çok PDF'yi birleştirme
Document.Security pdf.SecuritySettings PDF güvenlik yapılandırması
PageLayout RenderingOptions Sayfa ayarları ve kenar boşlukları

Kod Geçiş Örnekleri

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

TallComponents'te yerel HTML'den PDF'ye dönüştürme desteği yoktur. Çözüm, aslında HTML render etmeyen metin parçaları oluşturmaktır:

TallComponents Yaklaşımı:

// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using System.IO;

class Program
{
    static void Main()
    {
        // Create a new document
        using (Document document = new Document())
        {
            string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

            // Create HTML fragment
            Fragment fragment = Fragment.FromText(html);

            // Add to document
            Section section = document.Sections.Add();
            section.Fragments.Add(fragment);

            // Save to file
            using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
            {
                document.Write(fs);
            }
        }
    }
}
// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using System.IO;

class Program
{
    static void Main()
    {
        // Create a new document
        using (Document document = new Document())
        {
            string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

            // Create HTML fragment
            Fragment fragment = Fragment.FromText(html);

            // Add to document
            Section section = document.Sections.Add();
            section.Fragments.Add(fragment);

            // Save to file
            using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
            {
                document.Write(fs);
            }
        }
    }
}
Imports TallComponents.PDF.Kit
Imports System.IO

Class Program
    Shared Sub Main()
        ' Create a new document
        Using document As New Document()
            Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>"

            ' Create HTML fragment
            Dim fragment As Fragment = Fragment.FromText(html)

            ' Add to document
            Dim section As Section = document.Sections.Add()
            section.Fragments.Add(fragment)

            ' Save to file
            Using fs As New FileStream("output.pdf", FileMode.Create)
                document.Write(fs)
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF from HTML string
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        ' Create a PDF from HTML string
        Dim renderer As New ChromePdfRenderer()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF from HTML.</p></body></html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'in ChromePdfRenderer'i, tam HTML5 ve CSS3 desteği sağlayan gerçek bir Chromium motoru kullanır. Bu, PDF'lerinizin modern bir tarayıcıda görüneceği gibi render ettiği anlamına gelir. HTML'den PDF'e eğitimde daha fazla bilgi edinin.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme,TallComponentsveIronPDFarasındaki geniş değişkenlik farkını gösterir.

TallComponents Yaklaşımı:

// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using System.IO;

class Program
{
    static void Main()
    {
        // Create output document
        using (Document outputDoc = new Document())
        {
            // Load first PDF
            using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open))
            using (Document doc1 = new Document(fs1))
            {
                foreach (Page page in doc1.Pages)
                {
                    outputDoc.Pages.Add(page.Clone());
                }
            }

            // Load second PDF
            using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open))
            using (Document doc2 = new Document(fs2))
            {
                foreach (Page page in doc2.Pages)
                {
                    outputDoc.Pages.Add(page.Clone());
                }
            }

            // Save merged document
            using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
            {
                outputDoc.Write(output);
            }
        }
    }
}
// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using System.IO;

class Program
{
    static void Main()
    {
        // Create output document
        using (Document outputDoc = new Document())
        {
            // Load first PDF
            using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open))
            using (Document doc1 = new Document(fs1))
            {
                foreach (Page page in doc1.Pages)
                {
                    outputDoc.Pages.Add(page.Clone());
                }
            }

            // Load second PDF
            using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open))
            using (Document doc2 = new Document(fs2))
            {
                foreach (Page page in doc2.Pages)
                {
                    outputDoc.Pages.Add(page.Clone());
                }
            }

            // Save merged document
            using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
            {
                outputDoc.Write(output);
            }
        }
    }
}
Imports TallComponents.PDF.Kit
Imports System.IO

Class Program
    Shared Sub Main()
        ' Create output document
        Using outputDoc As New Document()
            ' Load first PDF
            Using fs1 As New FileStream("document1.pdf", FileMode.Open)
                Using doc1 As New Document(fs1)
                    For Each page As Page In doc1.Pages
                        outputDoc.Pages.Add(page.Clone())
                    Next
                End Using
            End Using

            ' Load second PDF
            Using fs2 As New FileStream("document2.pdf", FileMode.Open)
                Using doc2 As New Document(fs2)
                    For Each page As Page In doc2.Pages
                        outputDoc.Pages.Add(page.Clone())
                    Next
                End Using
            End Using

            ' Save merged document
            Using output As New FileStream("merged.pdf", FileMode.Create)
                outputDoc.Write(output)
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Load PDFs
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);

        // Save merged document
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Load PDFs
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        // Merge PDFs
        var merged = PdfDocument.Merge(pdf1, pdf2);

        // Save merged document
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        ' Load PDFs
        Dim pdf1 = PdfDocument.FromFile("document1.pdf")
        Dim pdf2 = PdfDocument.FromFile("document2.pdf")

        ' Merge PDFs
        Dim merged = PdfDocument.Merge(pdf1, pdf2)

        ' Save merged document
        merged.SaveAs("merged.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

TallComponents sürümü, manuel sayfa yinelemesi ve kopyalama gerektirir. IronPDF, bunu tek bir PdfDocument.Merge() çağrısına indirir. Gelişmiş birleştirme senaryoları için PDF birleştirme dokümantasyonuna bakın.

Filigran Ekleme

PDF'lere filigran eklemek, geliştirici deneyiminde başka bir önemli fark ortaya koyar.

TallComponents Yaklaşımı:

// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using TallComponents.PDF.Layout;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open))
        using (Document document = new Document(fs))
        {
            // Iterate through pages
            foreach (Page page in document.Pages)
            {
                // Create watermark text
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.PenColor = Color.FromArgb(128, 255, 0, 0);
                watermark.X = 200;
                watermark.Y = 400;
                watermark.Rotate = 45;

                // Add to page
                page.Overlay.Shapes.Add(watermark);
            }

            // Save document
            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}
// NuGet: Install-Package TallComponents.PDF.Kit
using TallComponents.PDF.Kit;
using TallComponents.PDF.Layout;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open))
        using (Document document = new Document(fs))
        {
            // Iterate through pages
            foreach (Page page in document.Pages)
            {
                // Create watermark text
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.PenColor = Color.FromArgb(128, 255, 0, 0);
                watermark.X = 200;
                watermark.Y = 400;
                watermark.Rotate = 45;

                // Add to page
                page.Overlay.Shapes.Add(watermark);
            }

            // Save document
            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}
Imports TallComponents.PDF.Kit
Imports TallComponents.PDF.Layout
Imports System.IO
Imports System.Drawing

Class Program
    Shared Sub Main()
        ' Load existing PDF
        Using fs As New FileStream("input.pdf", FileMode.Open)
            Using document As New Document(fs)
                ' Iterate through pages
                For Each page As Page In document.Pages
                    ' Create watermark text
                    Dim watermark As New TextShape()
                    watermark.Text = "CONFIDENTIAL"
                    watermark.Font = New Font("Arial", 60)
                    watermark.PenColor = Color.FromArgb(128, 255, 0, 0)
                    watermark.X = 200
                    watermark.Y = 400
                    watermark.Rotate = 45

                    ' Add to page
                    page.Overlay.Shapes.Add(watermark)
                Next

                ' Save document
                Using output As New FileStream("watermarked.pdf", FileMode.Create)
                    document.Write(output)
                End Using
            End Using
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        var pdf = PdfDocument.FromFile("input.pdf");

        // Create watermark
        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 60,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        // Apply watermark to all pages
        pdf.ApplyStamp(watermark);

        // Save watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        var pdf = PdfDocument.FromFile("input.pdf");

        // Create watermark
        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 60,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        // Apply watermark to all pages
        pdf.ApplyStamp(watermark);

        // Save watermarked PDF
        pdf.SaveAs("watermarked.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Class Program
    Shared Sub Main()
        ' Load existing PDF
        Dim pdf = PdfDocument.FromFile("input.pdf")

        ' Create watermark
        Dim watermark = New TextStamper() With {
            .Text = "CONFIDENTIAL",
            .FontSize = 60,
            .Opacity = 50,
            .Rotation = 45,
            .VerticalAlignment = VerticalAlignment.Middle,
            .HorizontalAlignment = HorizontalAlignment.Center
        }

        ' Apply watermark to all pages
        pdf.ApplyStamp(watermark)

        ' Save watermarked PDF
        pdf.SaveAs("watermarked.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'in TextStamper sınıfı sezgisel hizalama seçenekleri ve otomatik sayfa yinelemesi sağlar. Damgalama ve filigranlar rehberi ek özelleştirme seçeneklerini kapsar.

Dijital İmzalar

Belgelerin imzalanması, kurumsal uygulamalar için kritiktir.

TallComponents Yaklaşımı:

using TallComponents.PDF.Kit;
using TallComponents.PDF.Kit.Signing;

Document document = new Document("unsigned.pdf");

// Load certificate
X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");

// Create signature
SignatureHandler handler = new SignatureHandler(cert);
document.Sign(handler);

document.Write("signed.pdf");
using TallComponents.PDF.Kit;
using TallComponents.PDF.Kit.Signing;

Document document = new Document("unsigned.pdf");

// Load certificate
X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");

// Create signature
SignatureHandler handler = new SignatureHandler(cert);
document.Sign(handler);

document.Write("signed.pdf");
Imports TallComponents.PDF.Kit
Imports TallComponents.PDF.Kit.Signing
Imports System.Security.Cryptography.X509Certificates

Dim document As New Document("unsigned.pdf")

' Load certificate
Dim cert As New X509Certificate2("certificate.pfx", "password")

' Create signature
Dim handler As New SignatureHandler(cert)
document.Sign(handler)

document.Write("signed.pdf")
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

using IronPdf;
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("unsigned.pdf");

// Sign with certificate
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningLocation = "New York",
    SigningReason = "Document Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;

var pdf = PdfDocument.FromFile("unsigned.pdf");

// Sign with certificate
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningLocation = "New York",
    SigningReason = "Document Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing

Dim pdf = PdfDocument.FromFile("unsigned.pdf")

' Sign with certificate
Dim signature = New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "support@company.com",
    .SigningLocation = "New York",
    .SigningReason = "Document Approval"
}

pdf.Sign(signature)
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

IronPDF'nin imza API'si, iletişim bilgileri, yer ve imzalama nedeni için ek meta veri özellikleri içerir— denetim izleri için önemlidir. Tam uygulama detayları için dijital imza dokümantasyonunu keşfedin.

Özellik Karşılaştırması:TallComponentsvs IronPDF

Özellik TallComponents IronPDF
Durum ❌ SONLANDIRILDI ✅ Aktif
Destek ❌ Hiçbiri ✅ Tam
Güncellemeler ❌ Hiçbiri ✅ Düzenli
:İçerik Oluşturma: HTML'den PDF'ye Hayır Tam Chromium
URL'den PDF'ye Hayır Evet
CSS Desteği Hayır Tam CSS3
JavaScript Hayır Tam ES2024
XML Şablonları Evet Gerekli değil
:PDF İşlemleri: PDF'leri birleştir Evet Evet
PDF'leri Böl Evet Evet
Filigranlar El ile Yerleşik
Üstbilgi/Altbilgi XML tabanlı HTML/CSS
:Güvenlik: Şifre Koruması Evet Evet
Dijital İmzalar Evet Evet
Şifreleme Evet Evet
PDF/A Sınırlı Evet
:Bilinen Sorunlar: Boş Sayfalar ⚠️ Belgelenmiş hata None
Eksik Grafikler ⚠️ Belgelenmiş hata None
Yazı Tipi Sorunları ⚠️ Belgelenmiş hata None
:Geliştirme: Öğrenme Eğrisi Yüksek (XML) Düşük (HTML)
Dokümantasyon Eski Geniş kapsamlı
Topluluk None Aktif

TallComponents Geçiş Kontrol Listesi

Ön Taşınma Görevleri

Kod tabanınızı denetleyerek tümTallComponentskullanımlarını belirleyin:

grep -r "using TallComponents" --include="*.cs" .
grep -r "Document\|Section\|TextParagraph" --include="*.cs" .
grep -r "using TallComponents" --include="*.cs" .
grep -r "Document\|Section\|TextParagraph" --include="*.cs" .
SHELL

Mevcut XML şablonlarını ve düzenlerini belgeleyin— bunlar HTML'ye dönüştürülecek. Halihazırda kullanılan güvenlik ayarlarını belirleyin, parola yapılandırmalarını ve dijital imza uygulamalarını not edin.

Kod Güncelleme Görevleri

1.TallComponentspaketlerini NuGet ile kaldırın

  1. IronPdf paketini yükleyin
  2. XML düzenlerini HTML şablonlarına dönüştürün
  3. Bölüm/Paragraf modelini HTML öğeleriyle değiştirin
  4. Tablo kodunu standart HTML tabloları kullanacak şekilde güncelleyin
  5. Üstbilgi/altbilgileri HtmlHeaderFooter ile HTML'ye dönüştürün
  6. Güvenlik ayarlarını pdf.SecuritySettings kullanarak güncelleyin
  7. Başlangıçta lisans başlatma ekleyin

Başlıklar ve Altbilgiler Geçişi

TallComponents XML tabanlı başlıklar kullanır.IronPDFdinamik yer tutucularla HTML tabanlı başlıklar sağlar:

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'de başlıklar ve altbilgiler hakkında daha fazla bilgi edinin.

Test Aşaması

1.TallComponentsveIronPDFsürümleri arasında görsel çıktıyı karşılaştırın

  1. Boş sayfa sorunlarının çözüldüğünü doğrulayın
  2. Tüm belge şablonlarını test edin
  3. PDF birleştirme işlevselliğini doğrulayın
  4. Dijital imzaları test edin
  5. Güvenlik ayarlarının doğru şekilde uygulandığını onaylayın

Önerilen Geçiş Zaman Çizelgesi

Hiç destek olmadanTallComponentssona erdiği için, geçişin acilen ilerlemesi gerekmektedir:

Hafta 1: Kod tabanınızı denetleyin ve tümTallComponentskullanımlarını belirleyin Hafta 2: Belge şablonlarını XML'den HTML'ye dönüştürün Hafta 3: Güvenlik, birleştirme ve imzalama kodlarını güncelleyin Hafta 4: Test etme ve üretim dağıtımı

Ertelemek, belgelenmiş render hatalarıyla desteklenmeyen yazılım çalıştırmak anlamına gelir—hiçbir profesyonel geliştirme ekibinin 2026'ya girerken kabul etmemesi gereken bir risk.

Ana Geçiş Faydaları

TallComponents'ten IronPDF'e geçiş, hemen avantajlar sağlar:

Modern Chromium Render Motoru: Tam CSS veJavaScriptdesteği, TallComponents'te belgelenen boş sayfa ve eksik grafik hatalarını ortadan kaldırarak PDF'lerin beklendiği gibi render edilmesini sağlar.

Aktif Bakım ve Güvenlik Güncellemeleri:IronPDFdüzenli güncellemeler alarak, .NET 10 dahil olmak üzere güncel ve gelecekteki .NET sürümleriyle uyumluluğu sağlar.

Daha İyi .NET Entegrasyonu: Yerel async/await desteği ve modern API kalıpları, modern C# geliştirme uygulamaları ile uyumludur.

Kapsamlı Dökümantasyon: Kapsamlı eğitimler ve API referansları hızlı uygulamayı destekler.

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