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

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

TX Text Control, dahili UI kontrolleri ile sağlam DOCX düzenleme yetenekleri sunarak, .NET ekosisteminde kapsamlı bir belge düzenleyici bileşeni olarak kendini kanıtlamıştır. Ancak, temel gereksinimi tüm belge düzenleme yerine PDF oluşturma olan geliştirme ekipleri için, TextControl'un mimarisi lisans maliyetleri, karmaşıklık ve çalışma zamanı bağımlılıklarında önemli bir yük sunar.

Bu kılavuz, bu geçişi değerlendiren profesyonel .NET geliştiricileri için TextControl'den IronPDF'ye tamamen bir geçiş yolu ile adım adım talimatlar, kod karşılaştırmaları ve pratik örnekler sağlar.

TextControl'den Neden Geçiş Yapılır

TextControl'den geçiş yapma kararı genellikle araçlarınızı gerçek gereksinimlerinize uyarlama etrafında şekillenir. TX Text Control, temel olarak PDF oluşturmayı ikincil bir özellik olarak gören bir belge düzenleyicidir. Geliştirme ekiplerinin geçişi değerlendirme nedenleri şunları içerir:

Pahalı Lisanslama: TextControl, geliştirici başına en az $3,398 yıllık ticari bir lisans üzerinde çalışır. Dört kişilik bir ekip, yıllık yaklaşık $6,749 yatırım yapmayı bekleyebilir ve sunucu dağıtımı çalışma zamanı lisansları için ek maliyetler bulunmaktadır. Yenileme maliyetleri yıllık %40'tır ve güncellemeler için erişimi sürdürmek için zorunludur.

PDF İkincil: Çekirdek mimari kelime işleme, PDF değil. PDF oluşturma mevcut olsa da, bu daha çok ek bir özelliktir ve bu da optimalden daha az çıktı kalitesi ile sonuçlanır.

Donanım Hataları: Intel Iris Xe Graphics hatası, daha yeni Intel işlemcilerde (11. nesil), belge oluşturulmasını etkiler ve çözmek için bir kayıt defteri geçici çözümü gerektirir.

Sisirilmis Bagimliliklar: TextControl, odaginiz sadece PDF uretimi ise ihtiyaçiniz olmayan belge duzenleme UI bileşenlerini icerir.

Belge İşlemi Mimari: Modern web uygulamalarinin talep ettiği HTML-to-PDF is akışları icin optimize edilmemistir.

Karmaşık API: ServerTextControl bağlam yönetimi ve seçimi modeli, doğrudan PDF oluşturma görevleri için gereksiz bir karmaşıklık katıyor.

Maliyet Karşılaştırması

Bağlam TX Text Control IronPDF
Temel Lisans $3.398+ Ciddi oranda daha düşük
Yıllık Yenileme 40% zorunlu İsteğe bağlı destek
Her Geliştirici İçin Evet Evet
UI Bileşenleri Paketlenmiş (sisirilmis) PDF odaklı
Toplam 3 Yıllık Maliyet $5.750+ Çok daha düşük

IronPDF ile TextControl: Özellik Karşılaştırması

Mimari farklılıkları anlamak, teknik karar vericilerin geçiş yatırımını değerlendirmesine yardımcı olur:

Özellik TX Text Control IronPDF
Birincil Odak DOCX düzenleme PDF oluşturma
Lisans Maliyeti Her geliştirici için $3.398/yil Geliştirici başına bir kerelik 749 $
PDF Kalitesi Temel, ek özellik Yüksek, çekirdek işlevsellik
Donanim Uyumu Intel Iris ile bilinen sorunlar Tüm cihazlarda kararlı
UI ile Entegrasyon UI bileşenleri gerek UI bileşen şişkinliği yok
HTML/CSS Rendere HTML ile hatali Modern HTML5/CSS3
HTML'den PDF'ye Evet (ikincil) Evet (birincil)
CSS Desteği Sınırlı Tam CSS3
JavaScript Sınırlı Tam ES2024
URL'den PDF'ye Karmaşık kurulum Yerel
Üstbilgi/Altbilgi Karmaşık API Basit HTML
Mektup Birleştirme Sahipli HTML şablonları
PDF/A Evet Evet
Şifre Koruması Evet Evet
Dijital İmzalar Evet Evet
PDF'leri birleştir Sınırlı Evet
PDF'leri Böl Sınırlı Evet
Bağlam Yönetimi Gerekli Gerekli değil
Çapraz Platform Windows odaklı Evet

Kisa Başlangic: TextControl'den IronPDF'ye Göç

Geçiş hemen bu temel adımlar ile başlatılabilir.

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

Tüm TextControl paketlerini kaldırın:

# Remove TX Text Control
dotnet remove package TXTextControl.TextControl
dotnet remove package TXTextControl.DocumentServer
# Remove TX Text Control
dotnet remove package TXTextControl.TextControl
dotnet remove package TXTextControl.DocumentServer
SHELL

IronPDF'i yükleyin:

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

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

TextControl ad alanlarını IronPdf ad alanı ile değiştirin:

// Before (TextControl)
using TXTextControl;
using TXTextControl.DocumentServer;

// After (IronPDF)
using IronPdf;
// Before (TextControl)
using TXTextControl;
using TXTextControl.DocumentServer;

// After (IronPDF)
using IronPdf;
Imports TXTextControl
Imports TXTextControl.DocumentServer

' After (IronPDF)
Imports IronPdf
$vbLabelText   $csharpLabel

Adım 3: Lisansı Başlat

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

Kod Geçiş Örnekleri

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

En yaygın kullanım durumu, bu .NET PDF kütüphaneleri arasındaki mimari farkı gösterir.

TextControl Yaklaşımı:

// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

                textControl.Load(html, StreamType.HTMLFormat);
                textControl.Save("output.pdf", StreamType.AdobePDF);
            }
        }
    }
}
// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

                textControl.Load(html, StreamType.HTMLFormat);
                textControl.Save("output.pdf", StreamType.AdobePDF);
            }
        }
    }
}
Imports TXTextControl
Imports System.IO

Namespace TextControlExample
    Class Program
        Shared Sub Main(ByVal args As String())
            Using textControl As New ServerTextControl()
                textControl.Create()

                Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

                textControl.Load(html, StreamType.HTMLFormat)
                textControl.Save("output.pdf", StreamType.AdobePDF)
            End Using
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

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

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            string html = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

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

Namespace IronPdfExample
    Class Program
        Shared Sub Main(ByVal args As String())
            Dim renderer = New ChromePdfRenderer()

            Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

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

TextControl sürümü, ServerTextControl örneği oluşturmayı, bağlamı başlatmak için Create() çağrısını, HTML'yi StreamType.HTMLFormat ile yüklemeyi ve StreamType.AdobePDF ile kaydetmeyi gerektirir. using bloğu, kaynakların düzgün bir şekilde atılması için zorunludur.

IronPDF, bağlam yönetimini tamamen ortadan kaldırır. ChromePdfRenderer için başlatma töreni gerekmiyor—oluşturun, HTML'yi işleyin ve kaydedin. Bu mimari basitleştirme, bilişsel yükü ve potansiyel kaynak yönetim hatalarını azaltır.

Gelişmiş HTML-PDF senaryoları için HTML'den PDF'e dönüştürme kılavuzuna bakın.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, bu kutuphaneler arasındaki önemli bir karmaşıklık farkını daha da ortaya koyuyor.

TextControl Yaklaşımı:

// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                byte[] pdf1 = File.ReadAllBytes("document1.pdf");
                textControl.Load(pdf1, StreamType.AdobePDF);

                byte[] pdf2 = File.ReadAllBytes("document2.pdf");
                textControl.Load(pdf2, StreamType.AdobePDF, LoadAppendMode.Append);

                textControl.Save("merged.pdf", StreamType.AdobePDF);
            }
        }
    }
}
// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                byte[] pdf1 = File.ReadAllBytes("document1.pdf");
                textControl.Load(pdf1, StreamType.AdobePDF);

                byte[] pdf2 = File.ReadAllBytes("document2.pdf");
                textControl.Load(pdf2, StreamType.AdobePDF, LoadAppendMode.Append);

                textControl.Save("merged.pdf", StreamType.AdobePDF);
            }
        }
    }
}
Imports TXTextControl
Imports System.IO

Namespace TextControlExample
    Class Program
        Shared Sub Main(ByVal args As String())
            Using textControl As New ServerTextControl()
                textControl.Create()

                Dim pdf1 As Byte() = File.ReadAllBytes("document1.pdf")
                textControl.Load(pdf1, StreamType.AdobePDF)

                Dim pdf2 As Byte() = File.ReadAllBytes("document2.pdf")
                textControl.Load(pdf2, StreamType.AdobePDF, LoadAppendMode.Append)

                textControl.Save("merged.pdf", StreamType.AdobePDF)
            End Using
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            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;

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var pdf1 = PdfDocument.FromFile("document1.pdf");
            var pdf2 = PdfDocument.FromFile("document2.pdf");

            var merged = PdfDocument.Merge(pdf1, pdf2);
            merged.SaveAs("merged.pdf");
        }
    }
}
Imports IronPdf

Namespace IronPdfExample
    Class Program
        Shared Sub Main(ByVal args As String())
            Dim pdf1 = PdfDocument.FromFile("document1.pdf")
            Dim pdf2 = PdfDocument.FromFile("document2.pdf")

            Dim merged = PdfDocument.Merge(pdf1, pdf2)
            merged.SaveAs("merged.pdf")
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

TextControl, dosyaları bayt dizilerine okumayı, ServerTextControl bağlamını yönetmeyi ve belgeleri birleştirmek için LoadAppendMode.Append kullanmayı gerektirir. IronPDF'nin PdfDocument.Merge() yöntemi, her şeyi tek, açık bir çağrı ile halleder.

Seçici sayfa çıkarma dahil ileri birleştirme senaryoları için PDF'leri birleştir ve parçala kılavuzuna bakın.

Başlıklar ve Alt Bilgiler Eklemek

Dinamik sayfa numaralı başlıklar ve alt bilgileri, API karmaşıklığı farkını gösterir.

TextControl Yaklaşımı:

// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                string html = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>";
                textControl.Load(html, StreamType.HTMLFormat);

                HeaderFooter header = new HeaderFooter(HeaderFooterType.Header);
                header.Text = "Document Header";
                textControl.Sections[0].HeadersAndFooters.Add(header);

                HeaderFooter footer = new HeaderFooter(HeaderFooterType.Footer);
                footer.Text = "Page {page} of {numpages}";
                textControl.Sections[0].HeadersAndFooters.Add(footer);

                textControl.Save("output.pdf", StreamType.AdobePDF);
            }
        }
    }
}
// NuGet: Install-Package TXTextControl.Server
using TXTextControl;
using System.IO;

namespace TextControlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServerTextControl textControl = new ServerTextControl())
            {
                textControl.Create();

                string html = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>";
                textControl.Load(html, StreamType.HTMLFormat);

                HeaderFooter header = new HeaderFooter(HeaderFooterType.Header);
                header.Text = "Document Header";
                textControl.Sections[0].HeadersAndFooters.Add(header);

                HeaderFooter footer = new HeaderFooter(HeaderFooterType.Footer);
                footer.Text = "Page {page} of {numpages}";
                textControl.Sections[0].HeadersAndFooters.Add(footer);

                textControl.Save("output.pdf", StreamType.AdobePDF);
            }
        }
    }
}
Imports TXTextControl
Imports System.IO

Namespace TextControlExample
    Class Program
        Shared Sub Main(ByVal args As String())
            Using textControl As New ServerTextControl()
                textControl.Create()

                Dim html As String = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>"
                textControl.Load(html, StreamType.HTMLFormat)

                Dim header As New HeaderFooter(HeaderFooterType.Header)
                header.Text = "Document Header"
                textControl.Sections(0).HeadersAndFooters.Add(header)

                Dim footer As New HeaderFooter(HeaderFooterType.Footer)
                footer.Text = "Page {page} of {numpages}"
                textControl.Sections(0).HeadersAndFooters.Add(footer)

                textControl.Save("output.pdf", StreamType.AdobePDF)
            End Using
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

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

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            string html = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>";

            var pdf = renderer.RenderHtmlAsPdf(html);

            pdf.AddTextHeader("Document Header");
            pdf.AddTextFooter("Page {page} of {total-pages}");

            pdf.SaveAs("output.pdf");
        }
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;

namespace IronPdfExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var renderer = new ChromePdfRenderer();

            string html = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>";

            var pdf = renderer.RenderHtmlAsPdf(html);

            pdf.AddTextHeader("Document Header");
            pdf.AddTextFooter("Page {page} of {total-pages}");

            pdf.SaveAs("output.pdf");
        }
    }
}
Imports IronPdf
Imports IronPdf.Rendering

Namespace IronPdfExample
    Class Program
        Shared Sub Main(args As String())
            Dim renderer As New ChromePdfRenderer()

            Dim html As String = "<html><body><h1>Document Content</h1><p>Main body text.</p></body></html>"

            Dim pdf = renderer.RenderHtmlAsPdf(html)

            pdf.AddTextHeader("Document Header")
            pdf.AddTextFooter("Page {page} of {total-pages}")

            pdf.SaveAs("output.pdf")
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

TextControl, belirli HeaderFooterType sabitleriyle HeaderFooter nesneleri oluşturmayı, belge bölümlerine textControl.Sections[0] üzerinden erişmeyi ve HeadersAndFooters koleksiyonuna eklemeyi gerektirir. IronPDF, basit yer tutucu sözdizimi ile doğrudan AddTextHeader ve AddTextFooter yöntemleri sağlar.

Tam stil kontrolüne sahip HTML tabanlı başlıklar için,IronPDFayrıca HtmlHeaderFooter destekler:

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; text-align: center; font-size: 12pt;'>
            Company Report
        </div>",
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; text-align: right; font-size: 10pt;'>
            Page {page} of {total-pages}
        </div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; text-align: center; font-size: 12pt;'>
            Company Report
        </div>",
    MaxHeight = 30
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; text-align: right; font-size: 10pt;'>
            Page {page} of {total-pages}
        </div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .HtmlFragment = "
        <div style='width: 100%; text-align: center; font-size: 12pt;'>
            Company Report
        </div>",
    .MaxHeight = 30
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .HtmlFragment = "
        <div style='width: 100%; text-align: right; font-size: 10pt;'>
            Page {page} of {total-pages}
        </div>",
    .MaxHeight = 25
}
$vbLabelText   $csharpLabel

Başlık ve altlık seçenekleri hakkında daha fazla bilgi için başlık ve altlıklar belgelerine göz atın.

TextControl API'sini IronPDF'ye Eşleme Referansı

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

TX Text Control IronPDF
ServerTextControl.Create() new ChromePdfRenderer()
tx.Load(html, StreamType.HTMLFormat) renderer.RenderHtmlAsPdf(html)
tx.Load(url, StreamType.HTMLFormat) renderer.RenderUrlAsPdf(url)
tx.Save(path, StreamType.AdobePDF) pdf.SaveAs(path)
SaveSettings.PDFAConformance RenderingOptions.PdfAFormat
DocumentServer.MailMerge HTML şablonları + Razor
DocumentTarget.HeadersAndFooters HtmlHeaderFooter
LoadSettings RenderingOptions
StreamType.AdobePDF Varsayılan çıktı

Yaygın Taşınma Sorunları ve Çözümleri

Sorun 1: ServerTextControl Bağlamı

TextControl, her işlem için Create() ve using bloğu gerektirir.

Çözüm:IronPDFbağlam yönetimi gerektirmez:

// Just create and use
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Just create and use
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' Just create and use
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Sorun 2: Akış Türü Dönüşümleri

TextControl, farklı formatları yükler ve StreamType sabitleri aracılığıyla PDF'ye dönüştürür.

Çözüm: IronPDF, ara format dönüştürme olmadan HTML rendere eder:

// No format conversion needed
var pdf = renderer.RenderHtmlAsPdf(html);
// No format conversion needed
var pdf = renderer.RenderHtmlAsPdf(html);
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Sorun 3: DOCX Şablonları

TextControl mektup birleştirme ile şablonlar için DOCX dosyaları kullanır.

Çözüm: C# dize interpolasyonu veya Razor ile HTML şablonlarına dönüştürün:

var data = new { CustomerName = "John Doe", InvoiceNumber = "12345", Total = "$1,500.00" };

var html = $@"
<html>
<head>
    <style>
        body {{ font-family: Arial; padding: 40px; }}
        h1 {{ color: #333; }}
        .total {{ font-size: 24px; color: green; }}
    </style>
</head>
<body>
    <h1>Invoice #{data.InvoiceNumber}</h1>
    <p>Customer: {data.CustomerName}</p>
    <p class='total'>Total: {data.Total}</p>
</body>
</html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
var data = new { CustomerName = "John Doe", InvoiceNumber = "12345", Total = "$1,500.00" };

var html = $@"
<html>
<head>
    <style>
        body {{ font-family: Arial; padding: 40px; }}
        h1 {{ color: #333; }}
        .total {{ font-size: 24px; color: green; }}
    </style>
</head>
<body>
    <h1>Invoice #{data.InvoiceNumber}</h1>
    <p>Customer: {data.CustomerName}</p>
    <p class='total'>Total: {data.Total}</p>
</body>
</html>";

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
Option Strict On



Dim data = New With {Key .CustomerName = "John Doe", Key .InvoiceNumber = "12345", Key .Total = "$1,500.00"}

Dim html = $"
<html>
<head>
    <style>
        body {{ font-family: Arial; padding: 40px; }}
        h1 {{ color: #333; }}
        .total {{ font-size: 24px; color: green; }}
    </style>
</head>
<body>
    <h1>Invoice #{data.InvoiceNumber}</h1>
    <p>Customer: {data.CustomerName}</p>
    <p class='total'>Total: {data.Total}</p>
</body>
</html>"

Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

Sorun 4: Intel Iris Xe Grafik Hatası

TextControl, 11. nesil Intel işlemcili donanımlarla ilgili belgelenmiş şöer hataları sergiliyor ve kayıt defteri çözümleri gerektiriyor.

Çözüm: IronPDF, donanim hizlanma hatalari veya kayıt defteri modifikasyonlari gerektirmeyen Chromium renderlamayi kullanır.

TextControl Göç Kontrol Listesi

Ön Taşınma Görevleri

Kod tabanınızı denetleyin ve tüm TextControl kullanımını belirleyin:

grep -r "using TXTextControl" --include="*.cs" .
grep -r "ServerTextControl\|Load\|Save" --include="*.cs" .
grep -r "using TXTextControl" --include="*.cs" .
grep -r "ServerTextControl\|Load\|Save" --include="*.cs" .
SHELL

Dönüştürülmek üzere HTML için mektup birleştirme şablonlarını belgeleyin. HtmlHeaderFooter ile uygulama için başlık/altbilgi gereksinimlerine dikkat edin. Alternatif çözümler gerektirebilecek herhangi bir DOCX düzenleme işlevselliğini belirleyin.

Kod Güncelleme Görevleri

  1. TX TextControl NuGet paketlerini kaldırın
  2. IronPdf NuGet paketini kurun
  3. ServerTextControl bağlam yönetimini kaldırın (artık Create() çağrıları yok)
  4. StreamType.HTMLFormat yüklemeleri RenderHtmlAsPdf dönüştürün
  5. String interpolasyonu veya Razor ile HTML şablonlarına mektup birleştirme dönüştürün
  6. Başlık/altbilgileri HtmlHeaderFooter veya AddTextFooter kullanacak şekilde güncelleyin
  7. Sayfa ayarlarını RenderingOptions kullanarak basitleştirin
  8. Başlangıçta lisans başlatma ekleyin

Taşınım Sonrası Test

Geçiş sonrasında aşağıdaki yönleri doğrulayın:

  • Tüm döküman şablonlarının doğru şekilde rendere edildiğini test edin
  • GerekirsePDF/Auygunluğunu doğrulayın
  • Parola koruma işlevini test edin
  • Tüm sayfalarda başlıkların/alt bilgilerin göründüğünü doğrulayın
  • Intel 11. nesil donanımda kontrol edin—IronPDF ile artık kayıt defteri çözümlerine gerek yok

IronPDF'e Geçişin Temel Avantajları

TextControl'den IronPDF'ye geçiş yapmak, PDF oluşturma konusunda odaklanmış ekipler için birçok avantaj sağlar:

PDF-İlk Mimarisi: IronPDF, modern HTML5 ve CSS3 standartlarından yararlanarak, özellikle PDF oluşturma için uyarlanmıştır ve sağlam belge oluşturma ve rendere etme yetenekleri sunar.

Maliyet Etkinliği: Zaman içinde önemli ölçüde daha ucuz hale gelen IronPDF'nin tek seferlik fiyatlandırması, özellikle yıllık %40 yenileme zorunluluğu ile TextControl'ün abonelik bazlı hizmetine kıyasla.

Kanıtlanmış İstikrar: Çeşitli donanımlar boyunca belgelenmiş güvenilirlik, TextControl'ün Intel grafiklerle karşılaştığı sorunları önler.

Bağlam Yönetimi Yok: ServerTextControl oluşturma törenini ve kaynak atma desenlerini ortadan kaldırın. IronPDF'nin durumsuz rendere mekanizması, kodu basitleştirir ve potansiyel bellek sızıntılarını azaltır.

Modern Render Motoru: .NET 10 ve C# 14 uyarlamaları 2026'ya kadar artarken, IronPDF'nin Chromium bazlı render yapısı mevcut ve gelecekteki web standartlarıyla 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