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:
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.
Ş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:
- Visual Studio NuGet Paket Yöneticisini Kullanarak
- Visual Studio Komut Satırını kullanarak.
- NuGet Galerisi IronPDF Paketi'nden Doğrudan İndirme.
- IronPDF İndirme Sayfası'ndan Doğrudan İndirme.
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.
Paket Yöneticisi GUI'sini açtıktan sonra, Gözat sekmesine tıklayın ve "IronPDF" arayın:
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şağıdaki satırı paket yöneticisi konsol sekmesine girin:
Install-Package IronPdf
IronPDF paketi şimdi projeye yüklenecektir.
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.
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
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")
Çı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
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
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
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
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
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.
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.
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.



