Altbilgi içeriğine atla
IRONPDF KULLANARAK

C# PDF Uretim 7 Kütüphane Karsilastirmasi (Ücretsiz ve Ücretli Araclar)

C#'ta PDF oluşturma ozelligi, rapor oluşturmaktan fatura sistemlerine kadar pek çok modern uygulama icin kritiktir. Bu makalede, hem PDF dosyalarini C# kullanarak oluşturmada altinici popüler yöntemleri keşfedeceğiz ve IronPDF gibi kod tabanli kutuphaneleri ve online API'lar ile araclari vurgulayacagiz. Bir web uygulamasinda dinamik olarak PDF dosyalari oluşturmak ya da mevcut belgelerden PDF dosyalari oluşturmak isteyip istememek hic fark etmez, bu araclar sizin icin yeterli olacaktir.

1. IronPDF

IronPDF yuksek kaliteli HTML'den PDF dosya dönüştürme ihtiyaçi olan geliştiriciler icin tasarlanmis premium bir .NET PDF kutuphanesidir. IronPDF, kesin donusumleri saglamak icin Chromium tabanli bir render motoru kullanir ve HTML sayfalari ya da web tabanli raporlari C#'da PDF dosyalarina dönüştürmek isteyen web uygulamalari icin mükemmel bir secimdir. Bu arac, mevcut PDF belgeleri ile guclu işleme yetenekleriyle bilinir ve PDF düzenleme, birlestirme ya da bolme gibi özellikleri sunar.

IronPDF, NuGet Paket Yöneticisi aracılığıyla C# projelerine kolayca entegre edilir ve sadece birkaç satır kodla PDF belgeleri oluşturmaya başlayabilirsiniz. Hem dinamik HTML icerigi hem de sunucu tarafindan oluşturulan PDF dosya ciktilari icin çok yonlu bir arac.

Temel Özellikler

  • HTML'den PDF'ye Dönüştürme: IronPDF, JavaScript calistirma ve modern CSS destegi dahil olmak üzere karmasik HTML sayfalarini dogrudan PDF'ye dönüştürmede uzmandir. Cikarim motoru, ciktiyi bir web tarayicisinda gorunenden farkli olmayan bir sekilde saglar.
  • PDF Manipulasyonu: IronPDF, mevcut PDF belgelerini birlestirmenize, bolmenize ve kolayca değiştirmenize olanak tanir.
  • Ileri Düzey Stil Seçenekleri: IronPDF, harici stil dosyalari, özellikli yazı tipleri ve JavaScript'i destekleyerek çok stilize edilmıs belgeler yaratmanızı sağlar. Faturalar, raporlar ve web-tabanli içerik icin mukemmeldir.
  • Guvenlik Özellikleri: IronPDF, parola korumasi ekleme, dijital imzalar ve PDF üzerinde baskı, kopyalama veya düzenleme gibi işlemleri kısıtlamak için izinler ayarlama özellikleri sunar.
  • Form İşlemleri: IronPDF, geliştiricilerin programla PDF formlarını oluşturmasına, doldurmasına ve okumasına olanak tanır, bu da kullanıcı girdisi ihtiyaçına sahip uygulamalar icin iyi bir secimdir.
  • NuGet Paket Yöneticisi: Visual Studio'da paket yöneticisi konsolu üzerinden kolayca kurun ve yönetin.

Kod Örneği

using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>";

        // Create an instance of ChromePdfRenderer
        ChromePdfRenderer renderer = new ChromePdfRenderer(); 

        // Render the HTML as a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html); 

        // Save the PDF to a specified file
        pdf.SaveAs("Generated.pdf"); 
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		Dim html As String = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>"

		' Create an instance of ChromePdfRenderer
		Dim renderer As New ChromePdfRenderer()

		' Render the HTML as a PDF document
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

		' Save the PDF to a specified file
		pdf.SaveAs("Generated.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel
  1. Namespace Importu: using IronPdf;, IronPDF kutuphanesini sınıflarına ve yöntemlerine erişmek için dahil eder.
  2. HTML String: HTML değişkeni, PDF'ye dönüştürmek istediğiniz HTML içeriğini içerir.
  3. Renderer Örneği: new ChromePdfRenderer();, ChromePdfRenderer sınıfının bir örneğini oluşturur ve HTML içeriğini PDF formatına render etme yöntemleri sağlar.
  4. PDF Oluşturma: PdfDocument pdf = renderer.RenderHtmlAsPdf(html);, HTML dizgisini bir PDF dokümanına dönüştürür.
  5. PDF Kaydetme: pdf.SaveAs("Generated.pdf");, oluşturulan PDF'yi belirli bir dosya yoluna kaydeder.

Artılar

  • Web icerigi icin mükemmel cıktı kalitesi.
  • Formlar, baglantılar ve yer imleri icin mükemmel destek.

Eksiler

  • Daha buyuk projeler icin lisans ucretleri dusunulebilir.
  • Daha gelişmiş özellikler icin daha derin ogrenme gerekebilir.

2. iTextSharp

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 2

iTextSharp zengin işlevsellik sunan ve PDF dosyalarını oluşturup düzenlemek icin iyi bilenen bir .NET PDF kutuphanesidir. Finans ve hukuk gibi dokümanlarin ozellestirilmesi ve guvenliginin saglandigi endustrilerde yaygin bir bicimde kullanilir. iTextSharp, PDF dosyalarını sıfırdan oluşturmanıza, formları doldurmanıza ve PDF dosyalarını düzenlemenize olanak sağlayarak belgelerin içeriği üzerinde kapsamlı kontrol sunar. PDF dosyalarının hassas yerleşimlerle ve dinamik verilerle oluşturulması gereken uygulamaların ihtiyaçına uygun bir araçtır, örneğin faturalar veya sözleşmeler.

Temel Özellikler

  • Eksiksiz PDF Oluşturma Kapasiteleri: iTextSharp, sifirdan bir PDF dosyasini C# ile oluşturmanizi sağlar, geliştiricilerin metin, resim, tablo ve vektor grafikleri eklemesine izin verir. Sayfa boyutlari, kenar boşlukları ve metadatalarını tanımlama kabiliyeti dahil belgelerin yerleşimi üzerinde tam kontrol sağlar.
  • Form Doldurma: iTextSharp'ın ozel gucu, PDF formlarına (AcroForms) nasıl basarabilir. Çeşitli giriş alanlarına sahip formlar oluşturabilir ve daha sonra programla doldurabilir, otomatik belge oluşturma iş akışlarında kullanışlı bir özelliktir.
  • XML'den PDF'ye Dönüştürme: iTextSharp, XFA (XML Form Mimarisi) kullanarak XML verilerini PDF'ye dönüştürmek icin mükemmel bir destegi vardir. Bu özellikle, XML verilerinin standart formlar veya raporlar icin bicimlendirilmesi gerektigi endustrilerde degerlidir.
  • PDF Güvenliği: iTextSharp, belgelerin otantikliğini sağlamak ve hassas verileri korumak icin sifreleme, dijital imzalar ve damga ekleme gibi gelişmiş özellikleriyle birlikte gelir.
  • Metin Cıkartma ve Manipulasyon: Var olan PDF'lerden metin cikartabilir, belge icerigini yeniden düzenleyebilir veya sayfa elemanlarını düzenleyebilir, bu da belge ıslemi sonrasinda veya karmaşık PDF'lerden özet raporlar hazırlamak için kullanışlıdır.

Kod Örneği

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;

namespace Helpers
{
    public class PdfGenerator
    {
        public static byte[] GeneratePdfFromFragment(string htmlFragment)
        {
            var html = string.Format(@"
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment);
            return Generate(html);
        }

        public static byte[] GeneratePdfFromPage(string htmlPage)
        {
            return Generate(htmlPage);
        }

        private static byte[] Generate(string html)
        {
            using (var memoryStream = new MemoryStream())
            {
                var pdfDocument = new Document(PageSize.LETTER);
                var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream);
                pdfDocument.Open();
                using (var fw = new StringReader(html))
                {
                    XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw);
                }
                pdfDocument.Close();
                return memoryStream.ToArray();
            }
        }
    }
}
Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml

Namespace Helpers
	Public Class PdfGenerator
		Public Shared Function GeneratePdfFromFragment(ByVal htmlFragment As String) As Byte()
			Dim html = String.Format("
            <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
            <head>
            <style type='text/css'>
            table,td {{border: 1px solid black;}}
            div {{ white-space: nowrap; padding: 2px;}}
            table{{ border-collapse: collapse; width: 100%; empty-cells: show;}}
            body table {{font-size: 50%;}}
            th {{width:500px; height: 28px;}}
            td {{width:300px; height: 28px;}}
            </style>
            </head><body>{0}</body></html>", htmlFragment)
			Return Generate(html)
		End Function

		Public Shared Function GeneratePdfFromPage(ByVal htmlPage As String) As Byte()
			Return Generate(htmlPage)
		End Function

		Private Shared Function Generate(ByVal html As String) As Byte()
			Using memoryStream As New MemoryStream()
				Dim pdfDocument = New Document(PageSize.LETTER)
				Dim pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream)
				pdfDocument.Open()
				Using fw = New StringReader(html)
					XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw)
				End Using
				pdfDocument.Close()
				Return memoryStream.ToArray()
			End Using
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel
  1. Fragmentten Pdf Oluşturma: Bir HTML parçasını (kısmi bir HTML dokümanı gibi) alır ve temel bir <html> ve <body> şablonuyla sararak tam bir HTML yapısına dönüştürür. Daha sonra iç Generate yöntemini çağırır.
  2. Sayfadan Pdf Oluşturma: Tam bir HTML sayfasını kabul eder ve doğrudan Generate yöntemini çağırır.
  3. Oluştur: Bu method HTML'yi PDF'ye dönüştürme işlemini yurutur.
    • Hafizada oluşturulan PDF'yi tutmak icin bir MemoryStream başlatır.
    • Mektup boyutlu sayfalarla iTextSharp Document nesnesi oluşturur.
    • XMLWorkerHelper, HTML iceriğini ayrıştırır ve verilen StringReader kullanarak PDF belgesine yazar.

Artılar

  • Zengin özellik seti ile oldukca ozellestirilebilir.
  • Genis belgeleme ve topluluk destegi.

Eksiler

  • iTextSharp (kişisel kullanım için ücretsizdir ancak daha geniş projeler için ticari lisans gerektirir) karmaşık CSS veya JavaScript işleme ile ilgili sınırlamalar olabilir.
  • XMLWorker (burada kullanilan) HTML/CSS parcasi icin iTextSharp'tan eski bir arac. iText7 (iText'in yeni surumu), modern web standartlari icin daha iyi destek saglayabilecek daha guclu bir HTML parcasi olan pdfHTML kullanir.
  • Başlangic icin daha dik bir ogrenme egirisi.

3. PDFsharp

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 3

PDFSharp, basit PDF oluşturma gorevleri icin ideal olan hafif, acik kaynak .NET PDF kutuphanesidir. Eger uygulamaniz sadece metin, resim veya tablo eklemek gibi basit işlemler gerektiriyorsa, PDFSharp, C#'ta PDF belgeleri oluşturmak icin kullanimi kolay bir secenektir. HTML'den PDF'e donusum gibi gelişmiş özellikler eksik fakat C#'ta küçük ve orta olcekli PDF dosyalari oluşturmada sadeligi ile parliyor.

Temel Özellikler

  • Temel PDF Oluşturma: Metin ve grafik cizimi icin basit ve kullanimi kolay API. Duz belgeler oluşturmak icin idealdir.
  • Belge Manipulasyonu: Mevcut PDF'leri birlestirmek ve değiştirmek icin kolaylik saglayarak belge yonetiminde esneklik sunar.
  • Cizim ve Grafik Destegi: PDFsharp, PDF sayfalarinda cizim yapmak icin cizgiler, dikdortgenler ve diğer vektor grafiklerini iceren bir arac seti sunar. Ayrica PDF'lerinize resim gomunu destekler.
  • Ücretsiz ve Acik Kaynak: PDFsharp, ticari ve ticari olmayan kullanim icin tamamen ücretsiz olup, küçük isletmeler ve acik kaynak projeleri ustunde calisan geliştiriciler icin cekici bir seçenek haline gelir.

Kod Örneği

using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;

class Program
{
    static void Main()
    {
        // Create a new PDF document
        PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PdfSharp";

        // Add a page to the document
        PdfPage page = document.AddPage();

        // Create an XGraphics object to draw on the page
        XGraphics gfx = XGraphics.FromPdfPage(page);

        // Set a font to use for drawing text
        XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

        // Draw the text on the PDF page
        gfx.DrawString("Hello, World!", font, XBrushes.Black, 
                       new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

        // Save the document to disk
        document.Save("Generated.pdf");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing

Friend Class Program
	Shared Sub Main()
		' Create a new PDF document
		Dim document As New PdfDocument()
		document.Info.Title = "Created with PdfSharp"

		' Add a page to the document
		Dim page As PdfPage = document.AddPage()

		' Create an XGraphics object to draw on the page
		Dim gfx As XGraphics = XGraphics.FromPdfPage(page)

		' Set a font to use for drawing text
		Dim font As New XFont("Verdana", 20, XFontStyle.Bold)

		' Draw the text on the PDF page
		gfx.DrawString("Hello, World!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)

		' Save the document to disk
		document.Save("Generated.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel
  • PdfDocument: Tüm PDF belgeyi temsil eder. Sayfalar ekleyebilir, metadata ayarlayabilir ve belgeyi manipule edebilirsiniz.
  • PdfPage: Belgede tek bir sayfayi temsil eder. Yeni sayfalar AddPage metodu kullanilarak eklenir.
  • XGraphics: Belirli bir sayfada metin, resim ve sekil cizmek icin kullanilir. .NET icindeki GDI+ ile benzerdir.
  • XFont: Metin renderi icin font ve stili belirtir. Bu örnekte, "Verdana" bold stilde kullanilmis.
  • DrawString: Belirlenen metni belgedeki tanimlanmis konumda cizer.

Artılar

  • Lisans kisitlamasi olmadan ücretsiz ve acik kaynak.
  • Basit ve hafif, temel PDF generasyonu ile başlamayi kolay hale getirir.
  • Karmasik özellikler gerektirmeyen projeler icin iyi calisir.

Eksiler

  • Diğer kutuphanelere kiyasla sinirli islevsellik.
  • HTML'den PDF'e donusum icin dogal destek yok.

4. Syncfusion PDF Kutuphanesi

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 4

Syncfusion PDF Kutuphanesi genis uygulama çeşitliliginde PDF'lerle calismasi gereken girisimciler icin tasarlanmis yuksek performansli, kapsayici bir aractir. Daha genis Syncfusion paketi icinde yer aliyor ve çeşitli format ve platformlar icin kutuphaneler sunuyor. PDF kutuphanesi, basit belge oluşturmanin otesine gecen ve form doldurma, dijital imzalar ve belge guvenligi gibi detayli manipulasyona olanak taniyan genis özellik seti nedeniyle onde cikar.

Temel Özellikler

  • Kapsamli PDF API: Karmasik layoutlar, gomulu fontlar ve yuksek cozunurluklu resimler iceren son derece ozellestirilmis PDF'ler uretebilir. Sayfa formatindan gelişmiş layout seçeneklerine kadar PDF oluşturmanin tüm yonlerinde detayli kontrol saglar.
  • Form İşleme: Kütüphane, doldurulabilir PDF formlari (AcroForms) oluşturma, doldurma ve verilerini cikarma konusuna basarili. Kullanıcı girdileri icin doldurulabilir PDF'ler oluşturmak, veri girisini otomatiklestirmek veya doldurulmus formlari işlemek icin kullanisli.
  • Dijital Imzalar ve Sifreleme: PDF belgelerini sifreleme, sifre korumasi ekleme ve dijital imzalar uygulama yetenegini iceren guclu guvenlik özellikleri sunar. Ornegin saglik ve hukuki hizmetler gibi belge otantikligi ve guvenligi gerektiren endustriler icin hayati onem tasir.

Kod Örneği

using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

class Program
{
    static void Main()
    {
        // Create a new PDF document.
        PdfDocument document = new PdfDocument();

        // Add a page to the document.
        PdfPage page = document.Pages.Add();

        // Create PDF graphics for the page.
        PdfGraphics graphics = page.Graphics;

        // Set the standard font.
        PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20);

        // Draw the text.
        graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0));

        // Save the document.
        document.Save("Output.pdf");

        // Close the document.
        document.Close(true);
    }
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics

Friend Class Program
	Shared Sub Main()
		' Create a new PDF document.
		Dim document As New PdfDocument()

		' Add a page to the document.
		Dim page As PdfPage = document.Pages.Add()

		' Create PDF graphics for the page.
		Dim graphics As PdfGraphics = page.Graphics

		' Set the standard font.
		Dim font As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 20)

		' Draw the text.
		graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, New PointF(0, 0))

		' Save the document.
		document.Save("Output.pdf")

		' Close the document.
		document.Close(True)
	End Sub
End Class
$vbLabelText   $csharpLabel
  • PdfDocument: PDF belgelerini temsil eder. Sayfalar ekleyebilir, özellikler ayarlayabilir ve icerigini manipule edebilirsiniz.
  • PdfPage: PDF belgesinde bir sayfayi temsil eder.
  • PdfFont: Metin renderi icin fontu tanimlar. Bu durumda, standart bir Helvetica fontu kullanilir.
  • DrawString: Belirtilen metni belirtilen koordinatlardaki PDF sayfasina cizer.

Artılar

  • Zengin özellik seti, karmasık PDF'ler oluşturmak icin uygun.
  • Profesyonel destek ve dokümantasyon, onu genis capli uygulamalar icin ideal hale getirir.
  • Form doldurma, sifreleme ve anotasyonlar gibi gelişmiş PDF yeteneklerini destekler.

Eksiler

  • Ticari kullanim icin lisans ucretleri nispeten yuksektir.
  • Karmasik API, hakim olmak icin zaman gerektirebilir.

5. PDFShift (Online Arac)

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 5

PDFShift HTML'yi PDF dosyalarina ceviren bulut tabanli bir hizmettir. API'si araciligiyla C# uygulamalariyla kolayca entegre olur, dinamik olarak oluşturulan HTML web sayfalarini profesyonel kalitede PDF'lere cevirmeye izin verir. PDFShift, fatura veya rapor gibi HTML iceriginden talep uzerine PDF belgeleri oluşturmak isteyen web geliştiricileri icin özellikle faydalidir. PDFShift tamamiyle REST API'si aracılığıyla calistigi icin, hizmete sadece birkac satir HTML gonderip, karsiliginda indirilebilir bir PDF dosyasi alabilirsiniz. Web tabanli PDF dosyasi oluşturma icin basit, olceklendirilebilir bir cozum.

Temel Özellikler

  • HTML'den PDF'e Dönusum: PDFShift, HTML belgelerini yuksek kaliteli PDF'lere dönüştürme konusunda ustaligi. Karmaşık CSS stillerini, JavaScript ve duyarlı tasarım düzenlerini yoneterek web sayfanizin PDF formatinda ayni gorunumunu saglar.
  • API Entegrasyonu: PDFShift API, web uygulamalarına sorunsuz entegrasyon icin tasarlanmistr. Kullanimi çok kolaydir: basitce HTML icerigi ile bir HTTP POST istegi gonderin ve hizmet bir PDF belgesi dondurur.
  • Ozellestirme Seçenekleri: Sayfa boyutu, yon, kenar bosluklari ve basliklar/altbilgiler ayarlama dahil olmak üzere oluşturulan PDF'yi ozellestirmeye olanak tanir. Ayrıca baslik ve altbilgilere sayfa numaralari veya belge metadata gibi dinamik içerikler ekleyebilirsiniz.

Nasıl Çalışır

  • HTML icerigini PDFShift API noktasina bir POST istegi ile gonderin.
  • Yanıtta oluşturulan PDF'i alin, indirmeye ya da kaydetmeye hazır.

Örnek Kod

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>";
            var content = new StringContent(htmlContent, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		Using client As New HttpClient()
			Dim htmlContent As String = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>"
			Dim content = New StringContent(htmlContent, Encoding.UTF8, "application/json")

			Dim response As HttpResponseMessage = Await client.PostAsync("https://api.pdfshift.io/v3/convert", content)

			Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync()
			System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes)
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel
  • HttpClient: PDFShift API'ye POST istegi olarak HTML icerigini gonderir.
  • PostAsync: HTML'yi isleyen ve PDF'i donduren API'ye istegi gonderir.
  • ReadAsByteArrayAsync: Byte array olarak PDF yanitini okur, daha sonra dosya olarak kaydedilebilir.

Artılar

  • Minimal kurulumla basit API.
  • Dinamik HTML'den PDF'e donusum gerektiren web uygulamalari icin ideal.
  • PDF kutuphaneleri veya sunuculari yonetmeye gerek yok.

Eksiler

  • HTML'den PDF'e donusumle sinirli; daha fazla karmaşık PDF özelliklerini desteklemez.
  • Belirli bir kullanim esiginden sonra internet baglantisi ve maliyet gerektirir.

6. DocRaptor (Online Arac)

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 6

DocRaptor HTML ve CSS'yi yuksek kaliteli PDF'lere dönüştüren bir baska guclu API tabanlı PDF oluşturma hizmetidir. HTML belgelerini render etmedeki mukemmeliyetiyle bilinir, özellikle karmaşık CSS stilleri, medya sorgulari ve web fontlarini işlemek. Bu, DocRaptor'u raporlar, faturalar ve e-kitaplar gibi profesyonel gorunumlu belgeleri dogrudan HTML şablonlarindan uretmek icin harika bir seçenek haline getiren.

Temel Özellikler

  • HTML ve CSS Destegi: Media sorgulari ve fontlar dahil karmaşık CSS stilleriyle HTML belgelerini dönüştürur.
  • API Entegrasyonu: Web uygulamalarina sorunsuz entegrasyon icin REST API.
  • Ozel Basliklar/Altbilgiler: Sayfa numaralari ve ozel formatlama dahil dinamik basliklar ve altbilgiler ekleyin.
  • PDF Guvenligi: Sifreleme ve sifre korumasi destekler.

Nasıl Çalışır

  • HTML icerigi ile DocRaptor API'ye bir POST istegi gonderin.
  • Sayfa boyutu, kenar bosluklari, basliklar ve altbilgiler icin parametrelerle PDF cikisini ozellestirin.
  • Oluşturulan PDF'i yanit olarak alin.

Örnek Kod

using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            string apiKey = "YOUR_API_KEY";
            string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>";
            string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}";
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content);

            byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes);
        }
    }
}
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		Using client As New HttpClient()
			Dim apiKey As String = "YOUR_API_KEY"
			Dim htmlContent As String = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>"
			Dim jsonData As String = $"{{""test"": true, ""document_content"": ""{htmlContent}"", ""name"": ""Generated.pdf"", ""document_type"": ""pdf""}}"
			Dim content = New StringContent(jsonData, Encoding.UTF8, "application/json")

			Dim response As HttpResponseMessage = Await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content)

			Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync()
			System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes)
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel
  • API Key: DocRaptor'u kullanırken kimlik doğrulama icin bir API anahtari saglamalisiniz. Gerçek anahtarinizi "YOUR_API_KEY" ile değiştirin.
  • JsonData: Bu JSON string, HTML icerigi, belge adi ve turunu (bu durumda PDF) icerir.
  • PostAsync: PDF oluşturmak icin HTML icerigi ve parametreleri DocRaptor API'ye gonderir.

Artılar

  • HTML, CSS ve JavaScript icin tam destekle yuksek kaliteli render.
  • Belge layout ve guvenligi icin gelişmiş ozellestirme seçenekleri.
  • PDF oluşturma kutuphanelerini veya alt yapisini surdurmeye gerek yok.

Eksiler

  • Ücretsiz kullanim limitini astiktan sonra ucretli hizmet.
  • Internet bagimliligi.

7. Kod Gerektirmeyen Online Araclar

Eger kod yazmak istemiyorsaniz veya hızlı bir PDF oluşturma cozumune ihtiyaçiniz varsa, birçok online arac ile hizli ve kolay bir sekilde PDF oluşturabilirsiniz. Iste dikkat cekici birkac seçenek:

7.1. Smallpdf

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 7

Smallpdf, çeşitli dosya formatlarından PDF oluşturma yeteneği de dahil olmak üzere, PDF ile ilgili çeşitli araçlar sunan bir çevrimiçi platformdur. Kod yazmalarına gerek kalmadan basit bir sürükle ve bırak arayüzü isteyen kullanıcılar için tasarlanmıştır. Smallpdf, Word belgelerini, Excel tablolarını veya görselleri PDF'lere dönüştürme gibi hızlı dosya dönüştürmeleri için yaygın olarak kullanılır. Ayrıca, PDF'leri birleştirme, sıkıştırma ve bölme araçları sağlayarak, temel PDF görevleri için çok yönlü bir araç haline getirir.

Temel Özellikler

  • Dosya Dönüştürme: Word, Excel, PowerPoint ve resim dosyalarını (JPG, PNG) PDF'ye dönüştürmeyi destekler. Bu, çeşitli belge türlerinden hızla PDF oluşturması gereken kullanıcılar için idealdir.
  • PDF'leri Birleştirme ve Bölme: Birden fazla PDF'yi tek bir dosyada birleştirmek veya bir PDF'yi tek tek sayfalara bölmek için basit bir arayüz sunar.
  • Bulut Depolama Entegrasyonu: Google Drive veya Dropbox'tan dosyalarınızı kolayca yükleyebilir ve dönüştürülen PDF'leri bu platformlara geri kaydedebilirsiniz, bu da dosya yönetimini kolaylaştırır.
  • PDF Düzenleme Araçları: Anot ekleme, formları doldurma ve belgeleri dijital olarak imzalama gibi mevcut herhangi bir PDF belgesini düzenlemek için temel PDF düzenleme araçları sağlar.

Artılar

Geliştirici olmayanlar için kullanımı çok kolay.

  • Daha fazla özellik için yükseltme seçenekleriyle temel kullanım için ücretsiz.
  • PDF birleştirme, bölme ve sıkıştırma gibi geniş bir yelpazede PDF ile ilgili araçlar sunar.

Eksiler

Kod tabanlı çözümlere kıyasla sınırlı özelleştirme. Ücretsiz katmanda bazı özellik kısıtlamaları olabilir.

7.2. PDFescape

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 8

PDFescape, kullanıcıların herhangi bir yazılım yüklemeye gerek kalmadan PDF oluşturmasına, düzenlemesine ve görüntülemesine olanak tanıyan kolay kullanımlı bir web tabanlı PDF düzenleyicidir. PDF'lerde hizli duzenlemeler yapmasi gereken, form doldurma, metin aciklamalari ekleme veya resim yerlestirme gibi işlemleri gerceklestirenler icin harika bir arac. PDFescape, yeni PDF'ler oluşturmaya yönelik araçlar da sunar ve bu da onu temel belge oluşturma için esnek bir tercih haline getirir.

Temel Özellikler

  • Form Doldurma ve Düzenleme: PDF formlarını işlemek konusunda mükemmeldir. Kullanıcılar, sözleşmeler, başvurular ve diğer formlar için yararlı olan PDF belgelerinde kolayca formları doldurabilir veya mevcut alanları düzenleyebilir.
  • Temel PDF Oluşturma: Metin, şekiller, resimler ve form alanları eklemek için araçlar sunar. Mektup veya form gibi basit belgeler oluşturmak için kullanışlıdır. Aciklamalar ve Yorumlar: Mevcut PDF'lere yorumlar, yapiskan notlar ve diğer aciklamalar ekleyin. PDFescape, belge incelemesi ve is birligi icin harika bir arac haline gelir. Kurulum Gerekli Değil: Tamamen tarayıcınızda çalışır, bu nedenle herhangi bir yazılım yüklemenize gerek yoktur. Bu, hareket halindeyken PDF araçlarına hızlı erişime ihtiyaç duyan kullanıcılar için idealdir.

Artılar

Teknik olmayan kullanıcılar için kullanımı basit.

  • Temel PDF oluşturma ve düzenleme için ücretsiz katman.
  • Küçük PDF düzenleme görevleri için uygun.

Eksiler

  • Kapsamlı PDF oluşturma için gelişmiş özelliklere sahip değil.
  • Sınırlı tasarım ve biçimlendirme seçenekleri.

7.3. PDF Candy

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 9

PDF Candy, dosya dönüştürmeden düzenlemeye kadar geniş bir yelpazede PDF ile ilgili görevleri kapsayan ücretsiz çevrimiçi PDF araçları paketidir. Hesap oluşturma veya yazılım yükleme gerektirmeden hızlı PDF işlemleri yapması gereken kullanıcılar için mükemmel bir seçimdir. PDF Candy, Word belgeleri, resimler ve metin dosyaları gibi çeşitli dosya türlerini PDF'lere dönüştürmeyi destekler. Ayrıca, PDF'leri birleştirmek, bölmek ve sıkıştırmak için araçlar sunar.

Temel Özellikler

Geniş Kapsamlı Dönüştürme Seçenekleri: Word belgeleri, resimler ve metin dosyaları da dahil olmak üzere birden fazla dosya formatını PDF'e dönüştürebilir. Bu, farkli turdeki içerikleri işlemede esnek bir arac yapar.

  • PDF'leri Birleştirme ve Bölme: Kullanıcıların birden fazla PDF'i tek bir dosyada birleştirmelerini veya büyük PDF dosyalarını daha küçük, daha yönetilebilir dosyalara bölmelerini sağlar.
  • Dosya Gizliliği: Belgelerinizin gizli kalmasını sağlamak için dosyaları kısa bir süre sonra sunucularından otomatik olarak siler.
  • Ücretsiz Kullanım: Çoğu araç, kayıt olmadan ücretsiz kullanılabilir, bu da geniş bir kitleye erişilebilir kılar. Ancak, daha sık kullanım veya daha büyük dosya dönüştürmeleri ihtiyaçı olanlar için daha gelişmiş özelliklere sahip bir premium sürümü de sunmaktadır.

Artılar

Kullanımı kolaydır ve çoğu kullanıcı için tamamen ücretsizdir. Çeşitli dosya türlerini PDF'ye dönüştürmeyi destekler. Temel kullanım için hesap kaydı gerekmemektedir.

Eksiler

  • Sınırlı ileri düzey PDF özelleştirme özellikleri.
  • Bazı araçlar dosya boyutu veya dönüştürme karmaşıklığı konusunda sınırlamalara sahip olabilir.

Sonuç

C# PDF Oluşturma 7 Kütüphane Karşılaştırması (Ücretsiz ve Ücretli Araçlar): Şekil 10

C# ile PDF dosyaları oluşturmak için doğru aracı seçmek ihtiyaçlarınıza bağlıdır. HTML içeriğinden PDF belgeleri oluşturmanız gerekiyorsa, IronPDF ve PDFShift mükemmel seçimlerdir. iTextSharp ve Syncfusion, daha karmaşık projeler için belge yapısı üzerinde kapsamlı özelleştirme seçenekleri ve kontrol sunar. Daha basit, açık kaynaklı çözümler için, PDF dosyalarını değiştirmek veya temel PDF'ler oluşturmak için güvenilir bir seçenek PDFsharp'tır. Son olarak, geliştirici olmayanlar icin Smallpdf, PDFescape ve PDF Candy, PDF dosyalariyla kolay ve kodsuz calisma seçenekleri sunar.

Ücretli bir lisansa karar vermeden önce [IronPDF](trial license)'in HTML'den PDF'e dönüştürme ve PDF düzenleme özelliklerini test etmek isteyen geliştiriciler için mükemmel bir seçenek. Deneme sürümü, yüksek kaliteli PDF dosyası oluşturma, güvenlik seçenekleri ve mevcut PDF belgelerini değiştirme gibi premium özelliklerini keşfetmenize olanak tanır, bu da size aracın yeteneklerini birebir deneyimleme fırsatı sunar. Projeniz sık HTML'den PDF'e dönüştürmeler veya karmaşık PDF düzenlemeleri gerektiriyorsa, IronPDF'in ücretsiz denemesi ihtiyaçlarınızı karşılayıp karşılamadığını görmek için harika bir yoldur.

Her bir aracın özel özelliklerini ve projenizin kapsamını değerlendirerek, C# ile verimli bir şekilde PDF dosyaları oluşturmak için en iyi çözümü seçebilirsiniz.

Sıkça Sorulan Sorular

HTML'yi C#'de PDF'ye nasıl dönüştürebilirim?

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca RenderHtmlFileAsPdf kullanarak HTML dosyalarının PDF'lere dönüştürülmesini de sağlayabilirsiniz.

Ücretsiz ve ücretli C# PDF kütüphaneleri arasındaki farklar nelerdir?

PDFsharp gibi ücretsiz kütüphaneler, temel PDF oluşturma ve düzenleme için mükemmeldir, öte yandan IronPDF gibi ücretli kütüphaneler HTML'den PDF'ye dönüşüm, form işleme ve gelişmiş güvenlik gibi gelişmiş özellikler sunar.

C# dilinde temel PDF görevleri için en iyi açık kaynak kütüphane nedir?

PDFsharp, temel PDF oluşturma görevleri için ideal olan hafif, açık kaynaklı bir .NET PDF kütüphanesidir. Hem ticari hem de ticari olmayan kullanımlar için ücretsizdir.

iTextSharp, güvenli PDF belge oluşturmayi nasıl destekliyor?

iTextSharp, güvenli PDF belgeleri oluşturmak için dijital imzalar ve şifreleme desteği de dahil olmak üzere kapsamlı özelleştirme seçenekleri sunar ve bu da onu güvenli belge işlemesini gerektiren endüstriler için uygun hale getirir.

C# uygulamalarında HTML'den PDF'ye dönüştürme için çevrimiçi araçları kullanabilir miyim?

Evet, PDFShift ve DocRaptor gibi çevrimiçi araçlar, API tabanlı HTML'den PDF'e dönüştürme sunar, bu da dinamik PDF oluşturma gereksinimi olan web uygulamaları için idealdir.

Chromium tabanlı bir rendering motoruna sahip bir kütüphane kullanmanın PDF oluşturma için avantajları nelerdir?

Chromium tabanlı bir rendering motoru kullanan IronPDF gibi kütüphaneler, karmaşık stil ve JavaScript desteği ile yüksek kaliteli HTML'den PDF'ye dönüştürme imkanı sunar.

Syncfusion PDF Kütüphanesi, kurumsal uygulamalara nasıl fayda saglar?

Syncfusion PDF Library, kurumsal uygulamalar için kapsamli özellikler sunar, bunlar arasinda form işleme, dijital imzalar ve şifreleme bulunur ve bu da onu karmasik profesyonel gereksinimler için son derece uygun hale getirir.

IronPDF, yaklaşan .NET 10 sürümü ile uyumlu mu?

Evet — IronPDF, .NET 10'u doğrudan destekler. IronPDF, 9, 8, 7, 6, Core, Standard ve Framework sürümleriyle birlikte .NET 10 ile uyumlu olarak listelenmis olup, özel bir çözüm gerektirmez. (ironpdf.com)

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