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

iTextSharp ve IronPDF ile C#'ta PDF Oluşturma Karşılaştırması

1. Giriş

Dijital çağda, Taşınabilir Belge Formatları veya PDF'ler, bilgileri güvenilir ve tutarlı bir formatta depolamak ve paylaşmak için gerekli hale gelmiştir. Veri özelliklerini düzgün formatlanmış bir PDF'ye dönüştürmek veya profesyonel bir fatura hazırlamak için olsun, geliştiriciler genellikle sunucu geliştirme için Phantom PDF yerine güçlü C# istemci kütüphanelerine, IronPDF gibi veya yerel JSReport Studio'ya başvurur.

IronPDF, .NET framework içinde HTML'den PDF'ye dönüştürmede güçlü bir performans sunarken, JSReport SDK, yerel JSReport sunucusu ve yapılandırma dosyalarını kullanarak esneklik ve özelleştirmeye odaklanan dinamik raporlama çözümleri sunar. Her iki kütüphane, PDF oluşturma ve işleme alanında geliştiricilerin farklı ihtiyaçlarını karşılayan benzersiz çözümler sunar.

2. JSReport Sunucusu .NET Kullanımı

JSReport SDK .NET, özellikle ASP.NET Core ortamları için optimize edilmiş bir .NET uygulamaları için gelişmiş raporlama çözümüdür. HTML ve JavaScript'ten doğrudan PDF, Excel, DOCX ve CSV gibi çeşitli formatlara görünüm çıktılarının dönüştürülmesini sağlayarak öne çıkar. Bu özellik, bir raporlama sunucusu kullanarak rapor oluşturma için ASP.NET MVC gibi motorlardan yararlanarak sağlanır.

JSReport .NET, planlama, şablon sürümü, alt raporlar, kullanıcı yönetimi, şablonları içe/ihracat, ve yedekleme dahil olmak üzere geniş kapsamlı varsayılan yerel uzantılar sağlar, çeşitli iş senaryolarında çok yönlülüğünü ve uygulanabilirliğini artırır. Ayrıca, rapor oluşturmayı hemen her yerden mümkün kılan REST API, CLI, ve SDK'lar gibi geniş bir API desteği sunar.

2.1 Ana Özellikler

2.1.1 ASP.NET Core Entegrasyonu

JSReport SDK, ASP.NET Core uygulamaları için özel bir jsreport.AspNetCore NuGet paketi sunar. Bu, görünüm çıktılarının istenen formatlara dönüştürülmesini sağlayan ara yazılım filtrelerini içerir, HTML oluşturucu olarak görünümleri ve çıktı dönüştürücü olarak JSReport sunucusunu kullanır.

2.1.2 Esnek Kurulum

Kurulum, jsreport.AspNetCore, jsreport.Local, ve jsreport.Binary gibi paketlerin kullanımını içerir. Bu yardımcı sınıflar, yerel bir JSReport örneğine veya bir uzak örneğe jsreport.Client aracılığıyla bağlanmayı kolaylaştırır.

2.1.3 Çıktı Dönüşümü

Geliştiriciler, çıktı dönüşümü için JSReport tariflerini kolayca belirleyebilir. Örneğin, MiddlewareFilter ve ChromePdf tarifini kullanarak, bir ASP.NET filtresi, bir görünümün render sonucunu yakalar ve bir PDF formatına dönüştürür. Bu özellik, özellikle ASP.NET tabanlı uygulamalar için faydalıdır.

2.1.4 Uzak Örnek Uyumlu

JSReport .NET, uzak JSReport örnekleri ile kolayca entegre olur. Bu, JSReport'un ayrı bir konteynırda çalıştığı orkestre edilmiş Docker ortamlarında özellikle avantajlıdır. Böyle bir entegrasyon, Docker compose gibi araçları kullanarak JSReport ve .NET Core uygulamalarını düzenlemeyi kolaylaştırır.

2.1.5 Gelişmiş Yanıt İşleme

OnAfterRender kancası, yanıt üstbilgilerinin ve diğer niteliklerin işlenmesine olanak tanır. Bu kanca, rapor oluşturma işleminden alınan yanıtı işleme esnekliği sunarak çıktıyı bir dosyaya kaydetmek için de kullanılabilir.

2.1.6 Özel Başlıklar

JSReport .NET, kısmi görünümler aracılığıyla özel PDF üstbilgilerinin belirlenmesini sağlar. Bu başlıklar, rapor oluşturma sırasında ana PDF içeriğiyle birlikte anında oluşturulabilir, bu da ek özelleştirme seçenekleri sunar.

2.1.7 MVC Görünümleri Olmadan Oluşturma

Çerçeve, sadece MVC görünümlerinden değil, ham HTML'den rapor oluşturmayı da destekler. Bu özellik, rapor oluşturma sürecinde daha fazla esneklik sağlayarak geliştiricilerin HTML içeriğini doğrudan oluşturmalarına olanak tanır.

3. IronPDF

IronPDF, PDF'lerle çalışmayı kolaylaştırmaya odaklanan bir .NET uygulamaları için faydalı bir kütüphanedir. Ana işlevlerinden biri, web sayfalarından raporlar veya faturalar oluşturmak için mükemmel olan HTML'yi PDF'lere dönüştürme dir. Hem sunucu tarafı hem de istemci tarafı uygulamalarda etkili olması, onu iş projeleri kadar kişisel kullanım için de uygun kılar.

IronPDF, ASP.NET, MVC, Windows Forms, ve WPF gibi birçok farklı .NET ortamına entegre olur ve hem .NET Core hem de Framework ile sorunsuz çalışır. Ayrıca Azure ve diğer bulut hizmetleri için destek sağlar, bu da bulut tabanlı uygulama gelişimi için büyük bir artıdır.

3.1 IronPDF'in Anahtar Özellikleri

3.1.1 HTML'den PDF'ye Dönüşüm

IronPDF, HTML'yi PDF belgelerine dönüştürme konusunda yetkindir. HTML, CSS, JavaScript ve görüntüleri sorunsuz şekilde işler, böylece web içeriğinizin son PDF'de doğru görünmesini sağlar. Dönüşüm, orijinal HTML'nin düzenini ve stilini korur.

3.1.2 ASP.NET Entegrasyonu

ASP.NET ile entegrasyon sorunsuzdur ve ASPX sayfalarının PDF'lere dönüştürülmesini, kapsamlı kodlama gerektirmeden sağlar. Bu, mevcut web uygulamalarından PDF'ler oluşturmak için özellikle yararlıdır.

3.1.3 Düzenleme ve Manipülasyon

IronPDF, mevcut PDF dosyalarını düzenlemenize olanak tanır, örneğin metin, görüntü ve sayfalar eklemek veya birden fazla PDF'yi birleştirmek gibi. Düzenleme özellikleri kullanıcı dostudur, bu yüzden PDF konusunda uzmanlık gerektirmez. Açıklamalar, ekler, kılavuzlar ve yer imleri de PDF'lerinize ekleyebilirsiniz.

3.1.4 Form Doldurma ve Çıkarma

IronPDF, PDF formlarını doldurmayı ve veri çıkarmayı destekler, bu da formlarla çalışan uygulamalar için esastır. IronPDF, form verilerini yönetme sürecini daha yumuşak hale getirir ve farklı türde PDF formlarını işleyebilir, esnekliğini artırır.

3.1.5 Güvenlik Özellikleri

IronPDF, hassas bilgileri korumak için önemli olan PDF belgelerine parola koruması ve izin ayarı gibi güvenlik özellikleri içerir. Şifreleme ve şifre çözme yetenekleri içerir, PDF'leriniz için güvenlik özelliklerine ek bir katman ekler.

3.1.6 Özelleştirilebilir Render

PDF'nizin nasıl oluşturulacağı üzerinde geniş bir kontrol sahibi olursunuz, özel başlıklar ve altbilgiler ayarlama, sayfa kenarları ayarlama ve dönüştürülmesi için belirli HTML bölümleri seçme gibi. Bu özelleştirme, PDF'lerinizin tam istediğiniz gibi olmasını sağlar.

3.1.7 Gelişmiş PDF Özellikleri

IronPDF, PDF/A uyumluluğu ve dijital imzalar yanı sıra OCR yeteneklerini destekler, bu nedenle taranmış belgeleri ve görüntüleri aranabilir ve düzenlenebilir PDF'lere dönüştürebilir. Bu özellikler, daha karmaşık projeler için idealdir.

3.1.8 Kolay Dağıtım

IronPDF'i kurmak basittir; ekstra yüklemeler veya bağımlılıklar gerektirmez. Uygulamanızın performansını olumsuz etkilememek için hafiftir. Ayrıca, .NET teknolojisindeki en son gelişmelerle uyumlu kalmak için düzenli olarak güncellenir ve size devamlı olarak uygun bir PDF çözümü sunar.

4. .NET Projesi Oluşturma

4.1 Yeni Bir Projeye Başlama

Visual Studio'yu açın ve "Yeni Proje Oluştur" düğmesine tıklayarak bir yeni proje başlatın.

JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 1 - Proje oluştur

Ardından, 'Konsol Uygulaması', ".NET Core Uygulaması," veya ihtiyaçlarınıza uygun başka bir seçeneği seçin.

JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 2 - Ayrı Proje - Konsol Uygulaması

4.2 Projeyi Ayarlama

Projenize bir isim vermeniz gerekecek. Proje ismi için metin kutusunu bulun ve istediğiniz ismi yazın. Proje konumu için kaydedilmesini istediğiniz yolu seçerek bir yer seçin. Bu detayları girdikten sonra, ilerlemek için 'Oluştur' butonuna basın.

JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 3 - Proje Ayarları

4.3 .NET Framework Seçimi

Bir sonraki adım, projeniz için gereken .NET frameworkünü seçmektir. Bu seçim, projenizin gereksinimlerine ve uyumluluğuna bağlıdır. Bunun ardından, 'Oluştur' butonuna tıklayın.

JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 4 - Çerçeve Seç

5. IronPDF Kütüphanesini Kurma

5.1 NuGet Paket Yöneticisini Kullanma

Visual Studio NuGet Paket Yöneticisi kullanarak IronPDF'i kurmak için şu adımları izleyin:

  • Projenizi Visual Studio'da açın.
  • "Araçlar" menüsüne tıklayın, "NuGet Paket Yöneticisi" seçeneğini seçin ve ardından "Çözüm için NuGet Paketlerini Yönet" seçeneğini seçin.

    JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 5 - NuGet Paket Yöneticisi

  • NuGet Paket Yöneticisi'nde, "Gözat" sekmesine tıklayın.
  • "IronPDF" için arama yapın.
  • IronPDF paketini bulduğunuzda, seçin ve "Yükle" butonuna tıklayın.

    JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 6 - IronPDF Yükleme

  • Yüklemeyi tamamlamak için yönergeleri izleyin.

5.2 Visual Studio Komut Satırını Kullanma

Komut satırını kullanmayı tercih ediyorsanız, Visual Studio'da IronPDF'i şu şekilde kurabilirsiniz:

  • Visual Studio'yu açın.
  • "Araçlar" menüsüne gidin, "NuGet Paket Yöneticisi" üzerine gelin ve ardından yan menüden "Paket Yöneticisi Konsolu"nu seçin.
  • Konsolda, şu komutu yazın:

    Install-Package IronPdf
  • Komutu çalıştırmak için Enter tuşuna basın ve yüklemenin tamamlanmasını bekleyin.

    JSreport and IronPDF Arasında Bir Karşılaştırma: Şekil 7 - IronPDF Yüklemesi

5.3 NuGet Web Sayfasından Doğrudan İndirme

IronPDF doğrudan NuGet web sitesinden de indirilebilir:

  • NuGet resmi web sitesini ziyaret edin.
  • IronPDF paketini bulmak için arama çubuğunu kullanın.

    Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 8 - IronPDF Paketi

  • IronPDF paket sayfası üzerinde paketi doğrudan indirme seçeneklerini göreceksiniz.
  • .nupkg dosyasını indirin ve projenize manuel olarak ekleyin.

    Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 9 - .nupkg İndir

6. JSReport Kurulumu

6.1 Visual Studio'da NuGet Paket Yöneticisi Kullanarak

Visual Studio'nun NuGet Paket Yöneticisini kullanarak JSReport çalıştırmak için "Araçlar" menüsüne gidin ve "NuGet Paketlerini Yönet"i seçin. Bu, NuGet Paket Yöneticisi arayüzünü açacaktır. NuGet Paket Yöneticisi'nde, projenizin gereksinimlerine bağlı olarak jsreport.Local veya jsreport.Binary arayabilirsiniz.

Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 10 - jsreport.Binary

Bunlar, JSReport'u bir .NET uygulamasına entegre etmek için ana paketlerdir. Uygun paketi bulduğunuzda, projenize eklemek için 'Yükle'yi tıklayın. Bu işlem, paketi projenize otomatik olarak indirip referans verecek ve kullanıma hazır hale getirecektir.

6.2 NuGet Paket Yöneticisi Konsolu Kullanarak

Alternatif olarak, JSReport'u Visual Studio'nun NuGet Paket Yöneticisi Konsolunu kullanarak yükleyebilirsiniz. 'Araçlar' menüsünden 'NuGet Paket Yöneticisi' ve ardından 'Paket Yöneticisi Konsolu'nu seçerek NuGet Paket Yöneticisi Konsolunu açın.

Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 11 - Paket Yöneticisi Konsolu

Konsolda, JSReport paketini yüklemek için belirli bir komutu çalıştırmanız gerekiyor. jsreport.Local paketini yüklemek istiyorsanız, kullanılacak komut Install-Package jsreport.Local olacaktır. jsreport.Binary paketi için komut Install-Package jsreport.Binary olacaktır. Bu komutları Paket Yöneticisi Konsolunda çalıştırmak, ilgili JSReport paketini projenize indirir ve ekler.

Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 12 - jsreport.Local Yükleme

7. IronPDF ve JSReport'ta HTML'den PDF'e Özellik Karşılaştırması

7.1 IronPDF'nin HTML'den PDF'e Dönüştürmesi

IronPDF, kullanımı kolaylığı ve yüksek performansı ile tanınan bir HTML'den PDF'e dönüştürme kütüphanesi olarak öne çıkmaktadır. CSS işleme, JavaScript yürütme ve özel üstbilgi ve altbilgiler gibi gelişmiş özellikleri destekleyen IronPDF, HTML kaynaklarından üstün kalitede PDF'ler üretme yeteneğini artırır. IronPDF, HTML'den PDF'e dönüştürmek için üç yöntem sunar:

  1. HTML Dizesinden PDF'e
  2. HTML Dosyasından PDF'e
  3. URL'den PDF'e

Bu yöntemleri ayrı ayrı ele alalım.

7.1.1 HTML Dizesinden PDF'e

Bu özellik, uygulamanızda dinamik olarak oluşturulan veya değiştirilen HTML içeriği için özellikle yararlı olan, HTML içeriğini doğrudan bir dizeden dönüştürmenizi sağlar. HTML dizgisi IronPDF'ye iletildiğinde, PDF olarak işlenir.

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// HTML string to be converted
string htmlString = @"
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>";

// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);

// Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// HTML string to be converted
string htmlString = @"
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>";

// Convert HTML string to PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);

// Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' HTML string to be converted
Dim htmlString As String = "
<html>
    <head>
        <title>Example HTML</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <p>This is an HTML string converted to PDF using IronPDF.</p>
    </body>
</html>"

' Convert HTML string to PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlString)

' Save the rendered PDF document
pdfDocument.SaveAs("HtmlStringToPdf.pdf")
$vbLabelText   $csharpLabel

7.1.2 HTML Dosyasından PDF'e

Bu yöntem, mevcut bir HTML dosyasını PDF'e dönüştürür, sunum veya PDF olarak dağıtılması gereken statik HTML dosyaları için kullanışlıdır. HTML dosyasının yolunu sağlayın, IronPDF dönüştürmeyi halleder.

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Convert HTML file to PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the PDF document
pdfDocument.SaveAs("Invoice.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Convert HTML file to PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");

// Save the PDF document
pdfDocument.SaveAs("Invoice.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' Convert HTML file to PDF
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html")

' Save the PDF document
pdfDocument.SaveAs("Invoice.pdf")
$vbLabelText   $csharpLabel

7.1.3 URL'den PDF'e

Bu özellik, bir URL kullanarak tüm web sayfasını PDF'e dönüştürür, sayfanın güncel durumunu, stil, resim ve diğer kaynaklar dahil olmak üzere yakalamak için pratiktir. IronPDF, verilen URL'den web sayfasını yükleyerek PDF belgesine dönüştürür, düzeni ve içeriği mümkün olduğunca yakından kopyalar.

using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;

// Convert webpage to PDF
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");

// Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf");
using IronPdf;

// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();

// License key setup
IronPdf.License.LicenseKey = "Your-License-Key";

// Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;

// Convert webpage to PDF
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");

// Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf");
Imports IronPdf

' Initialize the ChromePdfRenderer
Private renderer = New ChromePdfRenderer()

' License key setup
IronPdf.License.LicenseKey = "Your-License-Key"

' Set the Paper Size
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2

' Convert webpage to PDF
Dim pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/")

' Save the PDF document
pdfDocument.SaveAs("UrlToPdf.pdf")
$vbLabelText   $csharpLabel

7.2 JSReport C# HTML'DEN PDF'ye Dönüşüm

JSReport'ta HTML'den PDF'e dönüştürme süreci, genellikle bir JSReport sunucusu kurmak veya çevrimiçi API'sini kullanmak gibi birden fazla adımı içerebilir. C#'da tipik bir uygulama şu şekilde görünebilir:

using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;

public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();

    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });

    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;

public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();

    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });

    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
Imports JsReport.AspNetCore
Imports JsReport.Types
Imports System.Threading.Tasks

Public Async Function GeneratePdf() As Task(Of IActionResult)
	Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).AsUtility().Create()

	Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
		.Template = New Template() With {
			.Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
			.Engine = Engine.None,
			.Recipe = Recipe.ChromePdf
		},
		.Options = New RenderOptions() With {
			.Debug = New DebugOptions() With {.Preview = True}
		}
	})

	Dim stream = New MemoryStream()
	reportResult.Content.CopyTo(stream)
	stream.Position = 0
	Return File(stream, "application/pdf", "Report.pdf")
End Function
$vbLabelText   $csharpLabel

Daha fazla JSReport .NET örneği için aşağıdaki link'i ziyaret edin.

7.3. Bootstrap ve Modern CSS Çerçeve İşleme

Bootstrap gibi CSS çerçeveleri ile oluşturulmuş modern web uygulamaları, çerçeve düzenlerini ve duyarlı tasarım öğelerini doğru şekilde koruyan PDF oluşturma araçları gerektirir.

IronPDF: Komple Bootstrap ve Çerçeve Desteği

IronPDF'nın Chromium render motoru tüm modern CSS frameworkleri için kapsamlı destek sağlıyor:

  • Bootstrap 5: Tüm esnek kutu ve CSS grid ile tüm duyarlı yardımcı programlar
  • Bootstrap 4: Tam kart sistemleri, navigasyon, form bileşenleri
  • Tailwind CSS: Tüm yardımcı sınıflar ve duyarlı değiştiriciler
  • Foundation: Tam grid ve bileşen sistemleri
  • Modern CSS3: Esnek kutu, grid, özel özellikler, animasyonlar, dönüşümler

Üretim örnekleri ile doğrulandı: Bootstrap ana sayfa ve Bootstrap şablonları piksel mükemmelliği ile doğru bir şekilde dönüştürülür.

Kod Örneği: Bootstrap ile Özellik Karşılaştırma Tablosu

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapComparison = @"
<!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 my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapComparison);
pdf.SaveAs("feature-comparison.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapComparison = @"
<!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 my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapComparison);
pdf.SaveAs("feature-comparison.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim bootstrapComparison 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 my-5'>
        <h1 class='text-center mb-5'>Feature Comparison</h1>

        <div class='table-responsive'>
            <table class='table table-bordered table-hover'>
                <thead class='table-primary'>
                    <tr>
                        <th style='width: 30%'>Feature</th>
                        <th style='width: 35%' class='text-center'>IronPDF</th>
                        <th style='width: 35%' class='text-center'>Alternative</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><strong>HTML5 Support</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Modern web standards</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Basic HTML only</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>CSS3 & Flexbox</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>Chromium engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>Limited</span>
                            <p class='text-muted small mb-0 mt-2'>No flexbox/grid</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>JavaScript Execution</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>V8 engine</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-warning fs-6'>Partial</span>
                            <p class='text-muted small mb-0 mt-2'>Limited execution</p>
                        </td>
                    </tr>
                    <tr>
                        <td><strong>Bootstrap 5</strong></td>
                        <td class='text-center'>
                            <span class='badge bg-success fs-6'>Full Support</span>
                            <p class='text-muted small mb-0 mt-2'>All components</p>
                        </td>
                        <td class='text-center'>
                            <span class='badge bg-danger fs-6'>No Support</span>
                            <p class='text-muted small mb-0 mt-2'>Bootstrap 3 only</p>
                        </td>
                    </tr>
                    <tr class='table-secondary'>
                        <td><strong>Deployment</strong></td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-primary'>On-Premises</span>
                                <span class='badge bg-primary'>Cloud</span>
                                <span class='badge bg-primary'>Offline</span>
                            </div>
                        </td>
                        <td class='text-center'>
                            <div class='d-flex justify-content-center gap-2 flex-wrap'>
                                <span class='badge bg-secondary'>Server Only</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class='alert alert-info mt-4 d-flex align-items-start'>
            <svg class='bi flex-shrink-0 me-2 mt-1' width='20' height='20'></svg>
            <div>
                <strong>Note:</strong> IronPDF's Chromium engine ensures that modern web applications convert to PDF with browser-accurate fidelity, preserving all CSS frameworks and responsive designs.
            </div>
        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(bootstrapComparison)
pdf.SaveAs("feature-comparison.pdf")
$vbLabelText   $csharpLabel

Çıktı: Bootstrap'in tablo stili, rozetleri, duyarlı düzeni ve uyarı bileşenleri ile profesyonel bir özellik karşılaştırma tablosu – tümü PDF olarak doğru şekilde işlenmiştir.

JSReport .NET: Sınırlı Bootstrap Desteği ile Şablon Tabanlı

JSReport, seçilen tarife bağlı olarak farklı işleme motorlarına sahip şablon tabanlı bir yaklaşım kullanır:

  • Chrome PDF Tarifi: Puppeteer/Headless Chrome kullanır, iyi Bootstrap desteği
  • Phantom JS Tarifi: Legacy WebKit motoru ile sınırlı modern CSS desteği
  • wkhtmltopdf Tarifi: Qt WebKit motoru (eski, flexbox/grid yok)
  • Şablon Karmaşıklığı: JSReport şablon sözdizimini öğrenmeyi gerektirir
  • Sunucu Bağımlılığı: JSReport sunucu kurulumu ve yönetimini gerektirir

JSReport ve Bootstrap için Temel Hususlar:

  • Tarif Seçimi: Tarif seçimine göre Bootstrap desteği dramatik biçimde değişir
  • Chrome PDF Tarifi: Bootstrap için en iyi seçenek ancak karmaşıklık ve bağımlılıklar ekler
  • Şablon Öğrenme Eğrisi: Handlebars/JSRender şablon sözdizimini öğrenmeniz gerekir
  • Sunucu Yönetimi: JSReport sunucu örneğinin sürdürülmesini gerektirir
  • İş Akışı Karmaşıklığı: Çok aşamalı şablon → veri → işleme süreci

Geliştirme etkisi: JSReport'un Chrome PDF tarifinin Bootstrap'i iyi bir şekilde ele almasına rağmen, genel karmaşıklık daha yüksektir:

  1. Şablon tabanlı iş akışı vs doğrudan HTML dönüştürme
  2. Sunucu altyapısı gerekliliği vs süreç içi kütüphane
  3. Şablon sözdizimi için öğrenme eğrisi vs standart HTML
  4. Tarif yapılandırma karmaşıklığı vs basit API

Bootstrap desteği ile basit HTML'den PDF'e dönüştürme gerektiren uygulamalar için, IronPDF'in doğrudan yaklaşımı, daha basit entegrasyon ve daha az hareketli parça sunar.

Bootstrap çerçeve en iyi uygulamaları için Bootstrap & Flexbox CSS Kılavuzuna bakın.

8. Esneklik ve Gelişmiş Özellikler

8.1 IronPDF'in Gelişmiş Özellikleri ve Özelleştirme

IronPDF, gelişmiş özellikleri ve çeşitli PDF manipülasyon ihtiyaçlarına uyum sağlama özelliği ile öne çıkar. Ana gelişmiş özellikler şunlardır:

PDF/A Uyumlu

IronPDF, uzun süreli arşivleme ve endüstri standartlarına uyum için gerekli olan PDF/A formatını destekler. Bu uygunluk, belgelerin zamanla bütünlüğünün çok önemli olduğu yasal, finansal ve hükümet sektörleri için özellikle kritiktir.

using IronPdf;

// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;

// Create a PdfDocument object or open any PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf

' Create a PdfDocument object or open any PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

PDF'leri Düzenleme, Birleştirme ve Bölme

IronPDF, mevcut PDF'leri düzenlemenize, birden fazla PDF'yi birleştirmenize ve PDF'leri ayrı belgeler haline bölmenize olanak tanır. Bu özellik, büyük belgelerin daha kolay dağıtım için bölünmesi veya çeşitli belgelerin farklı bölümlerinin birleştirilmesi gerektiğinde özellikle kullanışlıdır.

Güvenlik Özellikleri

IronPDF, parola koruması, şifreleme ve kullanıcı izinlerini ayarlama gibi güçlü güvenlik özellikleri içerir. IronPDF, PDF dosyalarının şifrelenmesini destekler, içeriğin değiştirilmesini veya kopyalanmasını önleyerek ek bir güvenlik katmanı ekler.

using IronPdf;

// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");

// Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;

// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf

// Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf");
using IronPdf;

// Open a PDF File
var pdfDoc = PdfDocument.FromFile("invoice.pdf");

// Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;

// Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; // password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; // password to open the pdf

// Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf");
Imports IronPdf

' Open a PDF File
Private pdfDoc = PdfDocument.FromFile("invoice.pdf")

' Make a PDF read-only and disallow copy & paste and printing
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption()
pdfDoc.SecuritySettings.AllowUserAnnotations = False
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = False
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdfDoc.SecuritySettings.AllowUserFormData = False

' Change or set the document encryption password
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen" ' password to edit the pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare" ' password to open the pdf

' Save the protected PDF
pdfDoc.SaveAs("InvoiceProtected.pdf")
$vbLabelText   $csharpLabel

Üstbilgi ve Altbilgi Kontrolü

Geliştiriciler, profesyonel görünümlü raporlar, faturalar ve diğer iş belgeleri için PDF belgelerine özel üstbilgiler ve altbilgiler ekleyebilir. Bu, sayfa numaraları, tarihleri ve özel metin ekleme yeteneğini içerir.

PDF'den Görüntüye Dönüşüm

IronPDF, PDF sayfalarını resimlere dönüştürmenize izin verir. Bu özellik, web uygulamalarında PDF içeriğini resim olarak sunma veya küçük resim oluşturma senaryoları için özellikle yararlıdır.

using IronPdf;
using IronSoftware.Drawing;

// Load the PDF document
var pdf = PdfDocument.FromFile("Example.pdf");

// Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;

// Load the PDF document
var pdf = PdfDocument.FromFile("Example.pdf");

// Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");

// Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);

// Extract all pages as AnyBitmap objects
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing

' Load the PDF document
Private pdf = PdfDocument.FromFile("Example.pdf")

' Extract all pages to a folder as PNG image files
pdf.RasterizeToImageFiles("C:\image\folder\*.png")

' Extract specific dimensions or page ranges
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)

' Extract all pages as AnyBitmap objects
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
$vbLabelText   $csharpLabel

8.2 JSReport .NET Gelişmiş Özellikleri ve Esneklik

JSReport .NET, gelişmiş özellikleri ve esneklik ile rapor oluşturma için çok yönlü bir araç olarak bilinir. Anahtar özellikleri şunlardır:

Dinamik Rapor Oluşturma

Handlebars ve EJS gibi çeşitli şablon motorlarını destekler, karmaşık ve esnek rapor tasarımlarını kolaylaştırır. Bu çok motorlu uyumluluk, rapor oluşturma çalışmalarında farklı gereksinimlere ve karmaşıklıklara uyacak geniş bir tasarım yelpazesi sunar.

var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();

var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();

var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport")).KillRunningJsReportProcesses().Configure(Function(cfg) cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory()).AsUtility().Create()

Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
	.Template = New Template() With {
		.Content = "{{{message}}}",
		.Engine = Engine.Handlebars,
		.Recipe = Recipe.ChromePdf
	},
	.Data = New With {Key .message = "PDF Generation with JSReport .NET"}
})
$vbLabelText   $csharpLabel

Şablon Motorları

JSReport .NET, düzenli rapor ihtiyaçları için ideal olan rapor oluşturma için zamanlama ve otomasyon işlevselliği sunar. Bu işlevsellik zamanında rapor teslimini garanti eder ve olay tetiklemeli raporlama için iş akışlarına entegre edilebilir.

Özel Komut Dosyalarıyla Esneklik

JSReport C#, özel verileri işleme veya özelleşmiş biçimlendirme gibi işlevleri geliştirmek için kendi özel komut dosyalarınızla yeteneklerini genişletmenize olanak tanır. Bu esneklik, belirli iş mantığı ve veri işleme gereksinimlerine yönelik raporlar oluşturmak için gereklidir.

9. Destek

9.1 IronPDF Dokümantasyon Kalitesi ve Erişilebilirliği

IronPDF'in dokümantasyonu kapsamlı ve kullanıcı dostu olup, hem yeni başlayanlar hem de deneyimli geliştiriciler için uygundur. Detaylı kılavuzlar, API referansları ve birçok dildeki C#, Node gibi kod örnekleri içerir, bu da geliştiricilerin kütüphanenin özelliklerini anlamalarını ve uygulamalarında hayata geçirmelerini kolaylaştırır.

Dokümantasyon, en son özellikler ve en iyi uygulamalara uygun şekilde iyi yapılandırılmış ve düzenli olarak güncellenir. Ayrıca, IronPDF'in web sitesi, .NET ortamında PDF manipülasyonuna yeni başlayanlar için özellikle faydalı olan hızlı başlangıç kılavuzları ve SSS sağlar.

IronPDF'in çevrimiçi oyun alanı da mevcuttur, böylelikle IronPDF işlevselliğini kodunu indirmeden çevrimiçi olarak deneyebilirsiniz. Aşağıdaki link kullanarak keşfedin.

9.1.1 Destek Seçenekleri

IronPDF, soru ve teknik sorunları ele almak için özel bir destek ekibi de dahil olmak üzere çeşitli destek seçenekleri sunar. E-posta desteği sağlarlar ve geliştirici forumlarında aktif bir varlık gösterirler, çözümlerve öneriler sunarlar. Canlı Destek hizmeti seçeneği de web sitesindeki Canlı Destek aracılığı ile erişilebilir.

9.2 JSReport .NET Dokümantasyon Kalitesi ve Erişilebilirliği

JSReport .NET, kapsamlı ve iyi bakım yapılan dokümantasyonu ile övünmektedir. Dokümantasyon, temel kurulumdan gelişmiş kullanım senaryolarına kadar geniş bir konu yelpazesini kapsar, tam kod parçacıkları ve uygulama örnekleri ile birlikte. Mantıksal olarak düzenlenmiştir, bu da gezintiyi ve ilgili bilgileri bulmayı kolaylaştırır. Çevrimiçi kaynaklar aynı zamanda aracın yetenekleri ile ilgili detaylara erişim sağlayan kapsamlı bir API referansı da içerir.

9.2.1 Destek Seçenekleri

JSReport .NET, çeşitli destek seçenekleri sunar. E-posta yoluyla ulaşılabilen özel bir destek ekibi vardır ve GitHub üzerinde de aktif bir varlık gösterirler, sorun bildirimleri ve özellik istekleri için bir platform sağlarlar.

10. Lisans Modelleri

10.1 IronPDF'in Lisansı

Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 16 - Lisanslama

IronPDF, farklı kullanım seviyeleri ve bütçe gereksinimlerini karşılayan üç farklı fiyatlandırma seçeneği sunar:

Lite Sürümü: Bulut dağıtımı için bir kereye mahsus ücret $999'dir. Daha küçük projeler veya PDF işlemeye yeni başlayan ekipler için tasarlanmıştır.

Profesyonel Sürüm: Bulut dağıtımı için bir kereye mahsus ücret $1,499'dir ve daha gelişmiş özellikler ve yetenekler gerektiren profesyonel geliştiriciler için uygundur.

Sınırsız Sürüm: Bulut dağıtımı için bir kereye mahsus ücret $2,999 olan en kapsamlı pakettir. Kapsamlı özellikler sunar ve kullanımda hiçbir sınırlama yapmaz, büyük ölçekli kurumsal kullanımlar için idealdir.

10.2 JSReport .NET Lisansı

Jsreport ve IronPDF Arasında Bir Karşılaştırma: Şekil 17 - JSReport Lisansı

JSReport .NET esnek lisans seçenekleri sunar, hem abonelik bazlı hem de süresiz lisanslar mevcut:

Ücretsiz Lisans: Bu lisans, 5 adede kadar rapor şablonuyla sınırlı, tam özellikli bir örnek sunar. Lisans anahtarı gerektirmez ve küçük projeler veya değerlendirme amaçları için uygundur.

Enterprise Aboneliği: Yıllık 395 $ fiyatla, sınırsız özellikli tek bir JSReport örneği sunar ve güncellemeler dahildir. Sağlam bir raporlama çözümüne ihtiyaç duyan bireysel kuruluşlar için idealdir.

Genişletilmiş Enterprise Aboneliği: Yıllık 1.295 $ fiyatla, büyük ölçekli dağıtımlar için en iyisidir, sınırsız sayıda örnek için geçerli tek bir lisans anahtarı sunar. Bu plan güncellemeleri içerir ve telif ücretsizdir, bir başka ürünün parçası olarak birçok müşteriye dağıtım yapan organizasyonlar için uygundur.

11. Sonuç

Sonuç olarak, IronPDF ve JSReport .NET kendi alanlarında değerli olsa da, IronPDF kapsamlı PDF manipülasyon özellikleri nedeniyle hafif bir avantaja sahiptir. PDF/A uyumu, gelişmiş düzenleme ve güvenlik özellikleri gibi alanlarda üstün bir araç olup, .NET ortamlarında ayrıntılı PDF kontrolünde daha esnek bir çözüm sunar. JSReport .NET ise, dinamik rapor üretimi ve şablon oluşturmadaki güçlü yanlarıyla, rapor odaklı görevler için oldukça etkilidir. Ancak, çoğu ayrıntılı ve çeşitli PDF işleme ve manipülasyon gerektiren senaryolar için, IronPDF daha avantajlı bir seçim olarak öne çıkar.

IronPDF, ücretsiz bir geliştirici lisansı ve ücretsiz deneme sunar. Iron Software, IronBarcode, IronXL, IronQR, IronOCR, IronPDF ve IronWebScraper gibi ürünleri içeren Iron Suite adlı kapsamlı bir paket sağlar. Bu paket, önemli sayıda işlevsellik arayan geliştiriciler için 2 yazılım fiyatına sunulmaktadır.

Sonuçta, iki ürün arasındaki seçim, projenin veya geliştiricinin özel ihtiyaçları ve ortamına bağlıdır.

Lütfen dikkate alınJSReport SDK, ilgili sahibinin tescilli markasıdır. Bu site, JSReport SDK ile ilişkili, onaylanmış veya sponsorlu değil. 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

.NET uygulamasında HTML'i PDF'e nasıl dönüştürebilirim?

HTML dizelerini PDF belgelerine dönüştürmek için IronPDF'nin RenderHtmlAsPdf metodunu kullanabilirsiniz. Ayrıca, IronPDF, RenderHtmlFileAsPdf metodunu kullanarak tüm HTML dosyalarını PDF'lere dönüştürmeyi destekler.

ASP.NET entegrasyonu için IronPDF kullanmanın avantajları nelerdir?

IronPDF, ASP.NET ile sorunsuz bir şekilde entegre olur ve geliştiricilerin ASPX sayfalarını minimum kodlama ile PDF'lere dönüştürmesine olanak tanır. Bu entegrasyon, mevcut web uygulamalarından PDF raporları oluşturmak için özellikle faydalıdır.

IronPDF, PDF güvenlik özelliklerini destekler mi?

Evet, IronPDF, PDF belgelerinde parola koruması, şifreleme ve izin ayarları gibi güçlü güvenlik özelliklerini içerir, bu da hassas bilgilerin korunması için çok önemlidir.

IronPDF'yi HTML'den PDF'ye dönüştürme için uygun yapan özellikler nelerdir?

IronPDF, HTML'den PDF'ye dönüştürmede kolay kullanımı ve yüksek performansı ile tanınır. CSS işleme, JavaScript yürütme ve özel başlıklar ve altbilgiler gibi gelişmiş özellikleri destekler.

JSReport SDK'nin .NET Core için anahtar özellikleri nelerdir?

JSReport SDK .NET Core için, MVC görünüm çıktılarının dönüştürülmesi için arabulucu filtreleri, uzak birlikte çalışabilirlik, OnAfterRender kancası ile gelişmiş yanıt işleme ve ham HTML'den raporlar oluşturma gibi özellikler sunar.

JSReport, şablonlarla rapor oluşturmayı nasıl geliştirir?

JSReport, çeşitli şablon motorları destekleyerek karmaşık ve esnek rapor tasarımlarına olanak tanır. Ayrıca, düzenli rapor oluşturmayı artıran planlama ve otomasyon gibi özellikleri de sunar.

Docker ortamlarında JSReport kullanmanın faydaları nelerdir?

JSReport .NET, JSReport'un ayrı bir konteynerde çalıştığı Docker ortamlarında yararlı olan uzak JSReport örnekleri ile etkili bir şekilde entegre olur. Bu yapı, .NET Core uygulamaları ile verimli orkestrasyonu kolaylaştırır.

IronPDF için hangi lisans seçenekleri mevcuttur?

IronPDF pek çok lisans seçeneği sunar: Küçük projeler için Lite Edition, gelişmiş özellikler için Professional Edition ve büyük ölçekli kurumsal kullanım için Unlimited Edition, farklı proje ihtiyaçlarına yönelik olarak.

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