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

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

ZetPDF, yaygın olarak kullanılan açık kaynaklı PDFSharp kitaplığı temelinde oluşturulmuş, C# uygulamaları için ticari lisanslı bir PDF kütüphanesidir. ZetPDF, ticari destek ve temel PDF işleme yetenekleri sağlarken, PDFSharp temellerinden miras aldığı önemli sınırlamaları taşır. En önemlisi, kütüphane koordinat tabanlı grafik programlamaya dayanır ve modern alternatiflere kıyasla sınırlı HTML'den PDF'e dönüştürme yetenekleri sunar.

Bu kılavuz, ZetPDF'den IronPDF'e komple bir geçiş yolu sunar ve bu geçişi değerlendiren profesyonel .NET geliştiricileri için adım adım talimatlar, kod karşılaştırmaları ve pratik örnekler içerir.

ZetPDF'den Neden Taşınmalısınız

ZetPDF, PDFSharp'un bir çatalı olarak, modern belge oluşturma iş akışları için etkinliğini sınırlayan aynı mimari kısıtlamaları miras alır. Geliştirme ekiplerinin geçişi değerlendirme nedenleri şunları içerir:

Koordinat Tabanlı API: ZetPDF, geliştiricileri her öğeyi kesin koordinatlar ile konumlandırmaya zorlar. Her öğenin karmaşık manuel konumlandırılması, gereksinimler değiştikçe bakım zorlukları yaratır.

Sınırlı CSS Desteği: Stil sistemi yok, bu nedenle her öğe için manuel font ve renk yönetimi gereklidir.

JavaScript İşleme Yok: Dinamik web içeriğini görüntüleyemez veya PDF oluşturma sırasında JavaScript'i çalıştıramaz.

Sınırlı Benzersiz Sunumlar: Ücretsiz olarak PDFSharp'u kullanmaya kıyasla, ZetPDF, ticari lisanslamayı gerektiren az sayıda zorlu neden sunar.

Manuel Sayfa Sonları: Otomatik sayfalama yerine sayfa taşmalarını manuel olarak hesaplamak ve yönetmek gerekir.

Metin Ölçümü Gereklidir: Metin kaydırma için manuel hesaplama, ek geliştirme yükü yaratır.

Temel Sorun

ZetPDF ve PDFSharp, sizi her öğeyi kesin koordinatlar ile konumlandırmaya zorlar:

// ZetPDF: El ile positioning nightmare
graphics.DrawString("Name:", font, brush, new XPoint(50, 100));
graphics.DrawString("John Doe", font, brush, new XPoint(100, 100));
graphics.DrawString("Address:", font, brush, new XPoint(50, 120));
graphics.DrawString("123 Main St", font, brush, new XPoint(100, 120));
// ... hundreds of lines for a simple form
// ZetPDF: El ile positioning nightmare
graphics.DrawString("Name:", font, brush, new XPoint(50, 100));
graphics.DrawString("John Doe", font, brush, new XPoint(100, 100));
graphics.DrawString("Address:", font, brush, new XPoint(50, 120));
graphics.DrawString("123 Main St", font, brush, new XPoint(100, 120));
// ... hundreds of lines for a simple form
' ZetPDF: El ile positioning nightmare
graphics.DrawString("Name:", font, brush, New XPoint(50, 100))
graphics.DrawString("John Doe", font, brush, New XPoint(100, 100))
graphics.DrawString("Address:", font, brush, New XPoint(50, 120))
graphics.DrawString("123 Main St", font, brush, New XPoint(100, 120))
' ... hundreds of lines for a simple form
$vbLabelText   $csharpLabel

IronPDFHTML/CSSkullanır - düzenleme motoru her şeyi işler:

// IronPDF: Simple HTML
var html = @"
<p><strong>Name:</strong> John Doe</p>
<p><strong>Address:</strong> 123 Main St</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
// IronPDF: Simple HTML
var html = @"
<p><strong>Name:</strong> John Doe</p>
<p><strong>Address:</strong> 123 Main St</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
' IronPDF: Simple HTML
Dim html As String = "
<p><strong>Name:</strong> John Doe</p>
<p><strong>Address:</strong> 123 Main St</p>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

IronPDF vs ZetPDF: Ö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 ZetPDF IronPDF
PDFSharp Tabanlı Evet Hayır
HTML'den PDF'ye Dönüştürme Sınırlı Evet (Tam Chromium)
Ticari Lisans Evet, Süresiz Evet
Açık Kaynak Vakfı PDFSharp (MIT Lisansı) Chromium tabanlı
CSS Desteği Hayır Tam CSS3
JavaScript Hayır Tam ES2024
Otomatik Düzen Hayır Evet
Otomatik Sayfa Sonları Hayır Evet
Tablolar El ile çizim HTML <table>
Başlıklar/Altbilgiler El ile HTML/CSS
Filigranlar Manuel kod Yerleşik
PDF'leri Birleştir Sınırlı Evet
PDF'leri Böl Sınırlı Evet
Dijital İmzalar Hayır Evet
PDF/A Hayır Evet
Basitlik ve Kullanım Kolaylığı Orta High

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

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

Adım 1: NuGet Paketini Değiştir

ZetPDF'i kaldırın:

# Remove ZetPDF
dotnet remove package ZetPDF
# Remove ZetPDF
dotnet remove package ZetPDF
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

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

// Before (ZetPDF)
using ZetPdf;
using ZetPdf.Drawing;
using ZetPdf.Fonts;

// After (IronPDF)
using IronPdf;
// Before (ZetPDF)
using ZetPdf;
using ZetPdf.Drawing;
using ZetPdf.Fonts;

// After (IronPDF)
using 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

HTML'den PDF'e işlem, bu .NET PDF kütüphaneleri arasındaki API farklarını göstermektedir.

ZetPDF Yaklaşımı:

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

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        converter.ConvertHtmlToPdf(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package ZetPDF
using ZetPDF;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        converter.ConvertHtmlToPdf(htmlContent, "output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
Imports ZetPDF
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
        converter.ConvertHtmlToPdf(htmlContent, "output.pdf")
        Console.WriteLine("PDF created successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var htmlContent = "<html><body><h1>Hello World</h1></body></html>";
        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 = "<html><body><h1>Hello World</h1></body></html>";
        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 = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

ZetPDF, dosya yoluna doğrudan yazan HtmlToPdfConverter ile ConvertHtmlToPdf() kullanır. IronPDF, çıktıyla daha fazla esneklik sağlayan, dosyayı kaydetmenize, ikili veri almanıza veya kaydetmeden önce ek işlemler yapmanıza olanak tanıyan bir PdfDocument nesnesi döndüren ChromePdfRenderer ile RenderHtmlAsPdf() sağlar.

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

URL'leri PDF'ye Dönüştürme

URL'den PDF'e dönüştürme modeli farklarını açıkça gösterir.

ZetPDF Yaklaşımı:

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

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        converter.ConvertUrlToPdf(url, "webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
// NuGet: Install-Package ZetPDF
using ZetPDF;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        var url = "https://www.example.com";
        converter.ConvertUrlToPdf(url, "webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
Imports ZetPDF
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdfConverter()
        Dim url As String = "https://www.example.com"
        converter.ConvertUrlToPdf(url, "webpage.pdf")
        Console.WriteLine("PDF from URL created successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

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

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim url = "https://www.example.com"
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")
        Console.WriteLine("PDF from URL created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

ZetPDF, HtmlToPdfConverter sınıfını ConvertUrlToPdf() ile kullanır. IronPDF, JavaScript çalıştırma ve modern CSS dahil doğru web sayfası yakalama için tam bir Chromium oluşturma motorunu kullanan RenderUrlAsPdf() ile ChromePdfRenderer üzerinde sağlar.

Kimlik doğrulama ve ozellestirilmis baslik seçenekleri icin URL'den PDF'ye dokümantasyonu kesfedin.

Birden Fazla PDF'yi Birleştirme

PDF birleştirme, belgelerin nasıl ele alındığı konusunda önemli API farklılıklarını ortaya koyar.

ZetPDF Yaklaşımı:

// NuGet: Install-Package ZetPDF
using ZetPDF;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        var files = new List<string> { "document1.pdf", "document2.pdf" };
        merger.MergeFiles(files, "merged.pdf");
        Console.WriteLine("PDFs merged successfully");
    }
}
// NuGet: Install-Package ZetPDF
using ZetPDF;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var merger = new PdfMerger();
        var files = new List<string> { "document1.pdf", "document2.pdf" };
        merger.MergeFiles(files, "merged.pdf");
        Console.WriteLine("PDFs merged successfully");
    }
}
Imports ZetPDF
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim merger As New PdfMerger()
        Dim files As New List(Of String) From {"document1.pdf", "document2.pdf"}
        merger.MergeFiles(files, "merged.pdf")
        Console.WriteLine("PDFs merged successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF Yaklaşımı:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
        Console.WriteLine("PDFs merged successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdfs = new List<PdfDocument>
        {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        };
        var merged = PdfDocument.Merge(pdfs);
        merged.SaveAs("merged.pdf");
        Console.WriteLine("PDFs merged successfully");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdfs As New List(Of PdfDocument) From {
            PdfDocument.FromFile("document1.pdf"),
            PdfDocument.FromFile("document2.pdf")
        }
        Dim merged = PdfDocument.Merge(pdfs)
        merged.SaveAs("merged.pdf")
        Console.WriteLine("PDFs merged successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

ZetPDF, MergeFiles() ile dosya yolları üzerinde çalışan özel bir PdfMerger sınıfı kullanır. IronPDF, belgeleri PdfDocument.FromFile() kullanarak PdfDocument nesneleri olarak yükler, ardından bunları statik PdfDocument.Merge() yöntemiyle birleştirir. Bu nesne yönelimli yaklaşım, kaydetmeden önce birleşik belge üzerinde ek işlemler yapmanıza olanak tanır.

PDF birleştirme belgelerini ek birleştirme seçenekleri için keşfedin.

Koordinat Tabanlı Çizim vs HTML

Koordinat tabanlı grafikler kullanan mevcutZetPDFkoduna sahip geliştiriciler için, geçiş yolu çizim komutlarını HTML/CSS'ye dönüştürmeyi içerir.

ZetPDF Koordinat Tabanlı Yaklaşım:

using ZetPdf;
using ZetPdf.Drawing;

var document = new PdfDocument();
var page = document.AddPage();
page.Width = XUnit.FromMillimeter(210);
page.Height = XUnit.FromMillimeter(297);

var graphics = XGraphics.FromPdfPage(page);
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Arial", 12);

graphics.DrawString("Company Report", titleFont, XBrushes.Navy,
    new XPoint(50, 50));
graphics.DrawString("This is the introduction paragraph.", bodyFont, XBrushes.Black,
    new XPoint(50, 80));
graphics.DrawString("Generated: " + DateTime.Now.ToString(), bodyFont, XBrushes.Gray,
    new XPoint(50, 100));

document.Save("report.pdf");
using ZetPdf;
using ZetPdf.Drawing;

var document = new PdfDocument();
var page = document.AddPage();
page.Width = XUnit.FromMillimeter(210);
page.Height = XUnit.FromMillimeter(297);

var graphics = XGraphics.FromPdfPage(page);
var titleFont = new XFont("Arial", 24, XFontStyle.Bold);
var bodyFont = new XFont("Arial", 12);

graphics.DrawString("Company Report", titleFont, XBrushes.Navy,
    new XPoint(50, 50));
graphics.DrawString("This is the introduction paragraph.", bodyFont, XBrushes.Black,
    new XPoint(50, 80));
graphics.DrawString("Generated: " + DateTime.Now.ToString(), bodyFont, XBrushes.Gray,
    new XPoint(50, 100));

document.Save("report.pdf");
Imports ZetPdf
Imports ZetPdf.Drawing

Dim document As New PdfDocument()
Dim page = document.AddPage()
page.Width = XUnit.FromMillimeter(210)
page.Height = XUnit.FromMillimeter(297)

Dim graphics = XGraphics.FromPdfPage(page)
Dim titleFont As New XFont("Arial", 24, XFontStyle.Bold)
Dim bodyFont As New XFont("Arial", 12)

graphics.DrawString("Company Report", titleFont, XBrushes.Navy, New XPoint(50, 50))
graphics.DrawString("This is the introduction paragraph.", bodyFont, XBrushes.Black, New XPoint(50, 80))
graphics.DrawString("Generated: " & DateTime.Now.ToString(), bodyFont, XBrushes.Gray, New XPoint(50, 100))

document.Save("report.pdf")
$vbLabelText   $csharpLabel

IronPDF HTML Yaklaşımı:

using IronPdf;

var html = $@"
<html>
<head>
    <style>
        body {{ font-family: Arial, sans-serif; padding: 50px; }}
        h1 {{ color: navy; }}
        .date {{ color: gray; }}
    </style>
</head>
<body>
    <h1>Company Report</h1>
    <p>This is the introduction paragraph.</p>
    <p class='date'>Generated: {DateTime.Now}</p>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
using IronPdf;

var html = $@"
<html>
<head>
    <style>
        body {{ font-family: Arial, sans-serif; padding: 50px; }}
        h1 {{ color: navy; }}
        .date {{ color: gray; }}
    </style>
</head>
<body>
    <h1>Company Report</h1>
    <p>This is the introduction paragraph.</p>
    <p class='date'>Generated: {DateTime.Now}</p>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");
Imports IronPdf

Dim html As String = $"
<html>
<head>
    <style>
        body {{ font-family: Arial, sans-serif; padding: 50px; }}
        h1 {{ color: navy; }}
        .date {{ color: gray; }}
    </style>
</head>
<body>
    <h1>Company Report</h1>
    <p>This is the introduction paragraph.</p>
    <p class='date'>Generated: {DateTime.Now}</p>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

ZetPDF yaklaşımı, font nesneleri oluşturmayı, kesin piksel konumlarını hesaplamayı ve grafik bağlamını manuel olarak yönetmeyi gerektirir.IronPDFyaklaşımı, web geliştiricilerinin zaten bildiği standart HTML ve CSS'yi kullanır - fontlar, renkler ve düzen tanıdık CSS özellikleri aracılığıyla yönetilir.

ZetPDF API'denIronPDFHaritalama Referansı

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

ZetPDF IronPDF
new PdfDocument() new ChromePdfRenderer()
document.AddPage() Otomatik
XGraphics.FromPdfPage(page) N/A
graphics.DrawString() HTML metin elemanları
graphics.DrawImage() <img> etiketi
graphics.DrawLine() CSS kenarları
graphics.DrawRectangle() CSS border + div
new XFont() CSS font-family
XBrushes.Black CSS color
document.Save() pdf.SaveAs()
PdfReader.Open() PdfDocument.FromFile()
HtmlToPdfConverter ChromePdfRenderer
ConvertHtmlToPdf() RenderHtmlAsPdf()
ConvertUrlToPdf() RenderUrlAsPdf()
PdfMerger PdfDocument.Merge()

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

Sorun 1: Koordinata Dayalı Düzen

ZetPDF: Her şey manuel konumlandırma ile kesin X,Y koordinatları gerektirir.

Çözüm:HTML/CSSakış düzenini kullanın. İhtiyaç duyulduğunda mutlak konumlandırma için CSS kullanın:

.positioned-element {
    position: absolute;
    top: 100px;
    left: 50px;
}

Sorun 2: Yazı Tipi Nesnesi Yönetimi

ZetPDF: Her font varyasyonu için XFont nesneleri oluşturun.

Çözüm: CSS font-family kullanın - fontlar otomatik olarak işlenir:

<style>
    body { font-family: Arial, sans-serif; }
    h1 { font-family: 'Times New Roman', serif; font-size: 24px; font-weight: bold; }
</style>
<style>
    body { font-family: Arial, sans-serif; }
    h1 { font-family: 'Times New Roman', serif; font-size: 24px; font-weight: bold; }
</style>
HTML

Sorun 3: Renk Yönetimi

ZetPDF: XBrushes ve renk nesnelerini kullanın.

Çözüm: Standart CSS renklerini kullanın:

.header { color: navy; background-color: #f5f5f5; }
.warning { color: rgb(255, 0, 0); }

Sorun 4: Manuel Sayfa Sonları

ZetPDF: Y konumunu izleyin ve içerik taşdığında manule yeni sayfalar oluşturun.

Çözüm:IronPDFotomatik sayfa sonlarını işler. Açık kontrol için, CSS kullanın:

.section { page-break-after: always; }
.keep-together { page-break-inside: avoid; }

Sorun 5: Tablo Oluşturma

ZetPDF: Dikdörtgenlerin, çizgilerin ve metin konumlandırmanın manuel çizimini gerektirir.

Çözüm: CSS stil ile standart HTML tablolarını kullanın:

<table style="border-collapse: collapse; width: 100%;">
    <tr>
        <th style="border: 1px solid black; padding: 8px;">Header</th>
    </tr>
    <tr>
        <td style="border: 1px solid black; padding: 8px;">Data</td>
    </tr>
</table>
<table style="border-collapse: collapse; width: 100%;">
    <tr>
        <th style="border: 1px solid black; padding: 8px;">Header</th>
    </tr>
    <tr>
        <td style="border: 1px solid black; padding: 8px;">Data</td>
    </tr>
</table>
HTML

ZetPDF Taşınma Kontrol Listesi

Ön Taşınma Görevleri

TümZetPDFkullanımını belirlemek için kod tabanınızı denetleyin:

grep -r "using ZetPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|PdfMerger\|XGraphics" --include="*.cs" .
grep -r "using ZetPDF" --include="*.cs" .
grep -r "HtmlToPdfConverter\|PdfMerger\|XGraphics" --include="*.cs" .
SHELL

HTML'ye dönüştürmeye ihtiyaç duyan koordinat tabanlı çizim kodunu belgeleyin. Font ve renk kullanım desenlerini not alın. Düzen yapılarını HTML eşdeğerlerine haritalayın.

Kod Güncelleme Görevleri

1.ZetPDFNuGet paketini kaldırın

  1. IronPdf NuGet paketini kurun
  2. Ad uzayı içe aktarmalarını ZetPDF den IronPdf ye güncelleyin
  3. HtmlToPdfConverter 'i ChromePdfRenderer ile değiştirin
  4. ConvertHtmlToPdf() çağrılarını RenderHtmlAsPdf() + SaveAs() ye dönüştürün
  5. ConvertUrlToPdf() çağrılarını RenderUrlAsPdf() + SaveAs() ye dönüştürün
  6. PdfMerger.MergeFiles() 'u PdfDocument.Merge() ile değiştirin
  7. DrawString() çağrılarını HTML metin öğelerine dönüştürün
  8. XFont 'iCSS font-family'ye dönüştürün
  9. XBrushes 'i CSS renkleri ile değiştirin
  10. BaşlangıçtaIronPDFlisans başlatmasını ekleyin

Taşınım Sonrası Test

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

  • Görsel çıktıyı karşılaştırarak görünümün eşleştiğinden veya iyileştiğinden emin olun
  • Yazı tipi CSS stilleriyle beklenildiği gibi görüntüleniyor mu kontrol edin
  • Sayfa sonu oluşumlarını otomatik sayfalama ile doğru şekilde test edin
  • Görsellerin doğru pozisyonda ve şekilde görüntülendiğini doğrulayın
  • PDF birleştirme işlemlerinin doğru çıktıyı ürettiğini test edin
  • Tüm mevcut işlevselliğin yeni uygulamayla çalıştığını doğrulayın

IronPDF'e Geçişin Temel Avantajları

ZetPDF'den IronPDF'e geçiş birkaç önemli avantaj sağlar:

Modern Chromium Görüntüleme Motoru:IronPDFHTML'den PDF'e dönüştürme için Chromium kullanarak CSS3 ve ES2024 JavaScript desteği sağlar. Modern çerçeveler ve duyarlı tasarımlar doğru şekilde görüntülenir.

HTML Tabanlı İçerik Oluşturma: Web geliştiricileri, mevcut HTML ve CSS becerilerini kullanabilir. Koordinat tabanlı çizim API'lerini öğrenmeye veya yazı tipi nesnelerini yönetmeye gerek yok.

Otomatik Düzen ve Sayfalama: Metin sarma, sayfa kırılmaları ve akış düzeni otomatik olarak gerçekleşir. El ile öğe konumları hesaplamaya gerek yok.

Sadeleştirilmiş API: Ortak işlemler için tekli metod çağrıları. PdfDocument.Merge(), karmaşık dosya yolu işleme kalıplarının yerini alır.

Aktif Geliştirme: 2026 boyunca .NET 10 ve C# 14 benimsenmesi arttıkça, IronPDF'in düzenli güncellemeleri mevcut ve gelecekteki .NET sürümleriyle uyumluluğu sağlar.

Kapsamlı Özellik Seti: Dahili filigran ekleme, dijital imzalar, PDF/A uyumluluğu ve ZetPDF'in eksik olduğu gelişmiş PDF manipülasyon özellikleri.

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