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

DynamicPDF'den IronPDF'e C# ile Nasıl Geçilir

Neden DynamicPDF'den IronPDF'ye Geçmelisiniz?

DynamicPDF'nin ürün parçalanması, geçişin ana itici gücüdür. Lisanslama modelini anlamak, mevcut uygulamanızın gerçek maliyetini değerlendirmek için gereklidir.

Ürün Parçalanması Sorunu

DynamicPDF, ayrı ürünler olarak satılır ve ayrı lisanslara sahiptir:

  1. DynamicPDF Generator: Başlangıçtan itibaren PDF oluşturun
  2. DynamicPDF Merger: Mevcut PDF'leri birleştirin, bölün, ve manipüle edin (ayrı satın alma)
  3. DynamicPDF Core Suite: Birleştirilmiş Generator ve Merger
  4. DynamicPDF ReportWriter: Rapor oluşturma
  5. DynamicPDF HTML Converter: HTML'den PDF'ye dönüşüm (ayrı bir eklenti)
  6. DynamicPDF Print Manager: Programlanabilir olarak PDF yazdırın

Tam bir PDF çözümü,DynamicPDFile 3-5 ayrı lisans gerektirir. IronPDF, hepsini tek bir pakette içerir.

Mimari Karşılaştırma

Bağlam DynamicPDF IronPDF
Ürün Modeli Parçalı (5+ ürün) Hepsi bir arada kütüphane
Lisanslama Birden fazla lisans gerekli Tek lisans
HTML to PDF Ayrı ek satın alma Dahili, Chromium tabanlı
CSS Desteği Sınırlı (ek gerekir) Flexbox/Grid ile tam CSS3
API Stili Koordinat bazlı konumlandırma HTML/CSS + manipülasyon API'si
Öğrenme Eğrisi Zorlayıcı (birden fazla API) Yumuşak (web teknolojileri)
Modern .NET .NET Standard 2.0 .NET 6/7/8/9+ yerel

Ana Geçiş Avantajları

  1. Tek Paket: Bir NuGet paketi, 3-5DynamicPDFpaketinin yerini alır
  2. Modern İşleme: Chromium motoru ile eski işleme karşılaştırması
  3. Web Teknolojileri: Koordinat tabanlı konumlandırma yerine HTML/CSS kullanın
  4. Daha Basit API: Az kod, daha okunabilir, daha kolay bakım
  5. Ek Satın Alma Yok: HTML, birleştirme, güvenlik hepsi dahil

Önceden Taşıma Hazırlığı

Önkoşullar

Ortamınızın bu gereksinimlere uygun olduğunu doğrulayın:

  • .NET Framework 4.6.2+ veya .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ veya C# uzantılı VS Code
  • NuGet Paket Yöneticisi erişimi -IronPDFlisans anahtarı (ücretsiz deneme ironpdf.com adresinde mevcuttur)

DynamicPDFKullanımı Denetleyin

Çözüm dizininizde tümDynamicPDFreferanslarını belirlemek için bu komutları çalıştırın:

# Find allDynamicPDFreferences
grep -r "ceTe.DynamicPDF\|DynamicPDF" --include="*.cs" --include="*.csproj" .

# Check NuGet packages
dotnet list package | grep -i dynamic
# Find allDynamicPDFreferences
grep -r "ceTe.DynamicPDF\|DynamicPDF" --include="*.cs" --include="*.csproj" .

# Check NuGet packages
dotnet list package | grep -i dynamic
SHELL

Aranacak yaygın paketler:

  • ceTe.DynamicPDF.CoreSuite.NET
  • ceTe.DynamicPDF.Generator.NET
  • ceTe.DynamicPDF.Merger.NET
  • ceTe.DynamicPDF.HtmlConverter.NET

Paradigma Değişimini Anlamak

DynamicPDF'den IronPDF'ye geçiş yaparken en büyük değişiklik, belge oluşturma konusundaki temel yaklaşımdır. DynamicPDF, bir sayfa üzerindeki öğeleri belirli X, Y koordinatlarına yerleştirerek koordinat tabanlı konumlandırma kullanır. IronPDF, web teknolojileri ile tasarım yaptığınız HTML/CSS işleme kullanır.

Bu paradigma değişimi, Label, TextArea ve Table2 öğelerini HTML eşdeğerlerine dönüştürmek anlamına gelir—bu değişiklik genellikle daha okunabilir, sürdürülebilir kod ile sonuçlanır.

Adım Adım Geçiş Süreci

Adım 1: NuGet Paketlerini Güncelleyin

TümDynamicPDFpaketlerini kaldırın ve IronPDF'yi yükleyin:

# RemoveDynamicPDFpackages
dotnet remove package ceTe.DynamicPDF.CoreSuite.NET
dotnet remove package ceTe.DynamicPDF.Generator.NET
dotnet remove package ceTe.DynamicPDF.Merger.NET
dotnet remove package ceTe.DynamicPDF.HtmlConverter.NET

# Install IronPDF
dotnet add package IronPdf
# RemoveDynamicPDFpackages
dotnet remove package ceTe.DynamicPDF.CoreSuite.NET
dotnet remove package ceTe.DynamicPDF.Generator.NET
dotnet remove package ceTe.DynamicPDF.Merger.NET
dotnet remove package ceTe.DynamicPDF.HtmlConverter.NET

# Install IronPDF
dotnet add package IronPdf
SHELL

2. Adım: Namespace Referanslarını Güncelleyin

DynamicPDF ad alanlarınıIronPDFile değiştirin:

// Remove these
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.Merger;
using ceTe.DynamicPDF.Conversion;

// Add this
using IronPdf;
// Remove these
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.Merger;
using ceTe.DynamicPDF.Conversion;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

3. Adım: Lisansı Yapılandır

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Tam API Geçiş Referansı

Çekirdek Sınıf Eşleştirmesi

DynamicPDF Sınıfı IronPDF Eşdeğeri
Document ChromePdfRenderer
Document PdfDocument
Page Sayfa kırılması ile HTML <div>
MergeDocument PdfDocument.Merge()
HtmlConverter ChromePdfRenderer

Sayfa Öğeleri ile HTML Eşlemesi

DynamicPDF Sayfa Elemanı IronPDF/HTML Eşdeğeri
Label <p>, <span>, <div>
TextArea <div>, CSS ile <p>
Image <img> etiketi
Table2 HTML <table>
PageNumberingLabel {page} / {total-pages} yer tutucuları

Anahtar API Haritalamaları

DynamicPDF IronPDF
Document + Page ChromePdfRenderer
Label, TextArea HTML <p>, <div>
Table2 HTML <table>
MergeDocument PdfDocument.Merge()
HtmlConverter ChromePdfRenderer
document.Draw() pdf.SaveAs() / pdf.BinaryData
PageNumberingLabel %%CP%% {page} yer tutucu

Kod Geçiş Örnekleri

HTML'den PDF'ye Dönüşüm

HTML'den PDF'e dönüşüm, DynamicPDF'nin ayrı bir HtmlConverter eklentisine ihtiyaç duyarken, IronPDF'nin yerleşik Chromium renderlemesini gerektirdiğini gösterir.

DynamicPDF Uygulaması:

// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Conversion;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1></body></html>";
        HtmlConverter converter = new HtmlConverter(html);
        converter.Convert("output.pdf");
    }
}
// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Conversion;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1></body></html>";
        HtmlConverter converter = new HtmlConverter(html);
        converter.Convert("output.pdf");
    }
}
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.Conversion

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim converter As New HtmlConverter(html)
        converter.Convert("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'nin ChromePdfRenderer, tam CSS3 desteğiyle Chromium tabanlı renderleme sağlar—ayrı bir eklenti satın alımı gerekmez. Daha fazla seçenek icin HTML'den PDF'ye belgelerini gorun.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, DynamicPDF'nin MergeDocument sınıfı (Merger ürün lisansı gerektiren) ile IronPDF'nin yerleşik statik Merge yöntemi arasındaki farkı gösterir.

DynamicPDF Uygulaması:

// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Merger;

class Program
{
    static void Main()
    {
        MergeDocument document = new MergeDocument("document1.pdf");
        document.Append("document2.pdf");
        document.Draw("merged.pdf");
    }
}
// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.Merger;

class Program
{
    static void Main()
    {
        MergeDocument document = new MergeDocument("document1.pdf");
        document.Append("document2.pdf");
        document.Draw("merged.pdf");
    }
}
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.Merger

Class Program
    Shared Sub Main()
        Dim document As New MergeDocument("document1.pdf")
        document.Append("document2.pdf")
        document.Draw("merged.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        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;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");
        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        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
$vbLabelText   $csharpLabel

IronPDF'nin statik Merge yöntemi çoklu PdfDocument nesnelerini doğrudan kabul eder. Daha fazla seçenek için PDF birleştirme belgelerine bakın.

PDF'lere Metin Ekleme

Metin yerleştirme, DynamicPDF'nin koordinat tabanlı Label ögelerinden IronPDF'nin HTML tabanlı TextStamper'a paradigma değişimini gösterir.

DynamicPDF Uygulaması:

// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Page page = new Page(PageSize.Letter);
        Label label = new Label("Hello from DynamicPDF!", 0, 0, 504, 100);
        page.Elements.Add(label);
        document.Pages.Add(page);
        document.Draw("output.pdf");
    }
}
// NuGet: Install-Package ceTe.DynamicPDF.CoreSuite.NET
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Page page = new Page(PageSize.Letter);
        Label label = new Label("Hello from DynamicPDF!", 0, 0, 504, 100);
        page.Elements.Add(label);
        document.Pages.Add(page);
        document.Draw("output.pdf");
    }
}
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.PageElements

Class Program
    Shared Sub Main()
        Dim document As New Document()
        Dim page As New Page(PageSize.Letter)
        Dim label As New Label("Hello from DynamicPDF!", 0, 0, 504, 100)
        page.Elements.Add(label)
        document.Pages.Add(page)
        document.Draw("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body></body></html>");
        var textStamper = new TextStamper()
        {
            Text = "Hello from IronPDF!",
            FontSize = 20,
            VerticalAlignment = VerticalAlignment.Top
        };
        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body></body></html>");
        var textStamper = new TextStamper()
        {
            Text = "Hello from IronPDF!",
            FontSize = 20,
            VerticalAlignment = VerticalAlignment.Top
        };
        pdf.ApplyStamp(textStamper);
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing

Class Program
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<html><body></body></html>")
        Dim textStamper As New TextStamper() With {
            .Text = "Hello from IronPDF!",
            .FontSize = 20,
            .VerticalAlignment = VerticalAlignment.Top
        }
        pdf.ApplyStamp(textStamper)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF'nin TextStamper, koordinat tabanlı yerleştirme yerine hizalama tabanlı yerleştirme sağlar, farklı sayfa boyutlarında düzenleri daha uyumlu hale getirir. Filigranlar ve damgalama dokümentasyonuna bakın.

Tam Belge Oluşturma Örneği

Bu kapsamlı örnek, çoklu öğeleri olan birDynamicPDFbelgesini IronPDF'nin HTML yaklaşımına dönüştürmeyi gösterir.

DynamicPDF Uygulaması:

using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.Merger;

// Generation (requires Generator license)
Document document = new Document();
Page page = new Page(PageSize.A4);
Label title = new Label("Invoice Report", 0, 0, 595, 30, Font.HelveticaBold, 18);
title.Align = TextAlign.Center;
page.Elements.Add(title);

Table2 table = new Table2(40, 60, 515, 500);
// ... complex table setup with columns, rows, cells...
page.Elements.Add(table);
document.Pages.Add(page);
document.Draw("invoice.pdf");

// Merging (requires Merger license)
MergeDocument mergeDoc = new MergeDocument("cover.pdf");
mergeDoc.Append("invoice.pdf");
mergeDoc.Draw("final.pdf");
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.Merger;

// Generation (requires Generator license)
Document document = new Document();
Page page = new Page(PageSize.A4);
Label title = new Label("Invoice Report", 0, 0, 595, 30, Font.HelveticaBold, 18);
title.Align = TextAlign.Center;
page.Elements.Add(title);

Table2 table = new Table2(40, 60, 515, 500);
// ... complex table setup with columns, rows, cells...
page.Elements.Add(table);
document.Pages.Add(page);
document.Draw("invoice.pdf");

// Merging (requires Merger license)
MergeDocument mergeDoc = new MergeDocument("cover.pdf");
mergeDoc.Append("invoice.pdf");
mergeDoc.Draw("final.pdf");
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.PageElements
Imports ceTe.DynamicPDF.Merger

' Generation (requires Generator license)
Dim document As New Document()
Dim page As New Page(PageSize.A4)
Dim title As New Label("Invoice Report", 0, 0, 595, 30, Font.HelveticaBold, 18)
title.Align = TextAlign.Center
page.Elements.Add(title)

Dim table As New Table2(40, 60, 515, 500)
' ... complex table setup with columns, rows, cells...
page.Elements.Add(table)
document.Pages.Add(page)
document.Draw("invoice.pdf")

' Merging (requires Merger license)
Dim mergeDoc As New MergeDocument("cover.pdf")
mergeDoc.Append("invoice.pdf")
mergeDoc.Draw("final.pdf")
$vbLabelText   $csharpLabel

IronPDF Uygulaması:

using IronPdf;

var renderer = new ChromePdfRenderer();

// All features in one library
var html = @"
<html>
<head>
    <style>
        body { font-family: Helvetica, sans-serif; padding: 40px; }
        h1 { text-align: center; font-size: 18pt; }
        table { width: 100%; border-collapse: collapse; margin-top: 20px; }
        th, td { border: 1px solid #ccc; padding: 8px; }
    </style>
</head>
<body>
    <h1>Invoice Report</h1>
    <table>
        <tr><th>Product</th><th>Qty</th><th>Price</th></tr>
        <tr><td>Widget</td><td>10</td><td>$99.99</td></tr>
    </table>
</body>
</html>";

var invoice = renderer.RenderHtmlAsPdf(html);

// Merging included - no separate license
var cover = PdfDocument.FromFile("cover.pdf");
var final = PdfDocument.Merge(cover, invoice);
final.SaveAs("final.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// All features in one library
var html = @"
<html>
<head>
    <style>
        body { font-family: Helvetica, sans-serif; padding: 40px; }
        h1 { text-align: center; font-size: 18pt; }
        table { width: 100%; border-collapse: collapse; margin-top: 20px; }
        th, td { border: 1px solid #ccc; padding: 8px; }
    </style>
</head>
<body>
    <h1>Invoice Report</h1>
    <table>
        <tr><th>Product</th><th>Qty</th><th>Price</th></tr>
        <tr><td>Widget</td><td>10</td><td>$99.99</td></tr>
    </table>
</body>
</html>";

var invoice = renderer.RenderHtmlAsPdf(html);

// Merging included - no separate license
var cover = PdfDocument.FromFile("cover.pdf");
var final = PdfDocument.Merge(cover, invoice);
final.SaveAs("final.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' All features in one library
Dim html As String = "
<html>
<head>
    <style>
        body { font-family: Helvetica, sans-serif; padding: 40px; }
        h1 { text-align: center; font-size: 18pt; }
        table { width: 100%; border-collapse: collapse; margin-top: 20px; }
        th, td { border: 1px solid #ccc; padding: 8px; }
    </style>
</head>
<body>
    <h1>Invoice Report</h1>
    <table>
        <tr><th>Product</th><th>Qty</th><th>Price</th></tr>
        <tr><td>Widget</td><td>10</td><td>$99.99</td></tr>
    </table>
</body>
</html>"

Dim invoice As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Merging included - no separate license
Dim cover As PdfDocument = PdfDocument.FromFile("cover.pdf")
Dim final As PdfDocument = PdfDocument.Merge(cover, invoice)
final.SaveAs("final.pdf")
$vbLabelText   $csharpLabel

Kritik Geçiş Notları

Koordinat Tabanlıdan HTML/CSS Yerleşimine

Temel paradigma değişimi, X, Y koordinat konumlandırmayı CSS tabanlı mizanpajlara dönüştürmeyi gerektirir:

//DynamicPDF- coordinate-based
var label = new Label("Hello World", 100, 200, 300, 50);

//IronPDF- CSS positioning (if absolute positioning needed)
var html = "<div style='position:absolute; left:100px; top:200px; width:300px;'>Hello World</div>";

//IronPDF- preferred approach (flow-based)
var html = "<div style='margin-left:100px; margin-top:200px;'>Hello World</div>";
//DynamicPDF- coordinate-based
var label = new Label("Hello World", 100, 200, 300, 50);

//IronPDF- CSS positioning (if absolute positioning needed)
var html = "<div style='position:absolute; left:100px; top:200px; width:300px;'>Hello World</div>";

//IronPDF- preferred approach (flow-based)
var html = "<div style='margin-left:100px; margin-top:200px;'>Hello World</div>";
' DynamicPDF- coordinate-based
Dim label = New Label("Hello World", 100, 200, 300, 50)

' IronPDF- CSS positioning (if absolute positioning needed)
Dim html = "<div style='position:absolute; left:100px; top:200px; width:300px;'>Hello World</div>"

' IronPDF- preferred approach (flow-based)
html = "<div style='margin-left:100px; margin-top:200px;'>Hello World</div>"
$vbLabelText   $csharpLabel

Sayfa Numaralandırma Söz Dizimi

DynamicPDF ve IronPDF, sayfa numaraları için farklı yer tutucu söz dizimi kullanır:

//DynamicPDFplaceholders
"Page %%CP%% of %%TP%%"

//IronPDFplaceholders
"Page {page} of {total-pages}"
//DynamicPDFplaceholders
"Page %%CP%% of %%TP%%"

//IronPDFplaceholders
"Page {page} of {total-pages}"
'DynamicPDFplaceholders
"Page %%CP%% of %%TP%%"

'IronPDFplaceholders
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

Üstbilgiler ve Altbilgiler

DynamicPDF Template öğeleriniIronPDFHtmlHeaderFooter'a dönüştürün:

//IronPDFheader/footer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
//IronPDFheader/footer
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
'IronPDFheader/footer
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center;'>Page {page} of {total-pages}</div>",
    .MaxHeight = 25
}
$vbLabelText   $csharpLabel

Daha fazla üstbilgi/altbilgi seçeneği için üstbilgiler ve altbilgiler dokümanına bakın.

Güvenlik Ayarları

//IronPDFsecurity
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.UserPassword = "userPassword";
//IronPDFsecurity
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.UserPassword = "userPassword";
'IronPDFsecurity
pdf.SecuritySettings.OwnerPassword = "ownerPassword"
pdf.SecuritySettings.UserPassword = "userPassword"
$vbLabelText   $csharpLabel

Kapsamlı güvenlik seçenekleri için şifreleme belgelerine bakın.

Göç Sonrası Kontrol Listesi

Kod göçünü tamamladıktan sonra, aşağıdakileri doğrulayın:

  • Oluşturulan PDF'lerin görsel karşılaştırması
  • Metin konumlandırma ve mizanpajı doğrulayın
  • Tablo işleme ve taşmayı test edin
  • Tüm sayfalarda üstbilgileri/altbilgileri doğrulayın
  • Form doldurma işlevselliğini test edin
  • Güvenliği/şifrelemeyi doğrulayın
  • Performans kıyaslaması
  • KullanılmayanDynamicPDFlisans dosyalarını kaldırın
  • Belgeleri güncelleyin

PDF Altyapınızı Geleceğe Hazırlama

.NET 10 ufukta ve C# 14 yeni dil özelliklerini tanıtırken, modern .NET kalıplarını benimseyen bir PDF kütüphanesi seçmek uzun vadeli uyumluluğu sağlar. IronPDF'nin yerel .NET 6/7/8/9+ desteği, projeler 2025 ve 2026'ya kadar uzanırken açık bir yol sağlar - birden çok ürün lisansını yönetme karmaşıklığı veya parçalı API'ler yönlendirme zorluğu olmadan.

Ek Kaynaklar


DynamicPDF'den IronPDF'ye geçiş, modern Chromium tabanlı işleme ve tam CSS3 desteği sağlarken birden çok ürün lisansını yönetme karmaşıklığını ortadan kaldırır. Koordinat tabanlı konumlandırmadan HTML/CSS tasarımına geçiş, genellikle tanıdık web teknolojilerinden yararlanan daha bakımı kolay kodla sonuçlanır.

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