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

IronPDF ve PSPDFKit Arasındaki Karşılaştırma

1. Giriş

.NET Framework için mükemmel PDF araçlarını mı arıyorsunuz?

Bu makalede, C# (en popüler programlama dillerinden biri) üzerinde PDF belgeleriyle çalışmayı inceleyeceğiz. Kod örnekleri kullanarak C# üzerinde .NET Framework için iki sektörde önde gelen PDF aracını performans ve özelliklerine göre karşılaştıracağız. Sonunda, lisanslama detaylarını inceleyip lisans anahtarlarını nasıl elde edeceğimizi öğreneceğiz.

İki PDF kütüphanesi şunlardır:

  • PDFNet
  • IronPDF

2. IronPDF

IronPDF, Iron Software tarafından tüm PDF sorunlarını C# .NET geliştiricileri için tek bir kütüphane kullanarak çözmek için geliştirilen bir C# .NET kütüphanesidir. IronPDF, bir Krom motoru tarafından desteklenir ve HTML5, JavaScript, CSS ve görüntü dosyalarını PDF'ye dönüştürme, özel üstbilgi ve altbilgi oluşturma ve PDF'leri tarayıcıda göründükleri gibi tam olarak görüntüleme gibi çeşitli yararlı ve güçlü özelliklere sahiptir. IronPDF, PDF dosyalarından veri okumanıza ve bunu otomatikleştirilmiş bir şekilde .NET uygulamalarınıza ve veri depolama sistemlerinize eklemenize olanak tanır. Eski PDF belge depolama sisteminden içeriği içe aktarabilir, taşıyabilir ve indekse edebilirsiniz.

2.1. IronPDF Özellikleri

2.1.1. PDF Dönüşümleri

Bu işlev, HTML, MVC görünümleri, Web Formları, HTML Dizeleri ve URL'ler gibi çeşitli formatlardan PDF dosyaları oluşturmanıza olanak tanır.

2.1.2. PDF İçeriğinin Çıkarılması

Çoğu durumda, gömülü metni PDF belgelerinden kolayca çıkarabilirsiniz. Ancak, bu başarısız olursa, metniniz büyük ihtimalle bir görüntüde gömülüdür. Düz metin yerine görsel metin taraması yapmak için IronOCR kütüphanesini kullanın.

2.1.3 Başlıklar ve Altbilgiler

PDF oluştururken veya mevcut PDF'lere üstbilgi ve altbilgi ekleyebilirsiniz. Her belge sayfası için üstbilgi ve altbilgi oluşturmanız Print Options özelliği ile mümkündür. Bu parametreler ChromePdfRenderer nesnesi üzerinde mevcuttur. Bu örnek, bir .NET Core konsol uygulaması içinde çalışır.

2.1.4. PDF Görüntü İşleme

Bu, kullanıcıların PDF belgelerinden görüntüler oluştuğu gibi görüntülerden PDF oluşturmasını sağlar. Görüntü çıkarımı, çeşitli görüntü uzantıları ve PDF baskısını destekler.

2.1.5. PDF Belgeleri G/Ç

IronPDF, ayrıca 128-bit PDF şifreleme, parola korumalı PDF kilitleme ve PDF belgelerinin dijital imzalanmasını da içerir.

2.1.6. PDF Düzenleme

IronPDF aracı, PDF'lerinize filigran eklemenize, sayfa eklemenize, sayfa kaldırmanıza, arka planlar, ön planlar eklemenize ve çok daha fazlasını yapmanıza olanak tanır.

2.1.7. Uyumluluk

IronPDF, C# ile uyumlu tüm işletim sistemleri ve çerçevelerin neredeyse tamamını destekler.

  • Windows
  • .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
  • Evrensel Uyumluluk için .NET Standard 2.0 Uyumlu
  • Azure
  • AWS
  • Docker
  • Linux

3. PDFNet

PDFNet .NET SDK, PDFTron tarafından geliştirilen, herhangi bir çerçeve veya uygulama için web, mobil, masaüstü veya sunucular üzerinde hassas PDF işleme, açıklama, düzenleme ve oluşturma yetenekleri sunar. Belge ve bilgi yönetimi sürecinin tamamını yapınızla birlikte yürütür ve üçüncü taraf sunucu bağımlılıklarına gerek kalmaz. PDFTron'un web platformu, desteklenen platformla JS sürümü ve tüm PDF SDK'ları için bir demo lisans anahtarı ile birlikte gelir.

PDFNet'in en önemli avantajlarından biri, gerçekten çapraz platform olmasıdır, bu sayede kullanıcılarımız farklı mobil ve masaüstü ortamları arasında iş akışları ve uygulamalarında PDF uyumluluğu ve ilgili iş işlevselliğini kolayca ekleyebilirler ve neredeyse aynı arayüzü kullanabilirler.

3.1. PDFNet SDK Özellikleri

3.1.1. Uyumluluk

PDFNet SDK, birçok platform ve çerçeve ile uyumludur. Platform tutarlılığını sağlamak için, JavaScript API'si PDFNet API'si ile aynı şekilde kullanılır. SDK'nın Node.js ve Electron sürümleri de mevcuttur. Bu paket, yönetilmeyen eklenti ikili dosyalar gerektirir.

3.1.2. Düzenleme ve Görüntüleme

Çevrimiçi, mobil ve masaüstü platformlarda kullanıcılar için güvenli, ölçeklenebilir ve yüksek kaliteli PDF okuma ve düzenleme yeteneklerini getirir.

3.1.3. İmzalama

Özelleştirilmiş imzalama prosedürleri oluşturun. Dijital olarak imzalanmış evraklar onaylanabilir, doğrulanabilir ve mühürlenebilir.

3.1.4. Gerçek Redaksiyon

Kişisel bilgiler veya kişisel sağlık bilgileri gibi hassas verileri belgelerden kaldırın, ancak belgenin aranabilir kalmasını sağlayın.

3.1.5. Sayfa Manipülasyonu

Sayfalar eklenebilir, kaldırılabilir veya yeniden düzenlenebilir. Belgeler, bölümlere montaj, birleştirme veya bölünme sürecini yaşayabilir. Çeşitli belgeleri aynı okuyucu içinde veya yan yana eşzamanlı görünümde izleyin.

4. Visual Studio'da Yeni Bir Proje Oluşturmak

Bu makalede, PDF belgeleri oluşturmak için bir konsol uygulaması kullanacağız.

Visual Studio yazılımını açın ve Dosya menüsüne gidin. 'Yeni proje'yi seçin ve ardından konsol uygulamasını seçin.

Proje adını girin ve uygun metin kutusuna yolu seçin. Ardından, oluşturma düğmesine tıklayın. Gerekli .NET framework'ü aşağıdaki ekran görüntüsünde olduğu gibi seçin:

A Comparison Between IronPDF and PDFNet, Figure 1

Visual Studio projesi artık konsol uygulaması için yapıyı oluşturacak. Tamamlandıktan sonra, kaynak kodu yazıp çalıştırabileceğiniz Program.cs dosyasını açacak.

A Comparison Between IronPDF and PDFNet, Figure 2

Şimdi kütüphaneyi ekleyebilir ve programı test edebiliriz.

5. IronPDF Kütüphanesini Yükleyin

IronPDF kütüphanesini dört farklı şekilde indirip kurabilirsiniz. Bunlar şunlardır:

5.1 Visual Studio NuGet Paket Yöneticisini Kullanarak

Visual Studio yazılımı, paketi doğrudan çözüme yüklemek için NuGet Paket Yöneticisi seçeneği sağlar. Aşağıdaki ekran görüntüsü, NuGet Paket Yöneticisi'ni nasıl açacağınızı gösterir.

A Comparison Between IronPDF and PDFNet, Figure 3

Paket Yöneticisi GUI'sini açtıktan sonra, Gözat sekmesine tıklayın ve "IronPDF" arayın:

A Comparison Between IronPDF and PDFNet, Figure 4

Yukarıdaki resimde, arama sonucunda ilgili paketlerin listesini görebiliyoruz. IronPDF seçeneğini seçin ve paketi çözümümüze yükleyin.

5.2 Visual Studio Komut Satırını Kullanarak

  • Visual Studio menüsünde, Tools > NuGet Package manager > Paket yöneticisi konsolu'na gidin.
A Comparison Between IronPDF and PDFNet, Figure 5

  • Aşağıdaki satırı paket yöneticisi konsol sekmesine girin:
Install-Package IronPdf

IronPDF paketi şimdi projeye yüklenecektir.

A Comparison Between IronPDF and PDFNet, Figure 6

5.3 NuGet Web Sayfasından Doğrudan İndirme

Üçüncü yol, NuGet paketini NuGet Galerisi IronPDF Paketi'nden doğrudan indirmektir.

  • Sağ taraftaki menüden paketi indir seçeneğini seçin.
  • İndirilen pakete çift tıklayın; otomatik olarak kurulacaktır.
  • Sonra, çözümü yeniden yükleyin ve projede kullanmaya başlayın.

5.4 IronPDF Web Sayfasından Doğrudan İndirme

En son paketi doğrudan IronPDF İndirme Sayfası'ndan indirin. İndirmenin ardından, projeye paketi eklemek için aşağıdaki adımları izleyin.

  • Çözüm penceresinden projeye sağ tıklayın.
  • Sonra, seçenekler referansını seçin ve indirilen referansın konumunu gözatın.
  • Ardından referansı eklemek için Tamam'a tıklayın.

6. PDFNet SDK'yı Kurun

PDFNet SDK dört farklı şekilde indirilebilir ve kurulabilir.

  • Visual Studio NuGet Paket Yöneticisini Kullanarak.
  • Visual Studio Komut Satırını kullanarak. NuGet Galerisi PDFNet Paketi'nden Doğrudan İndirme.
  • PDFNetLoader.dll kullanarak

6.1. Visual Studio NuGet Paket Yöneticisini Kullanma

Yukarıda açıklandığı gibi, Visual Studio'da araçlara gidin ve NuGet paket yöneticisini açın. Bir liste görünecektir — çözümler için NuGet paketini yönet'i tıklayın.

A Comparison Between IronPDF and PDFNet, Figure 7

Bir arama çubuğu ile bir pencere açılacaktır. PDFNet'i arayın ve projeye yükleyin.

6.2. Visual Studio Komut Satırını Kullanarak

  • Visual Studio menüsünde, Tools > NuGet Package manager > Paket yöneticisi konsolu'na gidin.
  • Aşağıdaki satırı paket yöneticisi konsol sekmesine girin:
Install-Package PDFNet -Version 9.2.0
A Comparison Between IronPDF and PDFNet, Figure 8

6.3. NuGet Web Sayfası'ndan Doğrudan İndirme

Üçüncü yol, NuGet paketini NuGet Galerisi PDFNet Paketi'nden doğrudan indirmek.

  • Sağ menüden indirme paketi seçeneğini seçin.
  • İndirilen paketi çift tıklayarak yükleme sürecini başlatın.

6.4. PDFNetLoader.dll Kullanarak

PDFNet API'sını PDFNetLoader.dll dosyasını kullanarak da yükleyebilirsiniz. PDFNetLoader.dll için GitHub Releases'dan indirin.

Paketi indirin, projenizin bin dosyasına yerleştirin ve çalıştırın. Visual Studio projenizde PDFNetLoader.dll'yi bir referans olarak ekleyin.

Bootstrap ve CSS Framework İşleme

Modern web uygulamaları, tutarlı ve duyarlı tasarım için Bootstrap ve CSS uygulamalarına büyük ölçüde bağlıdır. Web içeriğinden PDF oluştururken, bu uygulamaları hiçbir değişiklik yapmadan doğru bir şekilde işleme yeteneği, tasarım tutarlılığını sürdürmek ve geliştirme çabasını azaltmak için esastır.

IronPDF: Eksiksiz Bootstrap Framework Desteği

  • Bootstrap 5: Tam flexbox düzen sistemi, CSS Grid, yardımcı sınıflar ve tüm bileşen kütüphaneleri
  • Bootstrap 4: Tam kart bileşenleri, navigasyon, flex yardımcıları ve duyarlı tasarım
  • Tailwind CSS: Tüm yardımcı sınıflar tarayıcı doğruluğuyla işlenir
  • Temel: Tam grid sistemi ve bileşen desteği
  • Modern CSS3: Flexbox, CSS Grid, özel özellikler, animasyonlar, geçişler ve dönüşümler

Gerçek dünya validasyonu: IronPDF, Bootstrap ana sayfası'nı ve tüm resmi örnekler'i piksel mükemmellikte işler.

Kod Örneği: Eğitim Yönetim Sistemi Panosu

using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapLMS = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <div>
                <h1 class='display-6 mb-1'>Student Learning Dashboard</h1>
                <p class='text-muted mb-0'>Spring Semester 2025</p>
            </div>
            <span class='badge bg-success fs-5'>92% Overall Progress</span>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-primary'>
                    <div class='card-body'>
                        <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div>
                        <h3 class='mb-1'>6/8</h3>
                        <p class='text-muted mb-0'>Courses Completed</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-success'>
                    <div class='card-body'>
                        <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div>
                        <h3 class='mb-1'>24/28</h3>
                        <p class='text-muted mb-0'>Assignments Submitted</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-warning'>
                    <div class='card-body'>
                        <div class='text-warning mb-2' style='font-size: 2rem;'>⏱</div>
                        <h3 class='mb-1'>48hrs</h3>
                        <p class='text-muted mb-0'>Study Time This Week</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-info'>
                    <div class='card-body'>
                        <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div>
                        <h3 class='mb-1'>A- Average</h3>
                        <p class='text-muted mb-0'>Current GPA: 3.7</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-primary text-white'>
                        <h5 class='mb-0'>Current Courses</h5>
                    </div>
                    <div class='card-body p-0'>
                        <div class='list-group list-group-flush'>
                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Advanced Web Development</h6>
                                        <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 95%'></div>
                                </div>
                                <small class='text-muted'>95% Complete | Final Project Due: May 15</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Database Systems</h6>
                                        <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small>
                                    </div>
                                    <span class='badge bg-primary'>Grade: A-</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-primary' style='width: 88%'></div>
                                </div>
                                <small class='text-muted'>88% Complete | Midterm: April 28</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6>
                                        <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small>
                                    </div>
                                    <span class='badge bg-warning text-dark'>Grade: B+</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-warning' style='width: 75%'></div>
                                </div>
                                <small class='text-muted'>75% Complete | Research Paper Due: May 5</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Computer Networks</h6>
                                        <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 92%'></div>
                                </div>
                                <small class='text-muted'>92% Complete | Lab Exam: April 30</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm mb-3'>
                    <div class='card-header bg-warning text-dark'>
                        <h5 class='mb-0'>Upcoming Deadlines</h5>
                    </div>
                    <div class='card-body p-0'>
                        <ul class='list-group list-group-flush'>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-danger me-2'>Today</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Assignment 4</strong></small>
                                        <br><small class='text-muted'>Neural Networks Lab</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-warning text-dark me-2'>Apr 28</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Database Midterm</strong></small>
                                        <br><small class='text-muted'>Chapters 1-8</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-info me-2'>Apr 30</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Networks Lab Exam</strong></small>
                                        <br><small class='text-muted'>Practical Assessment</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-primary me-2'>May 5</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Research Paper</strong></small>
                                        <br><small class='text-muted'>15-20 pages</small>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>

                <div class='card shadow-sm'>
                    <div class='card-header bg-info text-white'>
                        <h5 class='mb-0'>Study Resources</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button>
                            <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button>
                            <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button>
                            <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapLMS);
pdf.SaveAs("lms-dashboard.pdf");
using IronPdf;

// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";

var renderer = new ChromePdfRenderer();
string bootstrapLMS = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <div>
                <h1 class='display-6 mb-1'>Student Learning Dashboard</h1>
                <p class='text-muted mb-0'>Spring Semester 2025</p>
            </div>
            <span class='badge bg-success fs-5'>92% Overall Progress</span>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-primary'>
                    <div class='card-body'>
                        <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div>
                        <h3 class='mb-1'>6/8</h3>
                        <p class='text-muted mb-0'>Courses Completed</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-success'>
                    <div class='card-body'>
                        <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div>
                        <h3 class='mb-1'>24/28</h3>
                        <p class='text-muted mb-0'>Assignments Submitted</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-warning'>
                    <div class='card-body'>
                        <div class='text-warning mb-2' style='font-size: 2rem;'>⏱</div>
                        <h3 class='mb-1'>48hrs</h3>
                        <p class='text-muted mb-0'>Study Time This Week</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-info'>
                    <div class='card-body'>
                        <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div>
                        <h3 class='mb-1'>A- Average</h3>
                        <p class='text-muted mb-0'>Current GPA: 3.7</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-primary text-white'>
                        <h5 class='mb-0'>Current Courses</h5>
                    </div>
                    <div class='card-body p-0'>
                        <div class='list-group list-group-flush'>
                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Advanced Web Development</h6>
                                        <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 95%'></div>
                                </div>
                                <small class='text-muted'>95% Complete | Final Project Due: May 15</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Database Systems</h6>
                                        <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small>
                                    </div>
                                    <span class='badge bg-primary'>Grade: A-</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-primary' style='width: 88%'></div>
                                </div>
                                <small class='text-muted'>88% Complete | Midterm: April 28</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6>
                                        <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small>
                                    </div>
                                    <span class='badge bg-warning text-dark'>Grade: B+</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-warning' style='width: 75%'></div>
                                </div>
                                <small class='text-muted'>75% Complete | Research Paper Due: May 5</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Computer Networks</h6>
                                        <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 92%'></div>
                                </div>
                                <small class='text-muted'>92% Complete | Lab Exam: April 30</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm mb-3'>
                    <div class='card-header bg-warning text-dark'>
                        <h5 class='mb-0'>Upcoming Deadlines</h5>
                    </div>
                    <div class='card-body p-0'>
                        <ul class='list-group list-group-flush'>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-danger me-2'>Today</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Assignment 4</strong></small>
                                        <br><small class='text-muted'>Neural Networks Lab</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-warning text-dark me-2'>Apr 28</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Database Midterm</strong></small>
                                        <br><small class='text-muted'>Chapters 1-8</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-info me-2'>Apr 30</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Networks Lab Exam</strong></small>
                                        <br><small class='text-muted'>Practical Assessment</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-primary me-2'>May 5</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Research Paper</strong></small>
                                        <br><small class='text-muted'>15-20 pages</small>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>

                <div class='card shadow-sm'>
                    <div class='card-header bg-info text-white'>
                        <h5 class='mb-0'>Study Resources</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button>
                            <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button>
                            <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button>
                            <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapLMS);
pdf.SaveAs("lms-dashboard.pdf");
Imports IronPdf

' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"

Dim renderer As New ChromePdfRenderer()
Dim bootstrapLMS As String = "
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container-fluid py-4'>
        <div class='d-flex justify-content-between align-items-center mb-4'>
            <div>
                <h1 class='display-6 mb-1'>Student Learning Dashboard</h1>
                <p class='text-muted mb-0'>Spring Semester 2025</p>
            </div>
            <span class='badge bg-success fs-5'>92% Overall Progress</span>
        </div>

        <div class='row g-4 mb-4'>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-primary'>
                    <div class='card-body'>
                        <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div>
                        <h3 class='mb-1'>6/8</h3>
                        <p class='text-muted mb-0'>Courses Completed</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-success'>
                    <div class='card-body'>
                        <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div>
                        <h3 class='mb-1'>24/28</h3>
                        <p class='text-muted mb-0'>Assignments Submitted</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-warning'>
                    <div class='card-body'>
                        <div class='text-warning mb-2' style='font-size: 2rem;'>⏱</div>
                        <h3 class='mb-1'>48hrs</h3>
                        <p class='text-muted mb-0'>Study Time This Week</p>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center shadow-sm border-info'>
                    <div class='card-body'>
                        <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div>
                        <h3 class='mb-1'>A- Average</h3>
                        <p class='text-muted mb-0'>Current GPA: 3.7</p>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-4'>
            <div class='col-md-8'>
                <div class='card shadow-sm'>
                    <div class='card-header bg-primary text-white'>
                        <h5 class='mb-0'>Current Courses</h5>
                    </div>
                    <div class='card-body p-0'>
                        <div class='list-group list-group-flush'>
                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Advanced Web Development</h6>
                                        <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 95%'></div>
                                </div>
                                <small class='text-muted'>95% Complete | Final Project Due: May 15</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Database Systems</h6>
                                        <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small>
                                    </div>
                                    <span class='badge bg-primary'>Grade: A-</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-primary' style='width: 88%'></div>
                                </div>
                                <small class='text-muted'>88% Complete | Midterm: April 28</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6>
                                        <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small>
                                    </div>
                                    <span class='badge bg-warning text-dark'>Grade: B+</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-warning' style='width: 75%'></div>
                                </div>
                                <small class='text-muted'>75% Complete | Research Paper Due: May 5</small>
                            </div>

                            <div class='list-group-item'>
                                <div class='d-flex justify-content-between align-items-center mb-2'>
                                    <div>
                                        <h6 class='mb-1'>Computer Networks</h6>
                                        <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small>
                                    </div>
                                    <span class='badge bg-success'>Grade: A</span>
                                </div>
                                <div class='progress' style='height: 6px;'>
                                    <div class='progress-bar bg-success' style='width: 92%'></div>
                                </div>
                                <small class='text-muted'>92% Complete | Lab Exam: April 30</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card shadow-sm mb-3'>
                    <div class='card-header bg-warning text-dark'>
                        <h5 class='mb-0'>Upcoming Deadlines</h5>
                    </div>
                    <div class='card-body p-0'>
                        <ul class='list-group list-group-flush'>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-danger me-2'>Today</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Assignment 4</strong></small>
                                        <br><small class='text-muted'>Neural Networks Lab</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-warning text-dark me-2'>Apr 28</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Database Midterm</strong></small>
                                        <br><small class='text-muted'>Chapters 1-8</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-info me-2'>Apr 30</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>Networks Lab Exam</strong></small>
                                        <br><small class='text-muted'>Practical Assessment</small>
                                    </div>
                                </div>
                            </li>
                            <li class='list-group-item'>
                                <div class='d-flex align-items-start'>
                                    <span class='badge bg-primary me-2'>May 5</span>
                                    <div class='flex-grow-1'>
                                        <small><strong>AI Research Paper</strong></small>
                                        <br><small class='text-muted'>15-20 pages</small>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>

                <div class='card shadow-sm'>
                    <div class='card-header bg-info text-white'>
                        <h5 class='mb-0'>Study Resources</h5>
                    </div>
                    <div class='card-body'>
                        <div class='d-grid gap-2'>
                            <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button>
                            <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button>
                            <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button>
                            <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(bootstrapLMS)
pdf.SaveAs("lms-dashboard.pdf")
$vbLabelText   $csharpLabel

Çıktı: Bootstrap 5'in ızgara sistemi, kart bileşenleri, ilerleme çubukları, rozetler, flexbox düzenleri ve liste grupları ile profesyonel bir eğitim yönetim sistemi PDF'i — tümü mükemmel aralık, tipografi ve renk doğruluğu ile işlenir.

PDFNet (Apryse): Kısmi Modern CSS Desteği

PDFNet, seçici CSS3 desteği ile özel bir HTML işleyici motoru kullanır:

  • Sınırlı flexbox uygulaması: Bootstrap 4/5 flex tabanlı düzenleri tutarsız şekilde işlenebilir
  • Kısmi CSS Grid desteği: Izgara tabanlı tasarımlar genellikle yedekler gerektirir
  • JavaScript kısıtlamaları: Tam tarayıcı ortamlarına göre minimal yürütme
  • Framework testi gerekli: Bootstrap bileşenleri üretim kullanımı öncesi onay gerektirir

Geliştirme etkisi: Ekiplerin her Bootstrap bileşenini ayrı ayrı test etmesi ve genellikle PDFNet için basitleştirilmiş düzenler veya alternatif CSS oluşturması gerekir, bu da karmaşıklık ekler ve tasarım tutarlılığını azaltır.

Kapsamlı Bootstrap çerçevesi rehberi ve modern CSS işleme yetenekleri için Bootstrap & Flexbox CSS Rehberi'ne bakın.

7. Bir PDF Dosyasını Yazdırma (Kod Örnekleri)

PDF dosyası yazdırma, PDF belgeleriyle çalışan modern uygulamalar için gerekli bir özelliktir. Burada, PDF dosyalarını her iki aracı kullanarak nasıl yazdıracağımızı tartışacağız.

7.1. IronPDF Kullanarak Bir PDF Dosyasını Yazdırma

IronPDF, PDF dosyasını bilgisayarın varsayılan yazıcısına göndererek yazdırır. Bu, Windows yazdırma arayüzünü açacaktır — sadece yazdır'ı tıklayarak işlemi gerçekleştirin.

using IronPdf;

class PrintPDF
{
    static void Main(string[] args)
    {
        // Create a new PDF and print it
        var Renderer = new IronPdf.ChromePdfRenderer();
        PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

        // Send the PDF to the default printer to print
        Pdf.Print(300, false);
    }
}
using IronPdf;

class PrintPDF
{
    static void Main(string[] args)
    {
        // Create a new PDF and print it
        var Renderer = new IronPdf.ChromePdfRenderer();
        PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

        // Send the PDF to the default printer to print
        Pdf.Print(300, false);
    }
}
Imports IronPdf

Friend Class PrintPDF
	Shared Sub Main(ByVal args() As String)
		' Create a new PDF and print it
		Dim Renderer = New IronPdf.ChromePdfRenderer()
		Dim Pdf As PdfDocument = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

		' Send the PDF to the default printer to print
		Pdf.Print(300, False)
	End Sub
End Class
$vbLabelText   $csharpLabel

7.2. PDFNet Kullanarak Bir PDF Dosyasını Yazdırma

PDFTron'un PDFNet SDK'sı da bir yazdırma özelliği sağlar. Aşağıda PDFNet'te bir PDF dosyasını yazdırmak için bir kaynak kod parçası bulunmaktadır.

using System;
using pdftron;
using pdftron.PDF;
using pdftron.Common;
using pdftron.Filters;

namespace PDFPrintTestCS
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Opening the input file...");
            using (PDFDoc pdfdoc = new PDFDoc("tiger.pdf"))
            {
                pdfdoc.InitSecurityHandler();
                Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...");
                PrinterMode printerMode = new PrinterMode();
                printerMode.SetAutoCenter(true);
                printerMode.SetAutoRotate(true);
                printerMode.SetCollation(true);
                printerMode.SetCopyCount(1);
                printerMode.SetDPI(300); // Set print quality to 300 DPI
                printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto);
                printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom);
                printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait);
                printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations);
                printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale);
                printerMode.SetOutputPageBorder(false);
                printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium);
                printerMode.SetPaperSize(new Rect(0, 0, 612, 792));
                PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all);
                Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null);
            }
        }
    }
}
using System;
using pdftron;
using pdftron.PDF;
using pdftron.Common;
using pdftron.Filters;

namespace PDFPrintTestCS
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Opening the input file...");
            using (PDFDoc pdfdoc = new PDFDoc("tiger.pdf"))
            {
                pdfdoc.InitSecurityHandler();
                Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...");
                PrinterMode printerMode = new PrinterMode();
                printerMode.SetAutoCenter(true);
                printerMode.SetAutoRotate(true);
                printerMode.SetCollation(true);
                printerMode.SetCopyCount(1);
                printerMode.SetDPI(300); // Set print quality to 300 DPI
                printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto);
                printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom);
                printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait);
                printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations);
                printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale);
                printerMode.SetOutputPageBorder(false);
                printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium);
                printerMode.SetPaperSize(new Rect(0, 0, 612, 792));
                PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all);
                Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null);
            }
        }
    }
}
Imports System
Imports pdftron
Imports pdftron.PDF
Imports pdftron.Common
Imports pdftron.Filters

Namespace PDFPrintTestCS
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Console.WriteLine("Opening the input file...")
			Using pdfdoc As New PDFDoc("tiger.pdf")
				pdfdoc.InitSecurityHandler()
				Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...")
				Dim printerMode As New PrinterMode()
				printerMode.SetAutoCenter(True)
				printerMode.SetAutoRotate(True)
				printerMode.SetCollation(True)
				printerMode.SetCopyCount(1)
				printerMode.SetDPI(300) ' Set print quality to 300 DPI
				printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto)
				printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom)
				printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait)
				printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations)
				printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale)
				printerMode.SetOutputPageBorder(False)
				printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium)
				printerMode.SetPaperSize(New Rect(0, 0, 612, 792))
				Dim pagesToPrint As New PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all)
				Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, Nothing)
			End Using
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

8. HTML'den PDF Oluşturma

Her iki kütüphane de HTML-PDF dönüşüm yeteneklerine sahiptir, fakat yöntemler biraz farklıdır.

8.1. IronPDF Kullanarak HTML'den PDF'ler Oluşturma

IronPDF, JSON veya şifreleme mekanizmalarının kullanımını gerektirmez. IronPDF geniş bir yöntem yelpazesi desteği sağlar. Örneğin:

HTML Dosyaları PDF'e

using IronPdf;

class HtmlToPdf
{
    static void Main(string[] args)
    {
        var Renderer = new IronPdf.ChromePdfRenderer();
        Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
    }
}
using IronPdf;

class HtmlToPdf
{
    static void Main(string[] args)
    {
        var Renderer = new IronPdf.ChromePdfRenderer();
        Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
    }
}
Imports IronPdf

Friend Class HtmlToPdf
	Shared Sub Main(ByVal args() As String)
		Dim Renderer = New IronPdf.ChromePdfRenderer()
		Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

URL PDF'ye

using IronPdf;

class UrlToPdf
{
    static void Main(string[] args)
    {
        IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
        var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
        Pdf.SaveAs("url.pdf");
    }
}
using IronPdf;

class UrlToPdf
{
    static void Main(string[] args)
    {
        IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
        var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
        Pdf.SaveAs("url.pdf");
    }
}
Imports IronPdf

Friend Class UrlToPdf
	Shared Sub Main(ByVal args() As String)
		Dim Renderer As New IronPdf.ChromePdfRenderer()
		Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
		Pdf.SaveAs("url.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel
A Comparison Between IronPDF and PDFNet, Figure 9

8.2. PDFNet Kullanarak HTML'den PDF'ler Oluşturma

PDFNet, hem sayfa dönüşümü hem de URL dönüşümü kullanarak HTML-PDF dönüşüm özellikleri de sağlar. Uzun kod nedeniyle, burada size sadece bir örnek vereceğiz.

class HTML2PDFSample
{
    private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
    static HTML2PDFSample() {}

    static void Main(string[] args)
    {
        string output_path = "../../../../TestFiles/Output/html2pdf_example";
        string host = "https://www.pdftron.com";
        HTML2PDF.SetModulePath("../../../../../Lib");

        if (!HTML2PDF.IsModuleAvailable())
        {
            Console.WriteLine();
            Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.");
            return;
        }

        try
        {
            using (PDFDoc doc = new PDFDoc())
            {
                if (HTML2PDF.Convert(doc, host + "/"))
                    doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized);
                else
                    Console.WriteLine("Conversion failed.");
            }
        }
        catch (PDFNetException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
class HTML2PDFSample
{
    private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance();
    static HTML2PDFSample() {}

    static void Main(string[] args)
    {
        string output_path = "../../../../TestFiles/Output/html2pdf_example";
        string host = "https://www.pdftron.com";
        HTML2PDF.SetModulePath("../../../../../Lib");

        if (!HTML2PDF.IsModuleAvailable())
        {
            Console.WriteLine();
            Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.");
            return;
        }

        try
        {
            using (PDFDoc doc = new PDFDoc())
            {
                if (HTML2PDF.Convert(doc, host + "/"))
                    doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized);
                else
                    Console.WriteLine("Conversion failed.");
            }
        }
        catch (PDFNetException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
Friend Class HTML2PDFSample
	Private Shared pdfNetLoader As pdftron.PDFNetLoader = pdftron.PDFNetLoader.Instance()
	Shared Sub New()
	End Sub

	Shared Sub Main(ByVal args() As String)
		Dim output_path As String = "../../../../TestFiles/Output/html2pdf_example"
		Dim host As String = "https://www.pdftron.com"
		HTML2PDF.SetModulePath("../../../../../Lib")

		If Not HTML2PDF.IsModuleAvailable() Then
			Console.WriteLine()
			Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.")
			Return
		End If

		Try
			Using doc As New PDFDoc()
				If HTML2PDF.Convert(doc, host & "/") Then
					doc.Save(output_path & "_01.pdf", SDFDoc.SaveOptions.e_linearized)
				Else
					Console.WriteLine("Conversion failed.")
				End If
			End Using
		Catch e As PDFNetException
			Console.WriteLine(e.Message)
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel
A Comparison Between IronPDF and PDFNet, Figure 10

9. Lisanslama

IronPDF, ücretsiz bir geliştirici lisansı sunan bir kütüphanedir. IronPDF ayrıca özel bir fiyat yapısı sunar: hafif paket, $999 ile başlamaktadır ve gizli maliyet yoktur. SaaS ve OEM ürünlerini de yeniden dağıtmak mümkündür. Tüm lisanslar, 30 günlük para iade garantisi, yazılım desteği ve güncellemeler, geliştirme/test/ortam/üretim geçerliliği ve süresiz (tek seferlik) bir lisans içerir. IronPDF lisansları, kullanıcılarının ihtiyaçları için maksimum performans sağlar. IronPDF'in tüm fiyatlandırma yapısını ve lisansını görmek için bu IronPDF Lisanslama Sayfası'na gidin.

A Comparison Between IronPDF and PDFNet, Figure 11

PDFTron PDFNet SDK, iş ihtiyaçlarınıza uygun çeşitli lisans seçenekleriyle birlikte gelir. Üç tür lisans, kurumsal ve OEM yeniden dağıtımlarını içerir. Enterprise lisansları yalnızca organizasyon kullanımı içindir ve uygulama dağıtımında kullanılamaz. Ek API'ler, dosya sistemi erişimi gerektiren özelliklerle birlikte gelir. Tüm lisanslar bir lisans anahtarı ile birlikte verilir. Lisans türleri şunlardır:

  • İzleyici
  • İzleyici & Açıklama
  • Çekirdek SDK

Lisans yapılarına dair daha fazla bilgi için bu PDFTron Lisanslama Bilgi Sayfası'na bakın.

10. Sonuç

IronPDF, PDF dosyalarını işlemek ve bunları farklı formatlara dönüştürmek için birçok özellik ve işlevsellik sunar. HTML ve PDF arasında yapılan dönüşümler, yüksek kaliteli ticari baskı için uygun bir vektör formatında üretilir. Sonuç olarak, net, yüksek kaliteli bir PDF elde edeceksiniz. Lisans ve fiyatlandırma bilgileri web sitesinde bulunabilir.

IronPDF'e benzer şekilde, PDFNet, geçiş, açıklama, imza, doldurma, dönüşüm ve PDF dosyalarının düzenlenmesine yardımcı olur. Windows, iOS, Android, WEB ve Linux dahil olmak üzere birçok platformu destekler. Üretim kullanımı için PDFNet SDK'ları bir ürün anahtarı gerektirir.

IronPDF'in lisansları geliştirici odaklıdır, bu da ürünü kaç geliştiricinin kullanacağına bağlı olarak lisans almanız gerektiği anlamına gelir. Öte yandan, PDFNet lisansları aynı şekilde çalışmaz, bunun yerine bir özellik tabanlı lisans üzerinde çalışır. Bu, gerekli özellikleri destekleyen lisansı almanız gerektiği anlamına gelir. IronPDF lisansları, özelliklerin tümünü kutudan çıkar çıkmaz içerir. PDFNet ile bazı özellikler, örneğin, belge dönüştürme, ek unsurlar olarak satın alınmalıdır.

IronPDF kütüphanesi, özellikleri düzenli bir şekilde sunarak büyük görevleri birkaç satır kodla yapan kod yazmayı kolaylaştırır. Iron Software şu anda yalnızca iki tanesinin fiyatına beş araçlık bir paket sunuyor. Iron Suite içinde yer alan araçlar şunlardır:

Lütfen bu Iron Suite Bilgi Sayfasını Iron Suite'i Keşfetmek için Ziyaret Edin.

Lütfen dikkate alınPDFTron, ilgili sahibinin tescilli ticari markasıdır. Bu site PDFTron ile ilişkilendirilmemiştir, tarafından onaylanmamış veya sponsoru değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

Sıkça Sorulan Sorular

Makalede karşılaştırılan ana PDF kütüphaneleri nelerdir?

Makale, Iron Software tarafından geliştirilen IronPDF ve PDFTron tarafından geliştirilen PDFNet'i karşılaştırarak, C# geliştiricileri için .NET Framework dahilinde sundukları yeteneklere odaklanmaktadır.

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

IronPDF'nin RenderHtmlAsPdf yöntemini kullanarak HTML dizgilerini PDF'ye dönüştürebilirsiniz. Ayrıca, IronPDF'nin güçlü Chromium motorunu kullanarak HTML dosyalarını ve URL'leri PDF'ye dönüştürebilirsiniz.

IronPDF tarafından desteklenen işletim sistemleri nelerdir?

IronPDF, çeşitli geliştirme ortamlarıyla sorunsuz entegrasyon sağlayarak, Windows, Azure ve Docker dahil olmak üzere birden fazla işletim sistemini destekler.

IronPDF, PDF veri çıkarımını nasıl ele alır?

IronPDF, geliştiricilere PDF belgelerinden metin ve resimleri kolayca alma imkanı vererek, PDF veri çıkarımını verimli kılar.

IronPDF için kurulum seçenekleri nelerdir?

IronPDF, Visual Studio NuGet Paket Yöneticisi, Visual Studio Komut Satırı veya doğrudan NuGet Galerisi aracılığıyla yüklenebilir, bu da geliştiriciler için kolay kurulum sağlar.

IronPDF ve PDFNet arasındaki lisanslama farklılıkları nelerdir?

IronPDF, tüm özellikleri içeren geliştirici merkezli lisanslar sunarken, PDFNet lisansları, belirli işlevsellikler için ek satın alımlar gerektirebilecek özellik tabanlıdır.

IronPDF büyük PDF görevleri için uygun mu?

Evet, IronPDF kullanım kolaylığı ve minimum kod gereksinimleri nedeniyle övülmekte olup, büyük PDF görevlerini verimli bir şekilde ele alabilecek kapasitededir.

Iron Software suite'e dahil olan ek araçlar nelerdir?

Iron Software suite, IronBarcode, IronXL, IronOCR, IronPDF ve IronWebscraper'i içermekte olup, geliştiricilere cazip hale getiren bir paket önerisi sunar.

Curtis Chau
Teknik Yazar

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

Daha Fazla Oku

Iron Destek Ekibi

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