IRONSOFTWAREHOME
VIDEOLAR

IronPDF Motorunu Docker'da Nasıl Kullanırız | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

27 Mayıs 2025 tarihinde, Apryse TallComponents'i satın aldı. TallPDF.NET ve PDFKit.NET için yeni lisanslar artık sunulmuyor ve Apryse yeni alıcıları iText SDK'ya yönlendiriyor (Apryse'ye de aittir). Mevcut müşteriler destek almaya devam ediyor, ancak motor yalnızca bakım modunda. Hâlâ TallComponents'te olan ekipler için şimdi bir geçiş planlamak, daha sonra zorunlu bir geçişten kaçınmayı sağlar.

Bu kılavuz, TallComponents'ten IronPDF'ye geçiş yolu sağlar, .NET geliştiricilerinin geçişi planlaması için adım adım talimatlar, API eşleştirmeleri ve kod örnekleri içerir.

Neden BirTallComponentsGeçişi Planlamalı?

TallComponents (2001'de kuruldu) iki ana .NET PDF ürünü yayınladı: PDF'leri yüklemek ve manipüle etmek için PDFKit.NET ve belgeleri düzen odaklı olarak oluşturmak için TallPDF.NET. Apryse'nin satın alımının ardından, yeni lisans satışları sona erdi, bu da kütüphaneye bağlı ekipler için planlama ufkunu değiştirir.

BugünküTallComponentsKısıtlamaları

Yeni lisanslara kapalı: Apryse'ninTallComponentssayfası,TallComponentsürünleri için artık yeni lisans sunulmadığını ve yeni alıcıları iText SDK'ya yönlendirdiğini belirtiyor. Mevcut lisans sahipleri desteklenmeye devam ediyor.

Sadece XHTML içerenHTMLhattı: TallPDF.NET, XHTML 1.0 Strict / XHTML 1.1 + CSS 2.1'i ayrıştıran bir XhtmlParagraph sınıfı gönderir. PDFKit.NET kendi başınaHTMLhattı içermez. Modern HTML5 + CSS3 +JavaScriptiçeriği güvenilir bir şekilde görüntülenmez — kutuda başsız tarayıcı motoru yoktur.

Donmuş platform hedefi: TallComponents.PDFKit5 .NET Standard 2.0'ı hedefler; eski TallComponents.PDFKit (4.x) .NET Framework 2.0'ı hedefler. Yayınlanmış .NET 8/9 TFM yoktur.

Yalnızca bakım yol haritası: Apryse'nin geliştirme enerjisi Apryse SDK ve iText üzerinde odaklandıkça,TallComponentsmarkalı paketler bakım güncellemeleri alıyor, ancak yeni özellik yol haritası yok.

IronPDF: Modern BirTallComponentsAlternatifi

IronPDF, bugünkü .NET yığınlarındaTallComponentskullanıcılarını etkileyen temel boşlukları adresler:

ÖzellikTallComponentsIronPDF
Mevcut satış durumuYeni lisanslara kapalı (Apryse 2025-05-27'de satın aldı)Aktif olarak satılmaktadır
HTML'den PDF desteğiXHTML 1.0/1.1 +CSS 2.1kontrolüXhtmlParagraph (TallPDF.NET)Evet (HTML5/CSS3 ile Chromium)
HTML'deJavaScriptHayırTam ES2024
KurulumNuGet (TallComponents.PDFKit5, TallComponents.TallPDF5)NuGet (IronPdf)
Müşteri desteğiYalnızca mevcut müşterilere; yeni alıcılar iText'e yönlendiriliyorAktif destek ve topluluk
Gelecek yatırımlarYalnızca bakımUzun vadeli yol haritası

TallComponents, daha önceki bir dönemde .NET belge üretimine kök salmış bir XML/düzen odaklı model kullanırken, IronPDF, ekiplerin bugünkü ön yüz uygulamalarını inşa etme şekline uygun olarak Chromium destekliHTMLoluşturma sağlar.

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

Adım 1: NuGet Paketlerini Değiştirin

Projenizin referans aldığıTallComponentspaketlerini kaldırın. nuget.org üzerindeki gerçek paket kimlikleri TallComponents.PDFKit5 (veya 4.x için TallComponents.PDFKit) ve TallComponents.TallPDF5 / TallPDF6:

# RemoveTallComponentspackages (whichever your project uses)
dotnet remove package TallComponents.PDFKit5
dotnet remove package TallComponents.TallPDF5
dotnet remove package TallComponents.PDFRasterizer4
SHELL

IronPDF'i yükleyin:

dotnet add package IronPdf

Özel çerçeveler için, IronPDF, özel eklenti paketleri sunar:

Blazor Sunucu:

PM > Install-Package IronPdf.Extensions.Blazor

MAUI:

PM > Install-Package IronPdf.Extensions.Maui

MVC Çerçevesi:

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

Adım 2: Ad Alanlarını Güncelleyin

TallComponents ad alanlarınıIronPDF ad alanı ile değiştirin:

// Before (TallComponents — real namespaces)
using TallComponents.PDF;                    // Document, Page (PDFKit.NET)
using TallComponents.PDF.Shapes;             // TextShape, ImageShape (PDFKit)
using TallComponents.PDF.Security;           // PasswordSecurity
using TallComponents.PDF.Layout;             // Document, Section (TallPDF.NET)
using TallComponents.PDF.Layout.Paragraphs;  // TextParagraph, XhtmlParagraph

// After (IronPDF)
using IronPdf;

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

Uygulama başlangıcında lisans başlatmayı ekleyin:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

TallComponents'tan IronPDF'e API Eşleme Referansı

TallComponents'nin kavramlarının IronPDF ile nasıl eşleştiğini anlamak geçiş sürecini hızlandırır:

TallComponentsIronPDFNotlar
Document (TallPDF.NET: düzen)ChromePdfRendererPDF oluşturma için renderer oluştur
Document (PDFKit.NET: işleme)PdfDocumentMevcut PDF'leri Yükle/Düzenle
SectionOtomatikHTMLyapısından türetilen bölümler
TextParagraphHTMLmetin öğeleriKullan <p>, <h1>, <div>, vb.
ImageParagraph<img> etiketiStandartHTMLgörüntüleri
TableParagraphHTML <table>StandartHTMLtablolar
XhtmlParagraph (XHTML 1.x + CSS 2.1)RenderHtmlAsPdf() (HTML5/CSS3 via Chromium)ModernHTMLçalışır
FontCSS font-familyWeb yazı tipleri desteklenir
document.Write(...)pdf.SaveAs() / pdf.BinaryDataDosya veya byte[] çıktısı
page.Overlay.Add(shape)pdf.ApplyStamp(stamper)Filigran / bindirme
outputDoc.Pages.Add(page.Clone())PdfDocument.Merge(...) / pdf.AppendPdf(...)Birden fazla PDF'yi birleştirme
Document.Security = new PasswordSecurity { ... }pdf.SecuritySettingsPDF güvenlik yapılandırması
PageLayoutRenderingOptionsSayfa ayarları ve kenar boşlukları

Kod Göç Örnekleri

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

TallComponents, HTML'yi yalnızca XHTML 1.0/1.1 + CSS 2.1'i ayrıştıran TallPDF.NET'in XhtmlParagraph aracılığıyla işler. Modern HTML5, CSS3, flexbox, grid veJavaScriptdestekli içerikler o dil grameri dışındadır:

TallComponents Yaklaşımı:

// NuGet: Install-Package TallComponents.TallPDF5
// (HTML/XHTML conversion lives in TallPDF.NET, not in PDFKit.NET.)
using TallComponents.PDF.Layout;
using TallComponents.PDF.Layout.Paragraphs;
using System.IO;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.Sections.Add();

        // XhtmlParagraph supports XHTML 1.0/1.1 +CSS 2.1only.
        XhtmlParagraph xhtml = new XhtmlParagraph();
        xhtml.Text = "<html><body><h1>Hello World</h1><p>This is a PDF from XHTML.</p></body></html>";
        section.Paragraphs.Add(xhtml);

        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            document.Write(fs);
        }
    }
}
C#

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        // Create a PDF fromHTMLstring
        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");
    }
}
C#

IronPDF'nin ChromePdfRenderer gerçek bir Chromium motoru kullanır ve tam HTML5 ve CSS3 desteği sağlar. Bu, PDF'lerinizin modern bir tarayıcıda görünecekleri şekilde doğru bir şekilde işleneceği anlamına gelir. HTML to PDF öğreticisinde daha fazlasını öğrenin.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme,TallComponentsile IronPDF arasındaki ayrıntılardaki farkı ortaya koyar.

TallComponents Yaklaşımı:

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

class Program
{
    static void Main()
    {
        // Create target document
        Document outputDoc = new Document();

        // Load first PDF and clone each page into the target
        using (FileStream fs1 = new FileStream("document1.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc1 = new Document(fs1);
            foreach (Page page in doc1.Pages)
            {
                outputDoc.Pages.Add(page.Clone()); // clone is required across documents
            }
        }

        // Load second PDF and append the whole page collection
        using (FileStream fs2 = new FileStream("document2.pdf", FileMode.Open, FileAccess.Read))
        {
            Document doc2 = new Document(fs2);
            outputDoc.Pages.AddRange(doc2.Pages.CloneToArray());
        }

        // Save merged document
        using (FileStream output = new FileStream("merged.pdf", FileMode.Create))
        {
            outputDoc.Write(output);
        }
    }
}

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");
    }
}

TallComponents versiyonu, sayfaların manuel yinelemesini ve klonlanmasını gerektirir.IronPDF bunu tek bir PdfDocument.Merge() çağrısına indirir. Gelişmiş birleştirme senaryoları için PDF birleştirme belgelerine bakın.

Filigran Ekleme

PDF'leri marka suyuyla işaretleme, geliştirici deneyimindeki başka bir önemli farkı ortaya koyar.

TallComponents Yaklaşımı:

// NuGet: Install-Package TallComponents.PDFKit5
using TallComponents.PDF;
using TallComponents.PDF.Shapes;
using System.IO;
using System.Drawing;

class Program
{
    static void Main()
    {
        // Load existing PDF
        using (FileStream fs = new FileStream("input.pdf", FileMode.Open, FileAccess.Read))
        {
            Document document = new Document(fs);

            foreach (Page page in document.Pages)
            {
                TextShape watermark = new TextShape();
                watermark.Text = "CONFIDENTIAL";
                watermark.Font = new Font("Arial", 60);
                watermark.Pen = new Pen(Color.FromArgb(128, 255, 0, 0));
                watermark.X = 200;
                watermark.Y = 400;
                // Rotation is applied via a transform on PDFKit.NET
                // (TextShape has no Rotate property in the PDFKit API).
                watermark.Transform = new RotateTransform(45);

                page.Overlay.Add(watermark);
            }

            using (FileStream output = new FileStream("watermarked.pdf", FileMode.Create))
            {
                document.Write(output);
            }
        }
    }
}

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");
    }
}

IronPDF'nin TextStamper sınıfı sezgisel hizalama seçenekleri ve otomatik sayfa yineleme sağlar. Damlama ve marka suyu kılavuzu ek kişiselleştirme seçeneklerini kapsar.

Dijital İmzalar

Belge imzalama, kurumsal uygulamalar için önemlidir.

TallComponents Yaklaşımı:

using TallComponents.PDF;
using TallComponents.PDF.Signing;
using System.IO;
using System.Security.Cryptography.X509Certificates;

using (FileStream fs = new FileStream("unsigned.pdf", FileMode.Open, FileAccess.Read))
{
    Document document = new Document(fs);

    X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password");
    SignatureField field = new SignatureField("Signature1");
    field.Sign(cert);
    document.Fields.Add(field);

    using (FileStream output = new FileStream("signed.pdf", FileMode.Create))
    {
        document.Write(output);
    }
}

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");

IronPDF'nin imza API'si, iletişim bilgileri, konum ve imzalama nedeni gibi denetim izleri için önemli olan ek meta veri özelliklerini içerir. Tam uygulama detayları için dijital imza belgelerini inceleyin.

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

ÖzellikTallComponentsIronPDF
DurumYeni lisanslara kapalı (Apryse 2025-05-27'de satın aldı)Aktif
DestekSadece mevcut müşteriler içinTam
GüncellemelerYalnızca bakımDüzenli özellik yayınları
İçerik Oluşturma
HTML'den PDF'yeXHTML 1.0/1.1 +CSS 2.1(XhtmlParagraph)Chromium aracılığıyla Tam HTML5/CSS3
URL'yi PDF'ye çevirEvet XHTML URL'leri için (XhtmlParagraph.Path)Evet
CSS DesteğiCSS 2.1Tam CSS3
JavaScriptHayırTam ES2024
XML / Düzen DOM ŞablonlarEvet (TallPDF.NET)Gerek yok (HTML)
PDF İşlemleri
PDF'leri birleştirEvet (Pages.Add(page.Clone()))Evet (PdfDocument.Merge)
PDF AyırmaEvetEvet
Filigranlarpage.Overlay.Add(TextShape)pdf.ApplyStamp(...)
Başlıklar/AltbilgilerDüzen DOMHTML/CSS
Güvenlik
Şifre KorumasıEvet (PasswordSecurity)Evet
Dijital İmzalarEvet (SignatureField.Sign)Evet
ŞifrelemeRC4 / AES-128 / AES-256AES-128 / AES-256
PDF/APDF/A-1, PDF/A-2, PDF/A-3Evet
Platform
Hedef ÇerçevelerPDFKit5: .NET Standard 2.0; PDFKit (4.x): .NET Framework 2.0.NET Framework 4.6.2+, .NET 6/7/8/9
Geliştirme
Öğrenme EğrisiXML / düzen DOMHTML
DokümantasyonSatın alma üzerine donmuş; yeni belgeler Apryse / iText'e yönlendiriliyorBakımı yapılmaktadır
ToplulukSessiz (yeni satış yok)Aktif

##TallComponentsGeçiş Kontrol Listesi

Geçiş Öncesi Görevler

TümTallComponentskullanımını belirlemek için kod tabanınızı inceleyin:

grep -r "using TallComponents" --include="*.cs" .
grep -rE "XhtmlParagraph|TextParagraph|PasswordSecurity|page\.Overlay" --include="*.cs" .
SHELL

Mevcut XML/düzen şablonlarınızı belgelendirin—bu şablonlar HTML'ye dönüştürülecek. Kullanılmakta olan 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 üzerinden kaldırın 2.IronPDF paketini yükleyin 3. XHTML / düzen DOM şablonlarını HTML5'e dönüştürün 4. Bölüm/Paragraf modeliniHTMLöğeleri ile değiştirin 5. Tablo kodunu standartHTMLtablolarıyla güncelleyin 6. Üstbilgileri/altbilgileri HtmlHeaderFooter ile HTML'e dönüştürün 7. Güvenlik ayarlarını pdf.SecuritySettings kullanacak şekilde güncelleyin 8. Başlangıçta lisans başlatma ekleyin

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

TallPDF.NET, sayfa üstbilgileri için bir düzen DOM'u (Section.Header / Section.Footer) kullanır. IronPDF, dinamik yer tutucularlaHTMLtabanlı 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
};

IronPDF'deki başlıklar ve altbilgiler hakkında daha fazla bilgi edinin.

Test Aşaması

1.TallComponentsve IronPDF versiyonları arasındaki görsel çıktıyı karşılaştırı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ı doğrulayın

Önerilen Geçiş Takvimi

TallComponents yeni lisanslara kapalı ve yalnızca bakım desteğinde olduğu için, taşıma işlemini kendi temponuzda planlayın, ancak geciktirmeyin:

1. Hafta: Kod tabanını inceleyin ve tümTallComponentskullanımını belirleyin Hafta 2: XHTML / düzen şablonlarını HTML5'e dönüştürün
3. Hafta: Güvenlik, birleştirme ve imzalama kodlarını güncelleyin 4. Hafta: Test ve üretim dağıtımı

Bir yığınTallComponentsüzerinde ne kadar uzun süre kalırsa, mevcut .NET hedeflerinden ve mevcut HTML'den o kadar uzaklaşır.

Lütfen dikkate alın: Apryse, PDFKit, Tall Components ve iText, ilgili sahiplerinin tescilli markalarıdır. Bu site, Apryse, PDFKit, PDFTron,TallComponentsveya iText Group ile bağlantılı, onaylı veya sponsor bir site değildir. Tüm ürün adları, logolar ve markalar ilgili sahiplerinin mülkiyetindedir. 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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez