IronPDF ve PDFNet Arasındaki Karşılaştırma
1. Tanıtım
.NET Framework icin mükemmel PDF araclarini mi arıyorsunuz?
Bu makalede, C# (en popüler programlama dillerinden biri) ile PDF dosyaları üzerinde nasıl calisacagimizi gorecegiz. .NET Framework'te C# icin iki endüstri lideri PDF aracını tartisacagiz, performansları ve özellikleri temelinde onları kıyaslamak icin kod örnekleri kullanacağız. Sonunda, lisans ayrintilarını goreceğiz ve lisans anahtarlarını nasıl alacağımızı öğreneceğiz.
Iki PDF kutuphanesi sunlardir:
- PDFNet
- IronPDF
2. IronPDF
IronPDF, C# .NET geliştiricileri icin tek bir kutuphane kullanarak tüm PDF sorunlarını çözmek icin Iron Software tarafından geliştirilen bir C# .NET kutuphanesidir. IronPDF, yerleşik bir Chromium motoru ile çalışır ve HTML5, JavaScript, CSS ve resim dosyalarının PDF'ye dönüştürulmesi, özel başlıklar ve altbilgiler oluşturulması, ve tarayıcıda oldugu gibi PDF'lerin tam olarak görüntülenmesi gibi çeşitli yararlı ve guclu yeteneklere sahiptir. IronPDF, PDF dosyalarının içeriğini okumanızı ve otomatik olarak .NET uygulamalarınıza ve veri depolama sistemlerinize yerleştirmenizi sağlar. Eski PDF belge deposundan içeriği belge yönetimi ve iş uygulamalariniza aktarabilir, taşıyabilir ve dizinleyebilirsiniz.
2.1. IronPDF Özellikleri
2.1.1. PDF Dönüşümleri
Bu özellik, HTML, MVC gorunumleri, Web Formları, HTML Stringleri ve URL'ler gibi çeşitli formatlardan PDF dosyaları oluşturmanızı sağlar.
2.1.2. PDF İçerik Cikartma
Birçok durumda, PDF'lerden gomiş metni kolayca cikartabilirsiniz. Ancak, eğer bu basarisiz olursa, metniniz muhtemelen bir resim içinde gomuludur. IronOCR kutuphanesini, duz metin yerine gorsel metni taramak icin kullanın.
2.1.3 Basliklar ve Altbilgi
PDF oluştururken veya mevcut PDF'lere başlıklar ve altbilgiler ekleyebilirsiniz. Tek bir belgenin her sayfası için bir başlık ve altbilgi oluşturmak icin Baskı Seçenekleri ozelligini kullanabilirsiniz. Bu parametreler ChromePdfRenderer nesnesinde mevcuttur. Bu örnek bir .NET Core konsol uygulaması icinde çalisir.
2.1.4. PDF Resim İşleme
Bu, kullanıcılara PDF'lerden resimler oluşturmayi ve fotograflardan PDF'ler oluşturmayı sağlar. Resim cikartma, çeşitli resim uzantılarını ve PDF baskısı destekler.
2.1.5. PDF Belgeleri IO
IronPDF ayrıca 128-bit PDF sifreleme, sifre korumalı PDF kilitleme ve PDF'lerin dijital imzalanmasini içerir.
2.1.6. PDF Duzenleme
IronPDF araci, PDF'lerinize filigranlar eklemenizi, sayfalar eklemenizi, silmenizi, arka planları, on planları ve daha fazlasını eklemenizi sağlar.
2.1.7. Uyumluluk
IronPDF, C# ile uyumlu olan neredeyse tüm işletim sistemlerini ve çerçeveleri destekler, orneğin:
- Windows
- .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
- Evrensel Uyum için .NET Standard 2.0 Uyumu
- Azure
- AWS
- Docker
- Linux
3. PDFNet
PDFTron'un PDFNet .NET SDK'si, web, mobil, masaüstü veya sunucu uzerindeki herhangi bir çevrim icin keskin PDF işleme, açıklama, düzenleme ve oluşturma getirir. Altyapınızla birlikte tüm belge ve bilgi yönetimi sürecini yönetir ve üçüncü taraf sunucu bağımlılıklarına olan ihtiyaçı ortadan kaldırır. PDFTron'un web platformu, desteklenen platform ve tüm PDF SDK'leri için bir demo lisans anahtarıyla birlikte bir JS sürümü ile birlikte gelir.
PDFNet'in en önemli faydalarından biri, gerçekten çapraz platform olmasıdır, bu sayede kullanıcılarımızın birçok farklı mobil ve masaüstü ortamda iş akışlarına ve uygulamalarına basitçe PDF uyumluluğu ve ilgili işlevselliği eklemelerine olanak tanır, hem de neredeyse aynı arayüzü kullanarak.
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, 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 ek ikili dosyalar gerektirir.
3.1.2. Düzenleme ve Görüntüleme
Kullanıcılara çevrimiçi, mobil ve masaüstü platformlar genelinde güvenli, ölçeklenebilir ve yüksek kaliteli okuma ve düzenleme yetenekleri sunar.
3.1.3. İmza
Özelleştirilmiş imzalama prosedürleri oluşturun. Dijital olarak imzalanmış belgeler onaylanabilir, doğrulanabilir ve mühürlenebilir.
3.1.4. Gerçek Düzenleme
Kişisel bilgileri veya kişisel sağlık bilgileri gibi hassas verileri belgelerden kaldırırken belge aranabilir durumda bırakılır.
3.1.5. Sayfa Manipülasyonu
Sayfalar eklenebilir, kaldırılabilir veya yeniden düzenlenebilir. Belgeler birleştirilebilir, birleştirilebilir veya parçalara ayrılabilir. Birden çok belge, aynı okuyucuda veya yan yana aynı anda görüntülenebilir.
4. Visual Studio'da Yeni Proje Oluşturma
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 kutusundaki yolu seçin. Ardından, oluştur düğmesine tıklayın. Aşağıdaki ekran görüntüsünde olduğu gibi gerekli .NET çerçevesini seçin:
Visual Studio projesi şimdi konsol uygulamasının yapısını üretecektir. Bir kez bitirildiğinde, kaynak kod yazıp çalıştırabileceğiniz Program.cs dosyasını açacaktır.
Şimdi kütüphaneyi ekleyip programı test edebiliriz.
5. IronPDF Kutuphanesini Yükleyin
IronPDF kütüphanesi dört farklı şekilde indirilebilir ve kurulabilir. Bunlar su sekildedir:
- Visual Studio NuGet Paket Yöneticisini Kullanarak
- Visual Studio Komut Satırı kullanarak.
- NuGet Galerisi IronPDF Paketi'nden Doğrudan İndir.
- IronPDF İndirme Sayfası'ndan Doğrudan İndir.
5.1 Visual Studio NuGet Paket Yöneticisini Kullanarak
Visual Studio yazılımı, paketi doğrudan çözümleme üzerine yüklemek için NuGet Paket Yöneticisi seçeneğini sunar. Aşağıdaki ekran görüntüsü, NuGet Paket Yöneticisini nasıl açacağınızı gösterir.
Paket Yöneticisi GUI'si açıkken, Gözat sekmesine tıklayın ve "IronPDF:" arayın
Yukarıdaki resimde, arama ile ilgili paketlerin listesini görebiliriz. 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 > Package manager console gidin
- Paket yöneticisi konsol sekmesine aşağıdaki satırı girin:
Install-Package IronPdf
IronPDF paketi artık projeye yüklenecek.
5.3 NuGet Web Sayfasından Doğrudan İndirme
Üçüncü yol, NuGet paketini doğrudan NuGet Galerisi IronPDF Paketi'ndan indirmektir.
- Sağ taraftaki menüden indirme paketi seçeneğini seçin.
- İndirilen paketi çift tıklayın; otomatik olarak yüklenecektir.
- Sonraki, çö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. İndirdikten sonra, paketi projeye eklemek için aşağıdaki adımları izleyin.
- Çözüm penceresinden projeyi sağ tıklayın.
- Ardından, seçenekler referansını seçin ve indirilen referansın yerini gözden geçirin.
- Ardından, başvuruyu eklemek için Tamam'a tıklayın.
6. PDFNet SDK'yı Yükleyin
PDFNet SDK, dört farklı şekilde indirilebilir ve yüklenebilir.
- Visual Studio NuGet Paket Yöneticisi kullanılarak.
- Visual Studio Komut Satırı kullanarak.
- NuGet Galerisi PDFNet Paketi'ndan Doğrudan İndir.
- PDFNetLoader.dll kullanılarak
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ünecek — çözümler için NuGet paketi yönetin üzerine tıklayın.
Arama çubuğuna sahip bir pencere görünecek. PDFNet'i arayın ve projeye yükleyin.
6.2. Visual Studio Komut Satırını Kullanma
- Visual Studio menüsünde Tools > NuGet Package manager > Package manager console gidin
- Paket yöneticisi konsol sekmesine aşağıdaki satırı girin:
Install-Package PDFNet -Version 9.2.0
6.3. NuGet Web Sayfasından Doğrudan İndir
Üçüncü yol, NuGet paketini doğrudan NuGet Galerisi PDFNet Paketi'ndan indirmektir.
- Sağ menüden indirme paketi seçeneğini seçin.
- İndirilen paketi çift tıklayarak kurulum sürecini başlatın.
6.4. PDFNetLoader.dll Kullanarak
PDFNet API'sini PDFNetLoader.dll dosyası kullanarak da yükleyebilirsiniz. Onu GitHub Releases for PDFNetLoader.dll'den indirin.
Paketi indirin, projedeki bin dosyasına yerleştirin ve çalıştırın. Visual Studio projenizde PDFNetLoader.dll'yi bir referans olarak ekleyin.
Bootstrap ve CSS Çerçeve İşleme
Modern web uygulamaları, tutarlı, duyarlı tasarım için Bootstrap ve CSS çerçevelerine büyük ölçüde güvenmektedir. Web içeriğinden PDF'ler oluştururken, bu çerçeveleri değiştirilmeden doğru bir şekilde işleme yeteneği, tasarım tutarlılığını korumak ve geliştirme çabalarını azaltmak için çok önemlidir.
IronPDF: Tam Bootstrap Çerçeve Desteği
- Bootstrap 5: Tam flexbox düzeni 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ı ilkel sınıflar tarayıcı doğruluğuyla işlenir
- Foundation: 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 doğrulaması: IronPDF, Bootstrap anasayfasını ve tüm resmi örnekleri mükemmel piksel uyumu ile işler.
Kod Örneği: Öğrenme 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üzenler ve liste grupları ile profesyonel öğrenme yönetim sistemi PDF'si — mükemmel boşluk, tipografi ve renk doğruluğu ile işleniyor.
PDFNet (Apryse): Kısmi Modern CSS Desteği
PDFNet, seçici CSS3 desteğiyle özel bir HTML işleme motoru kullanır:
- Sınırlı flexbox uygulaması: Bootstrap 4/5 flex tabanlı düzenler tutarsız işlenebilir
- Kısmi CSS Grid desteği: Izgara tabanlı tasarımlar genellikle yedek gerektirir
- JavaScript kısıtlamaları: Tam tarayıcı ortamlarına kıyasla minimal yürütme
- Çerçeve testi gereklidir: Bootstrap bileşenleri üretim öncesi doğrulama gerektirir
Geliştirme etkisi: Ekipler, her Bootstrap bileşenini ayrı ayrı test etmeli ve genellikle PDFNet için basitleştirilmiş düzenler veya alternatif CSS oluşturmalı, bu da karmaşıklığı artırır ve tasarım tutarlılığını azaltır.
Önemli Bootstrap çerçeve kılavuzu ve modern CSS işleme yetenekleri için Bootstrap & Flexbox CSS Kılavuzuna bakın.
7. PDF Dosyasını Yazdırma (Kod Örnekleri)
PDF dosyasını yazdırmak, PDF'lerle çalışan modern uygulamalar için vazgeçilmez bir özelliktir. Burada, her iki aracı kullanarak PDF dosyalarını nasıl yazdıracağımızı tartışacağız.
7.1. IronPDF Kullanarak PDF Dosyasını Yazdırma
IronPDF, bir PDF'yi bilgisayarın varsayılan yazıcısına göndererek yazdırır. Bu, Windows yazdırma arayüzünü açacaktır — yazdır butonuna tıklamanız yeterli.
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 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 kaynak kod örneği verilmiştir.
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'den PDF'ye dönüştürme yeteneklerine sahiptir, ancak yöntemler biraz farklıdır.
8.1. IronPDF Kullanarak HTML'den PDF Oluşturma
IronPDF, JSON veya şifreleme mekanizmalarının kullanımını gerektirmez. IronPDF geniş bir yöntem yelpazesini destekler. Örneğin:
HTML Dosyalarını PDF'ye Dönüştürme
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'den 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 Oluşturma
PDFNet, hem sayfa dönüştürme hem de URL dönüştürme kullanarak HTML'den PDF'ye dönüştürme özellikleri 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 $799 ile başlar ve gizli maliyet yoktur. Ayrıca SaaS ve OEM ürünlerini yeniden dağıtmak da mümkündür. Tüm lisanslar, 30 günlük para iade garantisi, bir yıl yazılım desteği ve güncellemeler, geliştirme/test/ortam/üretim geçerliliği ve süresiz lisans (tek seferlik satın alma) içerir. IronPDF lisansları, kullanıcıların ihtiyaçları için maksimum performans sunar. IronPDF'nin tüm fiyat 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 birkaç lisans seçeneği ile birlikte gelir. Üç tür lisans, kurumsal ve OEM derecelendirmeleri ile birlikte gelir. Kurumsal lisanslar yalnızca organizasyonel kullanım içindir ve uygulama dağıtımında kullanılamaz. Dosya sistemi erişimi gerektiren ek API'ler de lisanslara dahildir. Tüm lisanslar bir lisans anahtarı ile gelir. Üç tür lisans şunlardır:
- Görüntüleyici
- Görüntüleyici ve Açıklama
- Çekirdek SDK
Lisans yapıları hakkında daha fazla bilgi için bu PDFTron Lisans Bilgi Sayfası'nı ziyaret edin.
10. Sonuç
IronPDF, PDF dosyalarını işlemek ve farklı formatlara dönüştürmek için birçok özellik ve işlevsellik sunar. HTML'den PDF'ye dönüşümler, yüksek kaliteli ticari baskı için uygun olan vektör formatında üretilir. Sonuç olarak, net ve yüksek kaliteli bir PDF alacaksınız. Lisans ve fiyatlandırma bilgileri web sitesinde bulunabilir.
IronPDF'e benzer şekilde, PDFNet, PDF dosyalarının dönüşümü, ek açıklamaları, imzalanması, doldurulması, dönüştürülmesi ve düzenlenmesine yardımcı olur. Windows, iOS, Android, WEB ve Linux dahil birden fazla platformu destekler. Üretim kullanımı için, PDFNet SDK'ları bir ürün anahtarı gerektirir.
IronPDF'in lisansları geliştirici odaklıdır, yani ürünü kaç geliştiricinin kullanacağına bağlı olarak bir lisans almanız gerekir. Diğer yandan, PDFNet lisansları aynı şekilde çalışmaz, bunun yerine özellik bazlı bir lisans üzerinden çalışır. Bu, gerekli olan özellikleri destekleyen lisansı almanız gerektiği anlamına gelir. IronPDF lisansları kutudan çıktığı gibi tüm özellikleri içerir. PDFNet ile bazı özellikler, örneğin belge dönüştürme, eklenti olarak satın alınmalıdır.
IronPDF kütüphanesi, kodunuzu yazmanızı kolaylaştıracak şekilde düzenli olarak sunulan özellikler ile, birkaç satır kodla büyük görevleri yerine getirmeyi kolaylaştırır. Iron Software şu anda sadece iki fiyatına beş araç paketi sunuyor. Iron Suite'te yer alan araçlar şunlardır:
Lütfen bu Iron Suite Bilgi Sayfasını Keşfetmek İçin Ziyaret Edin.
Sıkça Sorulan Sorular
Makaledeki ana PDF kütüphaneleri nelerdir?
Makale, Iron Software tarafindan geliştirilen IronPDF ve PDFTron tarafindan geliştirilen PDFNet'i, .NET Framework icindeki C# geliştiricileri için provide ettikleri yeteneklere odaklanarak karsilastirir.
HTML'yi C#'de PDF'ye nasıl dönüştürebilirim?
IronPDF'nin RenderHtmlAsPdf metodunu HTML stringlerini PDF'ye dönüştürmek için kullanabilirsiniz. Ayrica, IronPDF'nin güçlü Chromium motorunu kullanarak HTML dosyalarini ve URL'leri PDF'ye dönüştürebilirsiniz.
IronPDF hangi işletim sistemlerini destekler?
IronPDF birden fazla işletim sistemi desteği sunar, bu sistemler Windows, Azure ve Docker dahil olmak uzere farkli geliştirme ortamlarına sorunsuz bir şekilde entegre edilir.
IronPDF, PDF verilerini nasıl çıkarir?
IronPDF verimli PDF veri çıkarma özelligi sunarak geliştiricilerin PDF dokümanlarindan metin ve resimleri kolayca alarak daha fazla işlem yapmalarını saglar.
IronPDF için yükleme seçenekleri nelerdir?
IronPDF, Visual Studio NuGet Paket Yöneticisi, Visual Studio Komut Satırı veya doğrudan NuGet Galerisi'nden kurulabilir ve bu sayede geliştiriciler için kolay bir kurulum saglar.
IronPDF ve PDFNet arasindaki lisans farkliliklari nelerdir?
IronPDF, tüm özellikleri içeren geliştirici odaklı lisanslar sunarken, PDFNet lisansları özelliğe dayalıdır ve belirli işlevsellikler için ek satın alımlar gerekebilir.
IronPDF büyük PDF görevleri için uygun mudur?
Evet, IronPDF'in kullanımi kolayligi ve çok az kod gereksinimi nedeniyle büyük PDF görevlerini verimli bir şekilde yönetmek için uygun oldugu öne çıkar.
Iron Software paketi hangi ek araçları içerir?
Iron Software suite, IronBarcode, IronXL, IronOCR, IronPDF ve IronWebscraper'i bir paket anlaşması olarak sunarak geliştiriciler için çekiciliğini artırır.



