VB.NET ile PDF Dosyası Nasıl Ayrıştırılır
C# PDF oluşturma işlevselliği, raporlama sistemlerinden faturalama sistemlerine kadar birçok modern uygulama için kritiktir. Bu makalede, C# kullanarak PDF dosyaları oluşturmanın altı popüler yolunu araştıracağız ve hem IronPDF gibi kod tabanlı kütüphaneler hem de çevrimiçi API'lar ve araçları vurgulayacağız. PDF dosyalarını dinamik olarak bir web uygulamasında oluşturmanız veya mevcut belgelerden yalnızca PDF dosyaları oluşturmanız gerekirse, bu araçlar size üstesinden gelir.
1. IronPDF
IronPDF, geliştiriciler için yüksek kaliteli HTML'den PDF dosyası dönüşümü gerektiren premium bir .NET PDF kütüphanesidir. IronPDF, kesin dönüşümler sağlamak için Chromium tabanlı bir işleme motoru kullanır ve HTML sayfalarını veya web tabanlı raporları C# ile PDF dosyalarına dönüştürmek isteyen web uygulamaları için mükemmel bir seçimdir. Bu araç, mevcut PDF belgelerini güçlü bir şekilde işleme kabiliyeti ile bilinir ve PDF'leri düzenlemek, birleştirmek veya bölmek için özellikler sunar.
IronPDF, NuGet Paket Yöneticisi aracılığıyla C# projelerine kolayca entegre olur ve sadece birkaç satır kod ile PDF belgeleri oluşturmaya başlayabilirsiniz. Hem dinamik HTML içeriği hem de sunucu tarafından oluşturulmuş PDF dosyası çıktıları için çok yönlü bir araçtır.
Başlıca Özellikler
- HTML'den PDF'ye Dönüştürme: IronPDF, JavaScript yürütme ve modern CSS desteği dahil olmak üzere karmaşık HTML sayfalarını doğrudan PDF'ye dönüştürmede mükemmeldir. Web tarayıcısında gördüğünüzle aynı görünen bir çıktı sağlamaktadır.
- PDF Manipülasyonu: IronPDF, mevcut PDF belgelerini birleştirme, bölme ve değiştirme işlemlerini kolayca yapmanıza olanak tanır.
- Gelişmiş Stil Seçenekleri: IronPDF, harici stil sayfalarını, özel fontları ve JavaScript'i destekleyerek yüksek stil sahip belgeler oluşturmanıza olanak tanır. Faturalar, raporlar ve web tabanlı içerik için mükemmel.
- Güvenlik Özellikleri: IronPDF, şifre koruması ekleme, dijital imzalar ve PDF'yi yazdırma, kopyalama veya düzenleme gibi eylemleri sınırlamak için izin ayarlama özellikleri sunar.
- Form İşleme: IronPDF, geliştiricilerin programlı olarak PDF formları oluşturmasına, doldurmasına ve okumasına izin verir, bu da PDF formatında kullanıcı girdileri gerektiren uygulamalar için uygun bir durumdur.
- NuGet Paket Yöneticisi: Visual Studio'daki paket yöneticisi konsolundan kolayca yükleyin 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
- Namespace İçe Aktarma:
using IronPdf;, IronPDF kütüphanesini sınıf ve yöntemlerine erişim sağlamak için içe aktarır. - HTML Dizgisi: 'html' değişkeni, PDF'ye dönüştürmek istediğiniz HTML içeriğini barındırır.
- Renderer Örneği:
new ChromePdfRenderer();, HTML içeriğini PDF formatına dönüştürmek için yöntemler sağlayan ChromePdfRenderer sınıfının bir örneğini oluşturur. - PDF Dönüştür:
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);, HTML dizesini bir PDF belgesine dönüştürür. - PDF Kaydet:
pdf.SaveAs("Generated.pdf");, oluşturulan PDF'yi belirtilen dosya yoluna kaydeder.
Artılar
- Web içeriği için mükemmel işleme kalitesi.
- Formlar, bağlantılar ve yer imleri için sağlam destek.
Eksiler
- Daha büyük projeler için lisans ücretleri dikkate alınabilir.
- Daha gelişmiş özellikler daha derin bir öğrenme gerektirebilir.
2. iText

iText, PDF dosyalarını oluşturmak ve düzenlemek için kapsamlı işlevsellik sunan, köklü bir .NET PDF kütüphanesidir. Özellikle belgelerin özelleştirilmesi ve güvenliğinin sağlanması gereken finans ve hukuk gibi sektörlerde yaygın olarak kullanılmaktadır. iText, dokümanın içeriği üzerinde kapsamlı kontrol sağlayarak sıfırdan PDF dosyaları oluşturmanıza, formları doldurmanıza ve PDF dosyalarını düzenlemenize olanak tanır. Özellikle faturalar veya sözleşmeler gibi kesin düzenlemeler ve dinamik veri gerektiren kurumsal uygulamalar için kullanışlıdır.
Başlıca Özellikler
- Tam PDF Oluşturma Yetenekleri: iText, metinler, resimler, tablolar ve vektör grafikler eklemeye olanak tanıyarak, C#'de sıfırdan bir PDF dosyası oluşturmayı kolaylaştırır. Sayfa boyutlarını, kenar boşluklarını ve meta verileri tanımlama yeteneği de dahil olmak üzere belge düzeni üzerinde tam kontrol sağlar.
- Form Doldurma: iText'in önemli bir özelliği, PDF formlarını (AcroForms) işleme becerisidir. Çeşitli giriş alanlarına sahip formlar oluşturabilir ve daha sonra programlı olarak doldurabilirsiniz; bu, otomatikleştirilmiş belge oluşturma iş akışları için yararlıdır.
- XML'den PDF'ye Dönüşüm: iText, XFA (XML Forms Architecture) kullanarak XML verilerini PDF'ye dönüştürme konusunda sağlam bir desteğe sahiptir. Özellikle XML verilerinin standart formlar veya raporlara formatlanması gereken sektörlerde değerlidir.
- PDF Güvenliği: iText, dokümanın özgünlüğünü sağlamak ve hassas verileri korumak için şifreleme, dijital imzalar ve filigranlar ekleme gibi gelişmiş özellikler içerir.
- Metin Çıkartma ve Manipülasyon: Var olan PDF'lerden metin çıkarabilir, belge içeriğini yeniden düzenleyebilir veya sayfa öğelerini manipüle ederek, karmaşık PDF'lerden özet raporlar oluşturmak veya belgeleri işleme sonrası düzenlemek için kullanılabilir.
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(htmlFragment As String) As Byte()
Dim html As String = 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(htmlPage As String) As Byte()
Return Generate(htmlPage)
End Function
Private Shared Function Generate(html As String) As Byte()
Using memoryStream As New MemoryStream()
Dim pdfDocument As New Document(PageSize.LETTER)
Dim pdfWriter As PdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream)
pdfDocument.Open()
Using fw As New StringReader(html)
XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw)
End Using
pdfDocument.Close()
Return memoryStream.ToArray()
End Using
End Function
End Class
End Namespace
- GeneratePdfFromFragment: Bir HTML parçası (örneğin, kısmi bir HTML belgesi) alır ve onu temel bir
<html>ve<body>şablonuyla sararak tam bir HTML yapısına dönüştürür. Daha sonra dahiliGenerateyöntemini çağırır. - GeneratePdfFromPage: Tam bir HTML sayfasını kabul eder ve doğrudan
Generateyöntemini çağırır. - Generate: Bu yöntem HTML'yi PDF'ye dönüştürme işlemini yönetir.
- Oluşturulan PDF'yi bellekte tutmak için bir MemoryStream başlatır.
- Mektup boyutunda sayfalarla bir iText Document nesnesi oluşturur.
- XMLWorkerHelper, sağlanan StringReader'ı kullanarak HTML içeriğini çözümler ve bunu PDF belgesine yazar.
Artılar
- Zengin bir özellik seti ile yüksek özelleştirilebilir.
- Kapsamlı belge ve topluluk desteği.
Eksiler
- iText (kişisel kullanım için ücretsiz olup, daha büyük ölçekli projeler için ticari lisans gerektirir) karmaşık CSS veya JavaScript işleme konularında sınırlamalara sahip olabilir.
- XMLWorker (burada kullanılır) HTML/CSS ayrıştırmaya yönelik iText'ten kullanımdan kaldırılan bir araçtır. iText (iText'in daha yeni sürümü) daha sağlam bir HTML ayıraç kullanarak modern web standartlarına daha iyi destek sağlayabilir, pdfHTML.
- Yeni başlayanlar için daha dik bir öğrenme eğrisi.
3. PDFSharp

PDFSharp, temel PDF oluşturma görevleri için ideal, hafif, açık kaynaklı bir .NET PDF kütüphanesidir. Uygulamanız yalnızca metin, resim veya tablo ekleme gibi basit işlemleri gerektiriyorsa, PDFSharp C#'ta PDF belgeleri oluşturmak için kolay kullanılabilir bir seçenektir. HTML'den PDF'ye dönüşüm gibi gelişmiş özelliklere sahip olmamakla birlikte, basit ve orta boyutlu PDF dosyaları oluşturmada sade ve kullanışlıdır.
Başlıca Özellikler
- Temel PDF Oluşturma: Metin ve grafikleri çizmek için basit ve kullanımı kolay bir API. Düz belgeler oluşturmak için idealdir.
- Belge Manipülasyonu: Mevcut PDF'leri birleştirme ve kolaylıkla değiştirme, belge yönetiminde esneklik sağlar.
- Çizim ve Grafik Desteği: PDFSharp, PDF sayfalarında çizim yapmak için araçlar seti sağlar, çizgiler, dikdörtgenler ve diğer vektör grafikler dahil. Ayrıca PDF'lerinize görüntü yerleştirmeyi de destekler.
- Ücretsiz ve Açık Kaynak: PDFSharp hem ticari hem de ticari olmayan kullanımlar için tamamen ücretsizdir, bu da onu küçük işletmeler ve açık kaynak projeleri üzerinde çalışan geliştiriciler için çekici bir seçenek haline getirir.
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
- PdfDocument: Tüm PDF belgesini temsil eder. Sayfa ekleyebilir, metaveri ayarlayabilir ve belgeyi manipüle edebilirsiniz.
- PdfPage: Belge içindeki tek bir sayfayı temsil eder. AddPage yöntemi kullanılarak yeni sayfalar eklenir.
- XGraphics: Belirli bir sayfaya metin, resim ve şekil çizmek için kullanılır. .NET'te GDI+'ya benzer.
- XFont: Metin renderlama için yazı tipi ve stil belirtir. Bu örnekte, kalın stil ile "Verdana" kullanılır.
- DrawString: Belirtilen dizgiyi belgedeki tanımlanmış konuma çizer.
Artılar
- Ücretsiz ve açık kaynaklı, herhangi bir lisans kısıtlaması yok.
- Basit ve hafif, temel PDF oluşturma ile çalışmaya başlamayı kolaylaştırır.
- Karmaşık özellikler gerektirmeyen projeler için iyi çalışır.
Eksiler
- Diğer kütüphanelere kıyasla sınırlı işlevsellik.
- HTML'den PDF'ye çevirme için yerel destek yoktur.
4. Syncfusion PDF Kütüphanesi

Syncfusion PDF Kütüphanesi, çok çeşitli uygulamalarda PDF'lerle çalışması gereken işletmeler için tasarlanmış yüksek performanslı, kapsamlı bir araçtır. Syncfusion'un daha geniş bir süitesinin parçasıdır ve bu süit, birçok format ve platform için kütüphaneler sunar. PDF kütüphanesi, basit belge oluşturmanın ötesine giden kapsamlı özellik seti ve form doldurma, dijital imzalar ve belge güvenliği de dahil detaylı manipülasyon yetenekleri ile öne çıkmaktadır.
Başlıca Özellikler
- Kapsamlı PDF API: Karmaşık düzenler, gömülü yazı tipleri ve yüksek çözünürlükteki görüntüler içeren son derece özelleştirilmiş PDF'ler üretme yeteneği vardır. Sayfa formatlamasından gelişmiş düzen seçeneklerine kadar PDF oluşturmanın tüm yönleri üzerinde ayrıntılı kontrol sağlar.
- Form İşleme: Kütüphanesi, etkileşimli PDF formları (AcroForms) oluşturma, doldurma ve verileri çıkarma konusunda mükemmeldir. Kullanıcı girişi için doldurulabilir PDF'ler oluşturma, veri girişi otomasyonu veya doldurulmuş formları işleme için faydalıdır.
- Dijital İmzalar ve Şifreleme: PDF belgelerini şifreleme, şifre koruması ekleme ve dijital imzalar uygulama yeteneği de dahil olmak üzere sağlam güvenlik özellikleri sunar. Belge güvenilirliği ve güvenliği gerektiren sağlık ve hukuk hizmetleri gibi sektörler için esastır.
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
- PdfDocument: PDF belgesini temsil eder. Sayfa ekleyebilir, özellikler ayarlayabilir ve içeriğini manipüle edebilirsiniz.
- PdfPage: PDF belgesi içindeki bir sayfayı temsil eder.
- PdfFont: Metin renderlaması için yazı tipini tanımlar. Bu durumda, standart bir Helvetica fontu kullanılmıştır.
- DrawString: Belirtilen dizgiyi verilen koordinatlardaki PDF sayfasına çizer.
Artılar
- Zengin özellik seti, karmaşık PDF'ler oluşturma uygun.
- Profesyonel destek ve belgeler, büyük ölçekli uygulamalar için idealdir.
- Form doldurma, şifreleme ve açıklamalar gibi gelişmiş PDF yeteneklerini destekler.
Eksiler
- Ticari kullanım için lisans ücretleri nispeten yüksektir.
- Karmaşık API, ustalaşmak zaman alabilir.
5. PDFShift (Çevrimiçi Araç)

PDFShift, HTML'yi PDF dosyalarına dönüştürmek için tasarlanmış bulut tabanlı bir hizmettir. C# uygulamaları ile API'si aracılığıyla sorunsuz bir şekilde entegre olarak, dinamik olarak oluşturulan HTML web sayfalarını profesyonel kalitede PDF'lere dönüştürmenize olanak tanır. PDFShift, HTML içeriğinden, örneğin faturalar veya raporlar gibi talep üzerine PDF belgeleri oluşturmak isteyen web geliştiricileri için özellikle kullanışlıdır. PDFShift, tamamen REST API'si üzerinden çalıştığından, sadece birkaç satırlık HTML'yi hizmete gönderip karşılığında indirilebilir bir PDF dosyası alabilirsiniz. Bu, web tabanlı PDF dosya üretimi için basit ve ölçeklenebilir bir çözümdür.
Başlıca Özellikler
- HTML'den PDF'ye Dönüştürme: PDFShift, HTML belgelerini yüksek kaliteli PDF'lere dönüştürmede mükemmeldir. Karmaşık CSS stillerini, JavaScript ve duyarlı tasarım düzenlerini işler, web sayfanızın PDF formatında aynı görünmesini sağlar.
- API Entegrasyonu: PDFShift API, web uygulamalarına sorunsuz entegrasyon için tasarlanmıştır. Kullanımı basittir: HTML içeriği ile bir HTTP POST isteği gönderin ve servis bir PDF belgesi döndürür.
- Özelleştirme Seçenekleri: Sayfa boyutu, yönlendirme, kenar boşlukları ve üstbilgi/altbilgi ayarlamalarını içeren oluşturulan PDF'nin özelleştirilmesine imkan tanır. Ayrıca, sayfa numaraları veya belge meta verileri gibi üstbilgi ve altbilgilere dinamik içerik ekleyebilirsiniz.
Nasıl Çalışır
- HTML içeriği ile PDFShift API uç noktasına bir POST isteği gönderin.
- Yanıt olarak oluşturulan PDF'yi alın, indirmeye veya 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
- HttpClient: HTML içeriğini PDFShift API'ye bir POST isteği olarak gönderir.
- PostAsync: HTML'yi işleyen ve PDF döndüren API'ye istek gönderir.
- ReadAsByteArrayAsync: PDF yanıtını bir byte dizisi olarak okur ve ardından dosya olarak kaydedebilir.
Artılar
- Minimal kurulumla basit API.
- Dinamik HTML'den PDF'ye dönüştürme gerektiren web uygulamaları için idealdir.
- PDF kütüphanelerini veya sunucularını yönetmeye gerek yok.
Eksiler
- HTML'den PDF'ye dönüştürme ile sınırlı; daha karmaşık PDF özelliklerini desteklemez.
- İnternet bağlantısı gerektirir ve belirli bir kullanım eşiğinden sonra maliyetlere yol açar.
6. DocRaptor (Çevrimiçi Araç)

DocRaptor, HTML ve CSS'i yüksek kaliteli PDF'lere dönüştüren başka bir güçlü API tabanlı PDF oluşturma hizmetidir. Özellikle karmaşık CSS stillerini, medya sorgularını ve web fontlarını işleme konusunda mükemmel HTML belgeleri oluşturma yeteneği ile bilinir. Bu, DocRaptor'u, raporlar, faturalar ve e-Kitaplar gibi profesyonel görünümlü belgelerin doğrudan HTML şablonlardan oluşturulması için harika bir seçenek yapar.
Başlıca Özellikler
- HTML ve CSS Desteği: Medya sorguları ve fontları içeren karmaşık CSS stillerine sahip HTML belgelerini dönüştürür.
- API Entegrasyonu: Web uygulamalarına sorunsuz entegrasyon için REST API.
- Özel Üstbilgi/Altbilgi: Sayfa numaraları ve özel formatlama dahil dinamik üstbilgi ve altbilgi ekleyin.
- PDF Güvenliği: Şifreleme ve parola korumasını destekler.
Nasıl Çalışır
- HTML içeriği ile DocRaptor API'ye bir POST isteği gönderin.
- Sayfa boyutu, kenar boşlukları, üstbilgi ve altbilgi gibi parametrelerle PDF çıktısını özelleştirin.
- Yanıt olarak oluşturulan PDF'yi alın.
Ö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
- API Anahtarı: DocRaptor'u kullanırken kimlik doğrulama için bir API anahtarı sağlamalısınız. "YOUR_API_KEY"'i gerçek anahtarınızla değiştirin.
- JsonData: Bu JSON dizgisi HTML içeriğini, belge adını ve türünü (bu durumda PDF) içerir.
- PostAsync: PDF oluşturma için HTML içeriği ve parametreleri DocRaptor API'ye gönderir.
Artılar
- HTML, CSS ve JavaScript desteği ile yüksek kaliteli renderlama.
- Belge düzeni ve güvenlik için gelişmiş özelleştirme seçenekleri.
- PDF oluşturma kütüphaneleri veya altyapısını korumaya gerek yok.
Eksiler
- Ücretsiz kullanım sınırı aşıldıktan sonra ücretli hizmet.
- İnternete bağlantılı olmasına bağlıdır.
7. Kod-Yazmadan Çevrimiçi Araçlar
Kod yazmak istemiyorsanız veya PDF oluşturma için hızlı çözüme ihtiyacınız varsa birkaç çevrimiçi araç, PDF'leri hızlı ve kolay bir şekilde oluşturmanızı sağlar. İşte dikkat çeken birkaç seçenek:
7.1. Smallpdf

Smallpdf, çeşitli dosya formatlarından PDF oluşturma da dahil olmak üzere bir dizi PDF ile ilgili aracı bir çevrimiçi platform üzerinde sunan bir araçtır. Kod yazmaya gerek kalmadan basit bir sürükle-bırak arayüzüne sahip olmak isteyen kullanıcılar için tasarlanmıştır. Smallpdf, Word belgelerini, Excel sayfalarını veya resimleri PDF'ye dönüştürmek gibi hızlı dosya dönüşümleri için yaygın bir şekilde kullanılmaktadır. Ayrıca, birleştirme, sıkıştırma ve PDF'leri bölme araçları da sunarak, temel PDF görevleri için çok yönlü bir araç haline getirir.
Başlıca Ö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ızlı bir şekilde PDF oluşturmak zorunda olan kullanıcılar için idealdir.
- PDF Birleştirme ve Bölme: Birden çok PDF'yi tek bir dosyada birleştirme veya bir PDF'yi tek tek sayfalara bölme için basit bir arayüz sunar.
- Bulut Depolama Entegrasyonu: Dosyaları Google Drive veya Dropbox'tan kolayca yükleyebilir ve bu platformlarda dönüştürülen PDF'leri geri kaydedebilir, dosya yönetimini basitleştirir.
- PDF Düzenleme Araçları: Herhangi bir mevcut PDF belgesini düzenlemek için temel PDF düzenleme araçları sunar, örneğin açıklama ekleme, formları doldurma ve belgeleri dijital olarak imzalama.
Artılar
- Geliştirici olmayanlar için kullanımı çok kolay.
- Daha fazla özelliğe yükseltme seçenekleri ile temel kullanım ücretsiz.
- Birleştirme, bölme ve PDF'leri sıkıştırma gibi çok çeşitli PDF ile ilgili araçlar sunar.
Eksiler
- Kod tabanlı çözümlere kıyasla sınırlı özelleştirme.
- Ücretsiz katman bazı özellik kısıtlamalarına sahip olabilir.
7.2. PDFescape

PDFescape, kullanıcıların herhangi bir yazılım yüklemeye gerek kalmadan PDF oluşturmasını, düzenlemesini ve görüntülemesini sağlayan kullanımı kolay bir web tabanlı PDF düzenleyicisidir. Formları doldurma, metin açıklamaları ekleme veya resim yerleştirme gibi PDF'lere hızlı düzenlemeler yapması gerekenler için harika bir araçtır. PDFescape ayrıca sıfırdan yeni PDF'ler oluşturma araçları sunar, bu da temel belge oluşturma için esnek bir seçim yapar.
Başlıca Özellikler
- Form Doldurma ve Düzenleme: PDF formlarını yönetmede mükemmeldir. Kullanıcılar, PDF belgelerinde formları kolayca doldurabilir veya mevcut alanları düzenleyebilir, sözleşmeler, başvurular ve diğer formlar için faydalıdır.
- Temel PDF Oluşturma: Metin, şekil, resim ve form alanları ekleme araçları sunar. Mektup veya form gibi basit belgeler oluşturmak için kullanışlıdır.
- Açıklamalar ve Yorumlar: Mevcut PDF'lere yorumlar, yapışkan notlar ve diğer açıklamalar ekleyin, bu da PDFescape'i belge incelemesi ve işbirliği için harika bir araç yapar.
- Kurulum Gerektirmez: Tümü tarayıcıda çalışır, bu yüzden herhangi bir yazılım yüklemenize gerek yoktur. Bu, hızlı PDF araçlarına kolay erişim sağlaması gereken kullanıcılar için idealdir.
Artılar
- Kullanıcı dostu olmayan teknik kullanıcılar için basit.
- Temel PDF oluşturma ve düzenleme için ücretsiz katman.
- Küçük PDF düzenleme görevleri için uygundur.
Eksiler
- Karmaşık PDF oluşturma için gelişmiş özelliklerden yoksundur.
- Tasarım ve biçimlendirme seçenekleri sınırlıdır.
7.3. PDF Candy

PDF Candy, dosya dönüştürmeden düzenlemeye kadar çok çeşitli PDF ile ilgili görevleri kapsayan ücretsiz çevrimiçi PDF araçlarıdır. Hesap kaydı veya yazılım yüklemeden 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'ye dönüştürmeyi destekler. Ayrıca PDF'leri birleştirme, bölme ve sıkıştırma araçları da sunar.
Başlıca Özellikler
- Geniş Dönüşüm Seçenekleri: Word belgeleri, resimler ve metin dosyalarını içeren çeşitli dosya formatlarını PDF'ye dönüştürebilir. Bu, çeşitli içerik türlerini yönetmek için esnek bir araç haline getirir.
- PDF Birleştirme ve Bölme: Kullanıcıların birden çok PDF'yi birleştirmesine veya büyük PDF'leri daha küçük, daha yönetilebilir dosyalara bölmesine olanak tanır.
- Dosya Gizliliği: Belgelerinizin gizli kalmasını sağlamak için dosyalarını kısa bir süre sonra sunucularından otomatik olarak siler.
- Ücretsiz Kullanım: Çoğu araç, kayıtsız kullanılabilir, bu da geniş bir kullanıcı kitlesine erişilebilir hale getirir. Ancak, daha sık kullanım veya daha büyük dosya dönüştürmeleri gerekenler için daha gelişmiş özelliklere sahip bir premium sürüm sunar.
Artılar
- Çoğu kullanıcı için kullanması kolay ve tamamen ücretsiz.
- PDF'ye dönüştürme için çeşitli dosya türlerini destekler.
- Temel kullanım için hesap kaydı gerektirmez.
Eksiler
- İleri düzey PDF özelleştirme özellikleri sınırlıdır.
- Bazı araçlarda dosya boyutu veya dönüşüm karmaşıklığı kısıtlamaları olabilir.
Sonuç

C#'de PDF dosyalarını oluşturmak için uygun 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çeneklerdir. iText ve Syncfusion, daha karmaşık projeler için belge yapısı üzerinde geniş özelleştirme seçenekleri ve kontrol sunar. Daha basit, açık kaynaklı çözümler için PDFSharp, PDF dosyalarını düzenlerken veya basit PDF'ler oluştururken güvenilir bir seçenektir. Son olarak, geliştirici olmayanlar için, Smallpdf, PDFescape ve PDF Candy, PDF dosyalarıyla çalışmak için kolay, kodsuz seçenekler sunar.
[IronPDF](trial license)'i denemek isteyenler için, HTML'den PDF'ye dönüştürme ve PDF manipülasyon özelliklerini ödeme yapmadan önce test etmek için mükemmel bir seçenektir. Deneme, yüksek kaliteli PDF dosyası oluşturma, güvenlik seçenekleri ve mevcut PDF belgelerini değiştirme gibi premium özelliklerini keşfetmenizi sağlar, aracın yeteneklerini deneyimleme fırsatı sunar. Projeniz sık HTML'den PDF'ye dönüştürme veya karmaşık PDF düzenleme gerektiriyorsa, IronPDF'un ücretsiz denemesi ihtiyaçlarınıza uygun olup olmadığını görmek için harika bir yoldur.
Her aracın belirli özelliklerini ve projenizin kapsamını değerlendirerek, C#'de PDF dosyalarını verimli bir şekilde oluşturmak için en iyi çözümü seçebilirsiniz.
Sıkça Sorulan Sorular
HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?
HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.
Ü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, ancak IronPDF gibi ücretli kütüphaneler HTML'den PDF'ye dönüşüm, form işleme ve geliştirilmiş güvenlik gibi ileri düzey özellikler sunar.
C#'ta temel PDF işleri için en iyi açık kaynak kütüphane hangisidir?
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ım için ücretsizdir.
iTextSharp, güvenli PDF belge oluşturmayı nasıl destekler?
iTextSharp, dijital imzalar ve şifreleme desteği de dahil olmak üzere güvenli PDF belgeleri oluşturmak için kapsamlı özelleştirme seçenekleri sunar ve güvenli belge işleme gerektiren sektörler için uygundur.
C# uygulamalarında HTML'den PDF'ye dönüşüm için çevrimiçi araçları kullanabilir miyim?
Evet, PDFShift ve DocRaptor gibi çevrimiçi araçlar, dinamik PDF üretimi gerektiren web uygulamaları için ideal olan API tabanlı HTML'den PDF'ye dönüşüm sunar.
PDF oluşturma için Chromium tabanlı bir işleme motoruna sahip bir kütüphane kullanmanın avantajları nelerdir?
IronPDF gibi Chromium tabanlı işleme motoru kullanan kütüphaneler, karmaşık stillendirme ve JavaScript desteği ile yüksek kaliteli HTML'den PDF'ye dönüşüm sunar.
Syncfusion PDF Kütüphanesi, kurumsal uygulamalar için ne gibi faydalar sağlar?
Syncfusion PDF Kütüphanesi, form işleme, dijital imzalar ve şifreleme gibi kurumsal uygulamalar için kapsamlı özellikler sunar ve bu da onu karmaşık profesyonel gereksinimler için son derece uygun hale getirir.
IronPDF yaklaşan .NET 10 sürümü ile uyumlu mu?
Evet — IronPDF, kutudan çıktığı gibi .NET 10'u destekler. Sürüm 9, 8, 7, 6, Core, Standard ve Framework ile birlikte .NET 10 ile uyumlu olarak listelenmiştir ve özel çözümler gerektirmez. (ironpdf.com)

