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

PDF Duo'dan IronPDF'e C# ile Nasıl Geçilir

PDF Duo .NET'ten IronPDF'e geçiş, .NET PDF iş akışınızı belirsiz, düzgün belgelenmemiş bir kütüphaneden kararlı, iyi belgelenmiş ve aktif bir şekilde sürdürülen bir çözüme taşır. Bu kılavuz, terk edilmiş kütüphanelerle ilişkili riskleri ortadan kaldırarak PDF Duo'nun sağlayamayacağı gelişmiş özelliklere erişim sağlamak için kapsamlı bir adım adım geçiş yolu sunar.

Neden PDF Duo'dan IronPDF'e Geçmelisiniz

PDF Duo'nun Risk Sorunu

PDF Duo .NET, .NET ekosisteminde belirsiz ve daha az bilinen bir kütüphanedir. Basitlik arayan geliştiricilere cazip gelebilirken, kütüphanenin belirsizliği, üretim uygulamaları için önemli zorluklar sunmaktadır:

  1. Belirsiz Kaynak: Destekleyen bir şirketi doğrulanamayan tanınmayan geliştirici. Görünür bir GitHub deposu veya kaynak kodu yoktur, sınırlı NuGet indirme istatistikleri ve belirsiz lisans koşulları vardır.

  2. Eksik Belgelendirme: Güvenilir bilgi bulmak neredeyse imkansızdır. Resmi bir API referansı yok, sınırlı topluluk örnekleri var ve resmi öğretici veya kılavuzlar yok. PDF Duo'yu kullanma girişimleri, güvenilir belgelerin kıtlığı nedeniyle engellenmektedir.

  3. Terk Edilmiş veya Etkin Olmayan Durum: İhmalkarlık belirtileri, seyrek veya hiç güncelleme ile belirgindir. Destek forumları, 2019 yılından yanıt almayan gönderiler göstermektedir. Terk edilme riski, önemli projeler için uygunluğunu tehlikeye atar.

  4. Sınırlı Özellikler: Yalnızca temel işlevsellik—basit HTML'den PDF'ye dönüşüm ve temel PDF birleştirme, formlar, güvenlik veya filigranlar gibi gelişmiş özellikler olmadan.

  5. Bilinmeyen Render Motoru: Kaputun altında ne olduğuna dair hiçbir şeffaflık yok. CSS/JavaScript desteği bilinmiyor, render kalitesi öngörülemez ve modern web özelliği desteği belirsiz.

  6. Destek Riski: Bir şeyler ters gittiğinde herhangi bir çözüm bulunmuyor. Profesyonel destek yok, yardım edecek hiçbir topluluk yok ve tamamen terk edilme riski var.

PDF Duo vsIronPDFKarşılaştırması

Bağlam PDF Duo .NET IronPDF
Bakım Bilinmeyen/Pasif Aktif, düzenli güncellemeler
Dokümantasyon Seyrek/Eksik Kapsamlı
Destek None Profesyonel destek ekibi
Topluluk ~0 kullanıcı 41M+ NuGet indirimi
Render Bilinmeyen motor Modern Chromium
Özellikler Temel Tam özellikli
Kararlılık Bilinmiyor Üretim onaylı
Lisanslama Belirsiz Şeffaf

2025 ve 2026'ya kadar .NET 10 ve C# 14'ü benimsemeyi planlayan ekipler için IronPDF, aktif geliştirme ve kapsamlı belgelerle kararlı bir temel sağlar ve terk edilmiş bir kütüphaneye güvenmenin belirsizliklerini ortadan kaldırır.


Başlamadan Önce

Önkoşullar

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleme yeteneği
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

NuGet Paket Değişiklikleri

# RemovePDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo

# Install IronPDF
dotnet add package IronPdf
# RemovePDF Duo .NET(if you can find the correct package name)
dotnet remove package PDFDuo.NET
dotnet remove package PDFDuo
dotnet remove package PDF-Duo

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

// 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

PDF Duo Kullanımını Belirleme

# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
# Find all PDF Duo references
grep -r "PDFDuo\|HtmlToPdfConverter\|PdfMerger" --include="*.cs" .
SHELL

API Referansının Tamamı

Namespace Değişiklikleri

PDF Duo .NET IronPDF
using PDFDuo; using IronPdf;
using PDFDuo.Document; using IronPdf;
using PDFDuo.Rendering; using IronPdf.Rendering;
using PDFDuo.Settings; using IronPdf;

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

PDF Duo .NET IronPDF
new HtmlToPdfConverter() new ChromePdfRenderer()
converter.ConvertHtmlString(html, path) renderer.RenderHtmlAsPdf(html).SaveAs(path)
converter.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path)
converter.ConvertFile(htmlPath, pdfPath) renderer.RenderHtmlFileAsPdf(htmlPath).SaveAs(pdfPath)

Sayfa Yapılandırma Eşlemeleri

PDF Duo .NET IronPDF
settings.PageSize = PageSize.A4 RenderingOptions.PaperSize = PdfPaperSize.A4
settings.PageSize = PageSize.Letter RenderingOptions.PaperSize = PdfPaperSize.Letter
settings.Orientation = Landscape RenderingOptions.PaperOrientation = Landscape
new Margins(top, right, bottom, left) Ayrı kenar boşluğu özellikleri

Kenarlık Eşlemeleri

PDF Duo .NET IronPDF
new Margins(top, right, bottom, left) Bireysel özellikler
margins.Top RenderingOptions.MarginTop
margins.Right RenderingOptions.MarginRight
margins.Bottom RenderingOptions.MarginBottom
margins.Left RenderingOptions.MarginLeft

Belge Operasyonları Haritaları

PDF Duo .NET IronPDF
PDFDocument.Load(path) PdfDocument.FromFile(path)
document.Save(path) pdf.SaveAs(path)
document.ToBytes() pdf.BinaryData
new PdfMerger() PdfDocument.Merge()
merger.AddFile(path) PdfDocument.FromFile(path)
merger.Merge(output) merged.SaveAs(output)

PDF Duo'da Bulunmayan Yeni Özellikler

Özellik IronPDF
Üstbilgi/Altbilgi RenderingOptions.HtmlHeader, HtmlFooter
Sayfa numaraları {page}, {total-pages} yer tutucular
Filigranlar pdf.ApplyWatermark(html)
Parola koruması pdf.SecuritySettings
Form doldurma pdf.Form.Fields
Dijital imzalar pdf.SignWithFile()
Metin çıkarmak pdf.ExtractAllText()
PDF'den Görüntüye pdf.RasterizeToImageFiles()

Kod Geçiş Örnekleri

Örnek 1: HTML'den PDF'e Dönüştürme

Önce (PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        converter.ConvertHtmlString(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        converter.ConvertHtmlString(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
Imports PDFDuo
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        Dim htmlContent As String = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        converter.ConvertHtmlString(htmlContent, "output.pdf")
        Console.WriteLine("PDF created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>";
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim htmlContent = "<h1>Hello World</h1><p>This is a PDF document.</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Buradaki temel fark API desenidir. PDF Duo'nun HtmlToPdfConverter.ConvertHtmlString() tek bir cagrida hem HTML hem de cikti yolunu alir, dönüştürme ve kaydetmeyi birlikte yonetir. IronPDF'nin ChromePdfRenderer.RenderHtmlAsPdf() ilk olarak bir PdfDocument nesnesi doner, ardından SaveAs() ile kaydedersiniz.

Bu nesneye yönelik yaklaşım, önemli avantajlar sağlar: kaydetmeden önce PDF'yi (filigran ekleme, belgeleri birleştirme, güvenlik ekleme, metin çıkarma) manipüle edebilirsiniz—bunların hiçbiri PDF Duo'nun doğrudan dosyaya yaklaşımıyla mümkün değildir. Daha fazla işleme seçeneği için HTML'den PDF'ye dokümantasyonuna bakın.

Örnek 2: URL'den PDF'e Dönüştürme

Önce (PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.ConvertUrl("https://www.example.com", "webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.ConvertUrl("https://www.example.com", "webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
Imports PDFDuo
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        converter.ConvertUrl("https://www.example.com", "webpage.pdf")
        Console.WriteLine("Webpage converted to PDF!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Webpage converted to PDF!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("webpage.pdf")
        Console.WriteLine("Webpage converted to PDF!")
    End Sub
End Class
$vbLabelText   $csharpLabel

PDF Duo, ConvertUrl(url, outputPath) ile URL dönüştürme icin ayni HtmlToPdfConverter sinifini kullanir. IronPDF, ayrilmis RenderUrlAsPdf(url) metodu ile ChromePdfRenderer kullanir, bir PdfDocument nesnesi doner.

Ana avantaj, IronPDF'in Chromium tabanlı render motorunun modern CSS3 ve JavaScript desteği sağlamasıdır, oysa PDF Duo'nun bilinmeyen render motoru, CSS/JavaScript desteğini belirsiz ve render kalitesini öngörülemez bırakır. Daha fazla bilgi için URL'den PDF'ye dönüştürme hakkında bilgi edinin.

Örnek 3: PDF Birleştirme

Önce (PDF Duo):

// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        merger.AddFile("document1.pdf");
        merger.AddFile("document2.pdf");
        merger.Merge("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package PDFDuo.NET
using PDFDuo;
using System;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        merger.AddFile("document1.pdf");
        merger.AddFile("document2.pdf");
        merger.Merge("merged.pdf");
        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports PDFDuo
Imports System

Class Program
    Shared Sub Main()
        Dim merger As New PdfMerger()
        merger.AddFile("document1.pdf")
        merger.AddFile("document2.pdf")
        merger.Merge("merged.pdf")
        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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");
        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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");
        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports IronPdf
Imports System

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")
        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Bu örnek temel bir mimari farkı göstermektedir. PDF Duo, dosyalari kuyruga almak icin bir PdfMerger sinifini ve bir AddFile() metodunu kullanir, ardından tek adimda birlestirip kaydetmek icin Merge() kullanir.

IronPDF farkli bir desen kullanir: her bir PDF'yi bir PdfDocument olarak PdfDocument.FromFile() kullanarak yukleyin, ardından birlestirmek icin statik PdfDocument.Merge() metodunu kullanin. Bu, PdfDocument nesnesi doner ve SaveAs() ile ayri olarak kaydedersiniz.

IronPDF yaklaşımı daha fazla esneklik sunar—birleştirmeden önce herhangi bir PDF'yi manipüle edebilir, birleştirilmiş sonuca filigran ekleyebilir, güvenlik ayarları uygulayabilir ve daha fazlasını yapabilirsiniz. Birçok dosyayı birleştirmek için LINQ kullanabilirsiniz:

var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
var paths = new[] { "document1.pdf", "document2.pdf", "document3.pdf" };
var pdfs = paths.Select(PdfDocument.FromFile).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("merged.pdf");
Dim paths = {"document1.pdf", "document2.pdf", "document3.pdf"}
Dim pdfs = paths.Select(AddressOf PdfDocument.FromFile).ToList()
Dim merged = PdfDocument.Merge(pdfs)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

PDF'leri birleştirme ve bölme hakkında daha fazla bilgi edinin.


Geçiş Sonrası Yeni Özellikler

IronPDF'ye geçtikten sonra PDF Duo'nun sağlayamayacağı özelliklere sahip olursunuz:

Sayfa Numaralı Başlıklar ve Alt Bilgiler

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    MaxHeight = 25
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    MaxHeight = 25
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};

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

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align:center; font-size:10px;'>Company Report</div>",
    .MaxHeight = 25
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align:center; font-size:10px;'>Page {page} of {total-pages}</div>",
    .MaxHeight = 25
}

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

PDF Duo başlıkları veya altbilgileri desteklemez—eşdeğer bir işlevsellik yoktur. IronPDF, sayfa numaraları gibi dinamik içerikler için yerleşik yer tutucular ile tam HTML/CSS desteği sağlar. Başlıklar ve altbilgiler kılavuzunu görün.

Filigranlar

using IronPdf;
using IronPdf.Editing;

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

pdf.ApplyWatermark(
    "<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
    45,
    VerticalAlignment.Middle,
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
using IronPdf;
using IronPdf.Editing;

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

pdf.ApplyWatermark(
    "<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>",
    45,
    VerticalAlignment.Middle,
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing

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

pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>", 45, VerticalAlignment.Middle, HorizontalAlignment.Center)

pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

PDF Duo filigranları desteklemez. IronPDF, tam CSS biçimlendirme desteği ile HTML tabanlı filigranlar sağlar.

Şifre Koruması

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

PDF Duo parola korumasını veya güvenlik ayarlarını desteklemez.

Metin Çıkarma

var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
$vbLabelText   $csharpLabel

PDF Duo metin çıkarımını desteklemez.


Kritik Geçiş Notları

Marjinler Nesnesinden Bireysel Özelliklere

PDF Duo bir tek Margins nesnesi kullanir;IronPDFbireysel özellikler kullanır:

// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)

// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
// PDF Duo:
new Margins(top: 20, right: 15, bottom: 20, left: 15)

// IronPDF:
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginRight = 15;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
' PDF Duo:
New Margins(top:=20, right:=15, bottom:=20, left:=15)

' IronPDF:
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginRight = 15
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
$vbLabelText   $csharpLabel

Kaydetme Metodu İsimlendirme

Kaydetme için farklı metod adları:

// PDF Duo:
document.Save("output.pdf");

// IronPDF:
pdf.SaveAs("output.pdf");
// PDF Duo:
document.Save("output.pdf");

// IronPDF:
pdf.SaveAs("output.pdf");
' PDF Duo:
document.Save("output.pdf")

' IronPDF:
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

PDF'leri Yükleme

Yükleme için farklı metod adları:

// PDF Duo:
PDFDocument.Load("document.pdf")

// IronPDF:
PdfDocument.FromFile("document.pdf")
// PDF Duo:
PDFDocument.Load("document.pdf")

// IronPDF:
PdfDocument.FromFile("document.pdf")
' PDF Duo:
PDFDocument.Load("document.pdf")

' IronPDF:
PdfDocument.FromFile("document.pdf")
$vbLabelText   $csharpLabel

Ayarlar Nesnesinden Özelliklere

PDF Duo, yapıcıya geçirilen ayarlar nesnelerini kullanır;IronPDFözellikler kullanır:

// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);

// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// PDF Duo:
var settings = new PDFSettings { PageSize = PageSize.A4 };
var converter = new HtmlToPdfConverter(settings);

// IronPDF:
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' PDF Duo:
Dim settings As New PDFSettings With {.PageSize = PageSize.A4}
Dim converter As New HtmlToPdfConverter(settings)

' IronPDF:
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
$vbLabelText   $csharpLabel

Özellik Karşılaştırması

Özellik PDF Duo .NET IronPDF
HTML'den PDF'ye Temel Tam CSS3, JavaScript
URL'den PDF'ye Temel Kimlik doğrulama desteğiyle tam
PDF Merging Evet Evet
Üstbilgi/Altbilgi Hayır Tam HTML desteği
Sayfa Numaraları Hayır Yerleşik yer tutucular
Filigranlar Hayır HTML tabanlı
Şifre Koruması Hayır Tam güvenlik seçenekleri
Form Doldurma Hayır Evet
Dijital İmzalar Hayır Evet
Metin Çıkarma Hayır Evet
PDF'den Görüntülere Hayır Evet
Async Destegi Bilinmiyor Tam async/await
.NET Core/5+ Bilinmiyor Desteklenir

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanındaki tüm PDF Duo referanslarını bulun
  • Mevcut ayarları belgeleyin (sayfa boyutu, marjinler vb.)
  • Kullanılan tüm PDF işlemlerini listeleyin
  • Yeni özellikler için fırsatları belirleyin (başlıklar, filigranlar, güvenlik) -IronPDFlisans anahtarını edinin

Paket Değişiklikleri

  • PDFDuo.NET NuGet paketini kaldirin
  • IronPdf NuGet paketini kurun: dotnet add package IronPdf
  • Ad alanı importlarini using PDFDuo; den using IronPdf; e güncelleyin

Kod Değişiklikleri

  • Başlangıçta lisans anahtarı yapılandırması ekleyin
  • HtmlToPdfConverter ile ChromePdfRenderer'i değiştirin
  • ConvertHtmlString(html, path) ile RenderHtmlAsPdf(html).SaveAs(path)'i değiştirin
  • ConvertUrl(url, path) ile RenderUrlAsPdf(url).SaveAs(path)'i değiştirin
  • PdfMerger deseni ile PdfDocument.Merge() desenini değiştirin
  • Margins nesnesini bireysel kenar bosluklari özelliklerine dönüştürun
  • Save() ile SaveAs()'i değiştirin
  • Load() ile FromFile()'i değiştirin

Geçişten Sonra

  • PDF ciktilarini karsilastiran regresyon testleri yapin
  • Sayfa boyutlarının ve marjinlerin eşleştiğini doğrulayın
  • Karmaşık HTML/CSS ile test edin (IronPDF'nin modern motoru bunu daha iyi işlemelidir)
  • Yeni özellikler ekleyin (başlıklar, altbilgiler, filigranlar, güvenlik)
  • Belgeleri güncelleyin

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