Altbilgi içeriğine atla
ÜRüN KARşıLAşTıRMALARı

PDFsharp PDF'ye Sayfa Numaraları Ekleyin VS IronPDF (Örnek)

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against QuestPDF on pricing, HTML support, and licensing.

View Full Comparison

.NET'te PDF belgeleri ile çalışırken, geliştiriciler genellikle hangi kütüphanenin proje gereksinimlerine en iyi uyduğunu belirlemek için çeşitli kütüphaneleri karşılaştırmak zorunda kalırlar. Three popular choices in the .NET ecosystem are PDFSharp, QuestPDF, and IronPDF. Her kütüphane farklı kullanım durumlugizmet eder ve kendine özgü güçlü ve zayıf yönler sunar. Bu makalede, bu kütüphanelerin derinlemesine bir karşılaştırmasını ve bu URL'i kullanarak temel PDF oluşturma yeteneklerini nasıl ele aldıklarını sağlayacağız, böylece bilinçli bir karar verebilirsiniz.

PDFSharp Nedir?

PDFSharp, PDF belgeleri oluşturma, düzenleme ve işleme için tasarlanmış bir açık kaynaklı kütüphanedir. Basitlik ve temel PDF işlevselliğine odaklanarak, PDFSharp, basit PDF işleme yetenekleri arayan geliştiriciler için güvenilir bir araç olmuştur.

PDFSharp'ın Temel Özellikleri

  • PDF Oluşturma ve Düzenleme: Yeni PDF'ler oluşturun veya mevcutları değiştirin.
  • Grafik Çizim: Şekil, metin ve görüntü çizimi için destek içerir.
  • Açık Kaynak: MIT lisansı altında, kullanım ve değiştirme için ücretsizdir.

Kurulum

NuGet Paket Yöneticisi kullanımı yoluyla, PDFSharp'ı projelerinize kolayca yüklemek mümkündür. NuGet Paket Yöneticisi Konsolunda aşağıdaki satırı çalıştırmanız yeterli:

Install-Package PDFsharp

PDFSharp Kod Örneği

Şimdi bir URL'den yeni bir PDF belgesi oluşturmanın PDFSharp ile nasıl ele alınabileceğine bir göz atalım. PDFSharp tek başına HTML veya URL'den PDF'ye dönüştürme işlemini ele almadığı için, HtmlRenderer.PdfSharp gibi bir web işleme motorunu entegre etmemiz gerekecek. Ayrıca, verilen URL'den HTML içeriğini almak için HttpClient kullanacağız.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;

public class Program
{
    static async Task Main(string[] args)
    {
        // Ensure proper encoding support
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Generate PDF from the fetched HTML content
            var pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4);
            pdf.Save("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
Imports System
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks
Imports PdfSharp.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp

Public Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Ensure proper encoding support
		Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)

		Dim url As String = "https://www.apple.com"

		' Fetch HTML content from the URL
		Using client As New HttpClient()
			Dim htmlContent As String = Await client.GetStringAsync(url)

			' Generate PDF from the fetched HTML content
			Dim pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4)
			pdf.Save("output.pdf")

			Console.WriteLine("PDF created successfully as 'output.pdf'.")
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel

Çıktı PDF Dosyası

PDFSharp Örnek Çıktısı

Gördüğünüz gibi, PDFSharp HTML içeriğini ve web sayfalarını PDF dosyalarına dönüştürmek için kullanılabilir, ancak ek kütüphanelerin yardımına ihtiyaç duyar ve orijinal sitede görülen herhangi bir CSS ve biçimlendirmeyi tutamaz. Ücretsiz bir PDF geliştirici kütüphanesi olarak harika, ancak IronPDF gibi ücretli kütüphanelerde görülen bazı daha gelişmiş özelliklerden yoksundur.

QuestPDF Nedir?

QuestPDF, akıcı bir API kullanarak görsel olarak çekici PDF'ler üretmeye odaklanan modern, açık kaynaklı bir kütüphanedir. Yenilikçi belge yerleşimi ve render yaklaşımı, dinamik ve karmaşık tasarımlar gerektiren uygulamalar için güçlü bir rakip haline getirir.

QuestPDF'in Temel Özellikleri

  • Akıcı API: Belge yerleşimlerini tanımlamak için açıklayıcı bir yaklaşım sunar.
  • Modern Yerleşim Sistemi: CSS'den esinlenmiştir, ızgaralar, bileşenler ve esnek yerleşim yapıları destekler.
  • Yüksek Performans: Büyük ve karmaşık belgeleri hızlıca render etmek için optimize edilmiştir.

Kurulum

NuGet paketi olarak mevcut olan bu kütüphane sayesinde, yüklemek basit bir işlemdir; sadece NuGet Konsolunda bir satır çalıştırmak yeterlidir:

Install-Package QuestPDF

QuestPDF Kod Örneği

Şimdi QuestPDF'in URL örneğimizi PDF formatına dönüştürmesini nasıl ele alacağını inceleme zamanı geldi. QuestPDF, URL'den PDF'ye dönüştürmeyi doğal olarak desteklemese de, bir HTTP istemcisi kullanarak HTML içeriğini alabilir ve QuestPDF'in akıcı API'si ile PDF'ye dönüştürebilirsiniz.

using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class Program
{
    static async Task Main(string[] args)
    {
        // Configure QuestPDF to use the community license
        QuestPDF.Settings.License = LicenseType.Community;

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Parse the HTML content using HtmlAgilityPack
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(htmlContent);

            // Extract meaningful content (e.g., text inside <body>)
            var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found";

            // Generate PDF using QuestPDF
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(20);
                    page.Content().Text(bodyContent);
                });
            }).GeneratePdf("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using HtmlAgilityPack;
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

public class Program
{
    static async Task Main(string[] args)
    {
        // Configure QuestPDF to use the community license
        QuestPDF.Settings.License = LicenseType.Community;

        string url = "https://www.apple.com";

        // Fetch HTML content from the URL
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = await client.GetStringAsync(url);

            // Parse the HTML content using HtmlAgilityPack
            var htmlDoc = new HtmlDocument();
            htmlDoc.LoadHtml(htmlContent);

            // Extract meaningful content (e.g., text inside <body>)
            var bodyContent = htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText ?? "No content found";

            // Generate PDF using QuestPDF
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(20);
                    page.Content().Text(bodyContent);
                });
            }).GeneratePdf("output.pdf");

            Console.WriteLine("PDF created successfully as 'output.pdf'.");
        }
    }
}
Imports System
Imports System.Net.Http
Imports System.Threading.Tasks
Imports HtmlAgilityPack
Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure

Public Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Configure QuestPDF to use the community license
		QuestPDF.Settings.License = LicenseType.Community

		Dim url As String = "https://www.apple.com"

		' Fetch HTML content from the URL
		Using client As New HttpClient()
			Dim htmlContent As String = Await client.GetStringAsync(url)

			' Parse the HTML content using HtmlAgilityPack
			Dim htmlDoc = New HtmlDocument()
			htmlDoc.LoadHtml(htmlContent)

			' Extract meaningful content (e.g., text inside <body>)
			Dim bodyContent = If(htmlDoc.DocumentNode.SelectSingleNode("//body")?.InnerText, "No content found")

			' Generate PDF using QuestPDF
			Document.Create(Sub(container)
				container.Page(Sub(page)
					page.Size(PageSizes.A4)
					page.Margin(20)
					page.Content().Text(bodyContent)
				End Sub)
			End Sub).GeneratePdf("output.pdf")

			Console.WriteLine("PDF created successfully as 'output.pdf'.")
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel

Çıktı PDF Dosyası

QuestPDF Örnek Çıktısı

PDFSharp ile olduğu gibi, QuestPDF de HTML içeriğini PDF'ye dönüştürmek için HtmlAgilityPack gibi harici kütüphanelerin yardımıyla kullanılabilir, ancak mevcut CSS stil ve düzenlemeleri koruyamaz. QuestPDF, sıfırdan PDF belgeleri oluşturmak isteyen herkes için harika bir seçim olmasına rağmen, HTML'den PDF'ye dönüştürme bu kütüphane için güçlü bir nokta değildir.

IronPDF: Güçlü bir PDF Kütüphanesi

IronPDF, gelişmiş ve kapsamlı PDF yetenekleri needing .NET geliştiricilerini hedefleyen sağlam bir PDF kütüphanesidir. HTML'den PDF'ye render etme odaklı olarak, PDF belgelerinin işlenmesi, şifreleme ve PDF/A uyumluluğu için gelişmiş seçenekler gibi ek özelliklerle birleşerek kurumsal sınıf uygulamalar için güçlü bir seçim haline getirir.

IronPDF'nin Ana Özellikleri

  • HTML'den PDF'ye: Tüm web sayfalarını veya HTML dizgilerini kolayca PDF olarak render edin.
  • PDF/A Uyumluluğu: Uzun vadeli arşivleme standartlarına uygun belgeler oluşturun.
  • Gelişmiş Güvenlik: Şifreleme, parola koruması ve dijital imzaları destekler.
  • PDF Düzenleme: Mevcut PDF dosyalarını düzenleme, birleştirme ve ayırma.
  • Çapraz Platform: Tamamen .NET Framework, .NET Core ve .NET 5+ ile uyumlu.

Kurulum

IronPDF'i kurmak için Visual Studio'da NuGet Paket Yöneticisini kullanın:

NuGet Paket Yöneticisi Kullanarak:

  1. Projenizi Visual Studio'da açın.
  2. Solution Explorer'da projeye sağ tıklayın ve "NuGet Paketlerini Yönet"i seçin.
  3. "IronPDF" arayın ve "Yükle"ye tıklayın.

IronPDF Kurulum Görselleri

NuGet Paket Yöneticisi Konsolu'nu Kullanarak:

Install-Package IronPdf

Örnek: IronPDF Kullanarak URL'yi PDF'ye Dönüştürme

IronPDF, URL'lerin PDF'ye dönüştürülmesi için basit ve doğrudan bir API sunar. İşte bir örnek:

using IronPdf;

public class PdfConverter
{
    public static void Main(string[] args)
    {
        // Create a renderer with IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the URL as a PDF
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the PDF
        pdf.SaveAs("url.pdf");
    }
}
using IronPdf;

public class PdfConverter
{
    public static void Main(string[] args)
    {
        // Create a renderer with IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Render the URL as a PDF
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");

        // Save the PDF
        pdf.SaveAs("url.pdf");
    }
}
Imports IronPdf

Public Class PdfConverter
	Public Shared Sub Main(ByVal args() As String)
		' Create a renderer with IronPdf
		Dim renderer As New ChromePdfRenderer()

		' Render the URL as a PDF
		Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.apple.com")

		' Save the PDF
		pdf.SaveAs("url.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Çıktı PDF Dosyası

IronPDF Örnek Çıktısı

Yukarıdaki kod örneği, IronPDF'in URL içeriğini yalnızca birkaç satır kodla PDF'ye nasıl kolayca dönüştürebileceğini göstermektedir. Görebileceğiniz gibi, sadece HTML'yi değil, CSS stil ve düzenlemelerini de dönüştürdü, bu da çıktı PDF'sinin orijinal formatlamaya sadık kalmasını sağlıyor. ChromePdfRenderer render motoru kullanımıyla IronPDF, içerik kalitesini kaybetmeden piksel mükemmelliğinde PDF belgeleri üretir.

Burada görüldüğü gibi, IronPDF HTML'den PDF'ye dönüştürme ve diğer belge türlerini PDF'ye dönüştürme için güçlü bir seçimdir. Yüksek kaliteli dönüştürme işlemlerini kısa, uygulama kolay bir kod bloğu içinde yönetir.

Ayrıntılı Analiz

Kullanım Kolaylığı

PDFSharp basit ve kullanımı kolaydır, bu da onu yeni başlayanlar veya temel PDF ihtiyaçları olan geliştiriciler için mükemmel bir seçim haline getirir. Prosedürel yaklaşımı, bir PDF'ye metin, şekil veya resim ekleme gibi görevler için hızlı kurulum ve uygulama sağlar. Ancak HTML ve URL'den PDF'ye dönüştürme işlemlerini ele almak için bir harici kütüphane gerektirir.

QuestPDF ise akıcı API'si ile daha modern bir yaklaşım sunar. Web veya UI tasarımında deneyime sahip geliştiriciler için sezgiseldir, ancak yeni başlayanlar, yerleşim merkezli tasarım felsefesine alışırken hafif bir öğrenme eğrisi ile karşılaşabilirler. Yine de, HTML'den PDF'ye dönüştürme işlemlerini ele alacak yerleşik araçlardan yoksundur.

IronPDF, HTML'den PDF'ye dönüştürme ve gelişmiş PDF özellikleri için en kolay deneyimi sağlar. Zamandan tasarruf sağlayan sezgisel API'ı ve güçlü dokümantasyon ile örnek çalışmaları vardır. IronPDF, bu makalede incelediğimiz URL'den PDF'ye örnekte olduğu gibi, birçok farklı belge türünü kalite kaybı olmadan PDF'ye dönüştürebilir.

Performans

Performans özellikle PDF'leri dinamik olarak üretilmesi gereken uygulamalar için kritik bir faktördür. PDFSharp küçük ve basit belgeler için yeterlidir, ancak büyük ölçekli veya karmaşık düzenlerde zorlanır.

QuestPDF dinamik ve görsel olarak çekici belgeleri render etmede üstünlük sağlar. Yüksek verimlilikle yapılandırılmış düzenleri ele almak için optimize edilmiştir.

IronPDF, performans ve işlevselliği son derece iyi dengelemektedir, özellikle HTML render, CSS ve JavaScript desteği gerektiren uygulamalar için. Ayrıca kurumsal sınıf PDF görevlerini kolayca ele alma kapasitesine sahiptir.

Karşılaştırma Özeti

  • PDFSharp hafif ve açık kaynaklı bir kütüphane olup, temel PDF oluşturma ve düzenleme görevleri için en uygun olanıdır. Küçük projeler için idealdir, ancak modern düzenler ve gelişmiş özellikler için destek eksikliği vardır.
  • QuestPDF, akıcı API'si ile dinamik, karmaşık ve görsel olarak çekici PDF'ler üreten parlıyor. Ancak, sadece PDF oluşturma üzerine odaklanmıştır ve mevcut belgeleri düzenlemeyi desteklemez.
  • IronPDF gömülü HTML'den PDF'ye dönüştürme, OCR ve gelişmiş güvenlik seçenekleri dahil en kapsamlı özellik setini sunar. Ticari bir lisans gerektirir ancak işlevselliği, kurumsal ve profesyonel uygulamalar için en iyi seçim yapar.

Sonuç

Doğru PDF kütüphanesini seçmek, .NET projeniz için özel gereksinimlerinize bağlıdır. Eğer temel PDF görevleri için hafif, açık kaynaklı bir araç gerekiyorsa, PDFSharp sağlam bir seçenektir. Dinamik ve görsel açıdan çekici belgeler oluşturmak için QuestPDF, modern yaklaşımıyla öne çıkıyor.

Ancak, gelişmiş özellikler, sorunsuz HTML'den PDF'e dönüştürme ve kurumsal düzeyde yetenekler gerekiyorsa, IronPDF'in neler sunduğunu inceleyin.

Her kütüphanenin güçlü ve zayıf yönlerini anlayarak, projenizin ihtiyaçlarına uygun bir karar verebilirsiniz.

Lütfen dikkate alınPDFSharp ve QuestPDF, ilgili sahiplerinin tescilli markalarıdır. Bu site, PDFSharp veya QuestPDF tarafından desteklenmemekte, onaylanmamakta veya sponsorluk edilmektedir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

Sıkça Sorulan Sorular

PDFsharp, QuestPDF ve IronPDF arasındaki fark nedir?

PDFsharp, sadeliği ve temel PDF işlevleri ile tanınır, bu da onu temel görevler için uygun kılar. QuestPDF, görsel olarak çekici belgeler için modern bir API sunar, ancak yerel HTML dönüştürme desteği yoktur. IronPDF, HTML'den PDF'e dönüştürme ve gelişmiş manipülasyon konularında mükemmeldir, kurumsal uygulamalar için idealdir.

HTML'yi .NET içinde PDF olarak nasıl işleyebilirim?

HTML'yi .NET içinde PDF olarak işlemek için IronPDF'yi kullanabilirsiniz. Tam CSS ve JavaScript desteği sunar, bu da yüksek kaliteli belge dönüştürmeyi mümkün kılar.

Projelerim için neden QuestPDF'yi seçebilirim?

QuestPDF, dinamik ve görsel olarak karmaşık PDF belgeleri gerektiren projeler için idealdir. Akıcı API'si sayesinde esnek düzenler sağlar, ancak HTML'den PDF'e yerel destek sunmaz.

PDFsharp kullanmanın sınırlamaları nelerdir?

PDFsharp'ın doğal olarak HTML'den PDF'e dönüştürme desteği yoktur. Temel PDF oluşturma ve düzenleme görevleri için en uygun olanıdır.

IronPDF, gelişmiş PDF manipülasyonunu nasıl destekler?

IronPDF, PDF düzenleme, şifreleme ve PDF/A uyumluluğu gibi gelişmiş özellikler sunar. Güçlü PDF işleme gerektiren kurumsal düzeydeki uygulamalar için tasarlanmıştır.

PDFsharp ile görsel olarak çekici PDF'ler oluşturabilir miyim?

PDFsharp, temel PDF oluşturma ve düzenleme işlevleri sağlarken, QuestPDF ve IronPDF'de bulunan gelişmiş düzen ve tasarım yeteneklerinden yoksundur; bu, görsel olarak karmaşık belgeler için daha uygun olanlardır.

Bu PDF kütüphanelerinin kurulum adımları nelerdir?

Üç kütüphane de Visual Studio'da NuGet Paket Yöneticisi üzerinden kurulabilir. NuGet Paket Yöneticisi Konsolu'nda Install-Package [LibraryName] komutunu kullanın ve [LibraryName] kısmını PDFsharp, QuestPDF veya IronPDF ile değiştirin.

IronPDF kullanmanın bir maliyeti var mı?

Evet, IronPDF'nin dağıtımı için ticari bir lisans gereklidir, kapsamlı destek ve kurumsal düzeydeki uygulamalar için uygun ileri özellikler sunar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
QuestPDF Logo

Yüksek fiyatlı yenilemelerden ve güncel olmayan ürün güncellemelerinden bıktınız mı?

Mühendislik geçiş desteğimizle ve daha iyi bir anlaşma ile QuestPDF üzerinden kolayca geçiş yapın.

IronPDF Logo

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara