IRONSOFTWAREHOME
IRONPDF KULLANARAK

PDF Belgelerinden Veri Nasıl Ayrıştırılır.

Curtis Chau
Curtis Chau
Updated: 18 Ocak 2026

HTML'den PDF'ye dönüştürmek, raporlar, faturalar oluşturma veya web sayfalarını PDF olarak kaydetme gibi birçok yazılım uygulamasında yaygın bir gereksinimdir. Bu makalede, C#'da HTML'den PDF'ye dönüştürme için üç popüler açık kaynak kütüphanesini inceleyeceğiz, güçlü ve zayıf yönlerini değerlendireceğiz ve neden IronPDF'in birçok durumda daha iyi bir alternatif olduğunu tartışacağız.

HTML'den PDF'ye çevirici C# açık kaynak

1. PuppeteerSharp

HTML'den PDF'ye Dönüştürücü C# Açık Kaynak (.NET Kütüphane Karşılaştırması): Şekil 1

PuppeteerSharp, headless Chromium tarayıcısı olan Puppeteer için bir .NET örtücüsüdür. Bu, geliştiricilere Chromium render motorunu kullanarak HTML belgelerini PDF'lere dönüştürme olanağı sağlar.

PuppeteerSharp, render süreci üzerinde hassas kontrol sağlar. İşte bir örnek:

using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}

Kod Açıklaması

  1. Chromium'u İndir: PuppeteerSharp, uyumluluğu sağlamak için gereken Chromium sürümünü otomatik olarak indirir.

  2. Tarayıcı Başlat: Bir başsız Chromium örneğini Puppeteer.LaunchAsync() kullanarak başlatın.

  3. HTML İçeriği Ayarla: İstenilen HTML'i tarayıcı sayfasına page.SetContentAsync() kullanarak yükleyin.

  4. PDF Oluştur: Raporlanan içeriğin PDF'sini oluşturmak için page.PdfAsync() yöntemini kullanın.

Sonuç, HTML yapısını ve tasarımını doğru bir şekilde kopyalayan yüksek kaliteli bir PDF'dir (output.pdf).

Artılar

  • Yüksek Sadakatli Rendering: Gelişmiş CSS ve JavaScript dahil olmak üzere modern web teknolojilerini destekler.
  • Otomasyon Kabiliyetleri: PDF'lerin yanı sıra, PuppeteerSharp web gezinme, test etme ve veri çıkarımını da otomatikleştirebilir.
  • Etkin Geliştirme: PuppeteerSharp aktif olarak bakım görmekte ve düzenli olarak güncellenmektedir.

Eksiler

  • Büyük Dosya Boyutu: Chromium tarayıcısının indirilmesi ve paketlenmesi gerektiği için dağıtım boyutunu artırır.
  • Kaynak İhtiyacı: Tarayıcı örneği çalıştırmak, özellikle büyük ölçekli uygulamalar için sistem kaynaklarına ağır yük getirebilir.
  • Sınırlı PDF-Spesifik Özellikler: PuppeteerSharp, PDF'leri geliştirmekten ziyade render etmeye odaklanır (örn. başlık veya altbilgi ekleme gibi).

2. PDFSharp

HTML'den PDF'ye Dönüştürücü C# Açık Kaynak (.NET Kütüphane Karşılaştırması): Şekil 2

PDFSharp, C# dilinde PDF dosyaları oluşturma ve işleme için güçlü bir açık kaynak kütüphanedir. HTML render etmeyi doğrudan desteklemese de, geliştiricilere PDF belgeleri programatik olarak oluşturup düzenlemek için araçlar sağlamada üstündür.

PDFSharp'ın Temel Özellikleri

  1. PDF Oluşturma: PDFSharp, geliştiricilerin, sayfa boyutlarını belirleyerek, metin, şekil, görüntü vb. ekleyerek sıfırdan yeni PDF dosyaları oluşturmasına olanak tanır.

  2. Mevcut PDF'lerin Manipülasyonu: Mevcut PDF belgelerini birleştirme, ayırma veya içerik çıkarma gibi işlemler yapabilirsiniz.

  3. Çizim Yetenekleri: PDFSharp, XGraphics sınıfını kullanarak PDF dosyalarına özel tasarımlar eklemek için sağlam grafik yetenekleri sağlar.

  4. Hafif: Bu, basitlik ve hızın öncelik olduğu projeler için ideal olan hafif bir kütüphanedir.

using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

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

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}

Kod Açıklaması

  1. HTML Ayrıştırma: Örnek, HtmlAgilityPack (HTML'i ayrıştırmak ve manipüle etmek için açık kaynaklı bir kütüphane) kullanarak <h1> ve <p> etiketlerinden metin içeriği çıkarmak için kullanılır.

  2. İçerik Çizimi: PDFSharp'ın XGraphics sınıfı, ayrıştırılmış HTML içeriğini bir PDF sayfasında metin olarak render etmek için kullanılır.

  3. Sınırlamalar: Bu yaklaşım basit HTML yapıları için çalışır, ancak karmaşık düzenleri, stilleri veya JavaScript'i işleyemez.

PDFSharp'ın Artıları ve Eksileri

Artılar

  • Hafif ve Kullanımı Kolay: PDFSharp sezgisel ve basittir, bu da PDF oluşturma ile yeni başlayan geliştiriciler için idealdir.
  • Açık Kaynak ve Ücretsiz: Lisans ücretleri yoktur ve kaynak kodu özelleştirme için mevcuttur.
  • Özel Çizim: Sıfırdan ve özel tasarımlarla PDF oluşturmak için mükemmel yetenekler sağlar.

Eksiler

  • HTML'den PDF'ye Dönüşüm Yok: PDFSharp, HTML'den PDF'ye render etmeyi doğal olarak desteklememektedir ve HTML'yi ayrıştırmak için ek kütüphaneler gerektirir.
  • Modern Özellikler İçin Sınırlı Destek: Etkileşimli PDF'ler, dijital imzalar veya açıklamalar gibi gelişmiş yetenekler sağlamaz.
  • Performans Kısıtlamaları: Büyük ölçekli veya kurumsal uygulamalar için profesyonel kütüphaneler kadar optimize edilmemiş olabilir.

3. Pdfium.NET SDK

HTML'den PDF'ye Dönüştürücü C# Açık Kaynak (.NET Kütüphane Karşılaştırması): Şekil 3

Pdfium.NET, açık kaynaklı PDFium projesine dayalı, .NET uygulamalarında PDF dosyalarını görüntüleme, düzenleme ve manipüle etme amaçlı kapsamlı bir kütüphanedir. Geniş bir kullanım yelpazesine uygun, PDF'leri oluşturmak, düzenlemek ve içerik çıkarmak için geliştiricilere güçlü araçlar sunar. Temelde ücretsiz bir HTML'den PDF'ye dönüştürücü kütüphanesidir.

Pdfium.NET SDK'nın Temel Özellikleri

  1. PDF Oluşturma ve Düzenleme:

    • Sıfırdan veya taranmış görüntülerden PDF oluşturma.
    • Mevcut PDF'leri metin, resimler veya açıklamalar ekleyerek düzenleme.
  2. Metin ve Görüntü Çıkarma:

    • PDF dosya formatı belgelerinden metin ve görüntü çıkarma ve işleme amacıyla kullanma.
    • Bir PDF belgesindeki belirli metni arama.
  3. PDF Görüntüleme Kontrolü:

    • WinForms veya WPF uygulamalarına bağımsız bir PDF görüntüleyici gömme.
    • Yakınlaştırma, kaydırma, yer imleri ve metin arama desteklenir.
  4. Uyumluluk:

    • .NET Framework, .NET Core, .NET Standard ve .NET 6+ ile çalışır.
    • Windows ve macOS platformları ile uyumludur.
  5. İleri Düzey Özellikler:

    • PDF dosyalarını birleştirme ve ayırma.
    • Görüntüleme veya yazdırma amacıyla PDF'leri resim olarak render etme.
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}

Kod Açıklaması

  1. SDK Başlatma: PdfCommon.Initialize() yöntemi, Pdfium.NET işlevlerini başlatır.

  2. Bir PDF Oluşturma: PdfDocument.CreateNew() kullanılarak yeni bir PDF belgesi oluşturulur.

  3. Sayfa Ekleme: Sayfalar, belirtilen boyutlarda (örneğin, A4 boyutu) PDF'ye eklenir.

  4. HTML İçeriğini Render Etme: Pdfium.NET SDK'sı HTML render etmeyi doğal olarak desteklemediğinden, HTML öğelerini metin, şekil veya resim olarak manuel olarak ayrıştırmanız ve render etmeniz gerekir.

  5. PDF'yi Kaydetme: Belge, Save() yöntemi ile bir dosya yoluna kaydedilir.

Artılar

  • PDF oluşturma ve düzenleme üzerinde tam kontrol sağlar.
  • Metin, görüntü ve şekiller eklemek için esnektir.
  • Masaüstü uygulamalarda PDF görüntüleme ve manipülasyonu için güçlü yetenekler.

Eksiler

  • HTML'yi doğrudan PDF'ye dönüştürmez.
  • HTML'yi manuel olarak ayrıştırmak ve render etmek karmaşık ve zaman alıcı olabilir.
  • HTML dönüşümü yerine PDF düzenleme ve manipülasyonuna odaklanan uygulamalar için en uygun olanıdır.

IronPDF Tanıtımı

HTML'den PDF'ye Dönüştürücü C# Açık Kaynak (.NET Kütüphane Karşılaştırması): Şekil 4

IronPDF, .NET geliştiricileri için HTML içeriğini zahmetsizce yüksek kaliteli PDF'lere dönüştürmek amacıyla tasarlanmış profesyonel düzeyde bir kütüphanedir. Güvenilirliği, gelişmiş özellikleri ve kullanım kolaylığı ile tanınan IronPDF, geliştirme sürecini basitleştirirken doğru render ve sağlam işlevsellik sunar. IronPDF'in öne çıkan bir çözüm olmasının nedenleri:

Başlıca Özellikler

  1. Doğrudan HTML'den PDF'ye Dönüştürme: IronPDF ile HTML içeriği, CSS ve JavaScript dahil, tam formatlanmış PDF'ler olarak doğrudan PDF belgeleri oluşturun. Birkaç satır kodla, geliştiriciler web sayfalarından, ham HTML dizelerinden veya yerel HTML dosyalarından PDF oluşturabilir.

  2. Modern Render Yetenekleri: En son web standartlarını destekleyen IronPDF, HTML sayfalarını PDF'ye dönüştürmek için karmaşık düzenlerin, stillerin ve etkileşimli öğelerin doğru şekilde render edilmesini sağlar.

  3. Gelişmiş PDF Özellikleri: IronPDF, başlıklar, altbilgiler, filigranlar, açıklamalar ve yer imleri ekleme gibi kapsamlı özelleştirme seçenekleri sunar. Aynı zamanda mevcut PDF'leri birleştirme, ayırma ve düzenlemeyi de destekler.

  4. Performans ve Ölçeklenebilirlik: Küçük ölçekli uygulamalardan kurumsal ortamlara kadar optimize edilmiş IronPDF, her türlü boyutta projeler için hızlı ve güvenilir performans sunar.

  5. Kolay Entegrasyon: .NET Framework ve .NET Core için tasarlanmış olan IronPDF, C# uygulamaları ile sorunsuz entegre olur, geliştiricilere basit bir kurulum süreci ve kapsamlı dokümantasyon sunar.

Neden IronPDF'i Seçmelisiniz?

IronPDF, özellik kombinasyonu, geliştirici desteği ve performansı ile diğer çözümler arasında öne çıkar. Sık sık kapsamlı yapılandırma veya harici bağımlılıklar gerektiren açık kaynak alternatiflerinin aksine, IronPDF, işlevsellikten ödün vermeden geliştirmeyi basitleştiren, kendi kendine yeten bir çözümdür. İster fatura, rapor üretiyor olun, ister web içeriğini arşivliyor olun, IronPDF, profesyonel sonuçlara hızlı ve verimli bir şekilde ulaşmanız için geliştiricileri güçlendirir.

IronPDF, HTML'den PDF'ye iş akışlarında güvenilirlik, ölçeklenebilirlik ve kullanım kolaylığına değer veren geliştiriciler için pratik bir seçimdir.

IronPDF kullanarak HTML'den PDF'e nasıl dönüştürülür

using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}

Kod Parçası Açıklaması

  1. Lisans Anahtarı Kurulumu: Program, kütüphanenin tam işlevselliğinin kilidini açmak için gereken IronPDF lisans anahtarını ayarlayarak başlar.

  2. Render Oluşturma: ChromePdfRenderer'nin bir örneği başlatılır. Bu bileşen, ham HTML ve nihai çıktı arasında bir köprü olarak hareket ederek, HTML içeriğini bir PDF belgesine dönüştürmekten sorumludur.

  3. HTML İçeriğini Tanımlama: PDF'ye dönüştürülecek HTML yapısını depolamak için htmlContent adlı bir string değişkeni oluşturulur. Bu örnekte, basit bir başlık içerir.

  4. HTML'i PDF'ye Dönüştürme: HTML string'i giriş olarak vererek, ChromePdfRenderer örneği üzerinde RenderHtmlAsPdf() yöntemi çağrılır. Bu fonksiyon, içeriği işleyip bir PDF belgesine dönüştürür.

  5. PDF'yi Kaydetme: Son olarak, oluşturulan PDF, SaveAs() yöntemi kullanılarak "html2Pdf.pdf" adlı bir dosyaya kaydedilir, gelecekteki erişim için diskte saklanır.

Çıktı PDF

HTML'den PDF'ye Dönüştürücü C# Açık Kaynak (.NET Kütüphane Karşılaştırması): Şekil 5

Lisans Bilgileri (Deneme Mevcut)

IronPDF'nin tam işlevselliği için geçerli bir lisans anahtarı gereklidir. Resmi web sitesinden bir deneme lisansı elde edebilirsiniz. IronPDF kütüphanesini kullanmadan önce, lisans anahtarını aşağıdaki gibi ayarlayın:

IronPdf.License.LicenseKey = "your key";

Bu, kütüphanenin sınırlama olmadan çalışmasını sağlar.

Sonuç

PuppeteerSharp, özellikle karmaşık web sayfalarıyla ilgilenildiğinde, HTML'den PDF'ye hassas render ihtiyacı olan geliştiriciler için mükemmel bir seçimdir. Ancak, gelişmiş PDF özellikleri, performans optimizasyonu ve kolay entegrasyon gerektiren uygulamalar için IronPDF gibi profesyonel araçlar genellikle daha iyi bir seçenektir.

PDFSharp, basit gereksinimleri olan projeler için hafif, programatik PDF oluşturma ve işleme için harika bir seçimdir. Bununla birlikte, uygulamanız HTML'den PDF'ye dönüştürme veya gelişmiş PDF özellikleri gerektiriyorsa, IronPDF daha verimli ve özellik açısından zengin bir çözüm sunar.

Pdfium.NET SDK güçlü bir PDF manipülasyon aracı olmasına rağmen, IronPDF modern HTML, CSS ve JavaScript'i render etme dahil olmak üzere doğrudan HTML'den PDF'ye dönüştürme için yerel destek sağlar. IronPDF, HtmlToPdf.RenderHtmlAsPdf() gibi yerleşik yöntemlerle iş akışını basitleştirir, bu sayede geliştiriciler için daha hızlı ve daha verimli hale getirir.

İster fatura, rapor üretiyor olun, ister web içeriğini arşivliyor olun, IronPDF, profesyonel sonuçlara hızlı ve verimli bir şekilde ulaşmanız için geliştiricileri güçlendirir.

IronPDF, HTML'den PDF'ye iş akışlarında güvenilirlik, ölçeklenebilirlik ve kullanım kolaylığına değer veren geliştiriciler için pratik bir seçimdir.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez