IronPDF ve ComPDFKit Arasında Bir Karşılaştırma
IronPDF, tam CSS/JavaScript desteğiyle kod öncelikli HTML'den PDF'ye dönüşüm ve $999 ile süresiz lisanslama sunuyor, oysa CraftMyPDF, JSON entegrasyonu ile bulut tabanlı şablon tasarımı sunar ancak abonelikler ve API bağımlılıkları gerektirir.
CraftMyPDF, JSON veri entegrasyonu ile bulut tabanlı sürükle-bırak şablon tasarımcısı sunarken, IronPDF, belge üretiminde tam kontrol arayan .NET geliştiricileri için tam CSS/JavaScript desteğiyle kod öncelikli HTML'den PDF'ye dönüşüm sağlar.
PDF, veya Taşınabilir Belge Formatı, Adobe tarafından belge değişimi için geliştirilen bir dosya formatıdır. Biçimlendirme, yazı tipleri ve görüntüleri cihazlar arasında korur, tutarlı bir görünüm sağlar. PDF'ler güvenlik özelliklerini, etkileşimliliği ve sıkıştırmayı destekler, böylelikle güvenilir belge paylaşımı için idealdir.
C# PDF kütüphaneleri geliştiricilerin PDF belgelerini oluşturmasına, değiştirmesine ve içerik çıkarmasına programlanabilir olarak olanak sağlar. Bu araçlar form işleme, dijital imzalar ve platformlar arası dağıtımı destekler. PDF kütüphanelerini entegre ederek, geliştiriciler oluşturma, düzenleme ve PDF yönetimi için iş akışlarını kolaylaştırarak uygulamalarına belge oluşturma yetenekleri ekleyebilir.
Bu makale, iki farklı PDF oluşturma yaklaşımını karşılaştırır: IronPDF C# kütüphanesi ve Craftmypdf API. Karşılaştırma özellikleri inceler, kod örnekleri sunar ve lisans seçeneklerini tartışır.
CraftMyPDF API Temel Çözümü Nedir?

CraftMyPDF, şablonlar aracılığıyla PDF oluşturmak için bulut tabanlı bir API'dir. Kodlamaya gerek kalmadan yeniden kullanılabilir şablonlar tasarlamak için web tabanlı bir sürükle ve bırak düzenleyici sunar. Platform, bu şablonları JSON verisiyle birleştirerek PDF oluşturur, faturalar, raporlar ve sertifikalar gibi belgeler için dinamik içerik oluşturmayı destekler.
CraftMyPDF'nın Başlıca Özellikleri Nelerdir?
-
Sürükle ve Bırak Düzenleyici: Kodlama bilgisi gerektirmeyen görsel şablon tasarımı.
-
Şablon Yeniden Kullanılabilirliği: Bir kez tasarlayın, farklı veri setleriyle tekrar kullanın.
-
JSON Veri Entegrasyonu: Dinamik veriyi JSON ile şablonlarla birleştirin.
-
Gelişmiş Biçimlendirme ve İfadeler: Tarih, sayı ve para birimlerini dinamik olarak biçimlendirin.
-
API Entegrasyonları: REST API, Zapier, Make.com ve özel uygulamaları destekler.
-
Doldurulabilir Bileşenler: Metin alanları ve onay kutuları ile etkileşimli formlar oluşturun.
- Güvenlik ve Uyumluluk: Bölgesel API uç noktaları ile güvenli PDF erişimi ve GDPR uyumluluğu.
IronPDF Nedir?
IronPDF PDF Kütüphanesi .NET Geliştiricileri için .NET Uygulamaları için kapsamlı bir PDF kütüphanesidir. C# ile yazılmıştır ve piksel mükemmeliğinde PDF belgeleri HTML, CSS, JavaScript ve görüntülerden oluşturur. IronPDF, .NET ortamları içinde oluşturma, düzenleme ve yönetim için geniş yetenekler sunarak PDF iş akışlarını basit hale getirir.
IronPDF'nin Ana Özellikleri Nelerdir?
-
HTML'den PDF'ye Dönüştürme: HTML, CSS ve JavaScript'i PDF'ye dönüştürün piksel mükemmelliğinde doğrulukla.
-
URL'den PDF'ye: Herhangi bir URL'den PDF oluşturun, içeriği ve duyarlı stil koruyarak.
-
Görüntüden PDF'ye: JPG, PNG, GIF, BMP ve SVG'yi çoklu çerçeve TIFF desteği ile PDF belgelerine dönüştürün.
-
Form Doldurma ve Veri Çıkarma: PDF formları oluşturun ve doldurun programatik olarak özel doğrulama ile.
-
Dijital İmzalar ve Güvenlik: Dijital imzalar, parolalar ve izinler ekleyin HSM desteği ile.
-
PDF Düzenleme: Sayfa ekleyin, kopyalayın veya silin. PDF'leri birleştirin ve bölün sayfa dönüşü yetenekleri ile.
-
Ek Açıklamalar ve Ekler: Yapışkan notlar ekleyin ve ekler gömün özel metadata ile.
-
Başlıklar, Alt Bilgiler ve Filigranlar: Özel başlıklar, alt bilgiler ve filigranlar uygulayın HTML şablonları ile.
-
Çapraz Platform Uyumluluğu: Windows, macOS, Linux, Docker, Azure ve AWS üzerinde çalışır.
-
Performans Optimizasyonu: Çoklu iş parçacığı ve asenkron destek ile yüksek hacimli üretim için paralel işleme.
-
Tam Dokümantasyon: Kapsamlı rehberler, eğitimler ve 24/5 teknik destek.
- Dış Bağımlılıklar Yok: Ek yazılım gereksinimi olmadan tek bir DLL dağıtımı yerel render motoru kullanarak.
Visual Studio'da C# Uygulaması Nasıl Oluşturabilirim?
C# konsol uygulaması oluşturmak için bilgisayara Visual Studio kurulmuş olmalıdır. Projeyi kurmak için bu adımları uygulayın:
Visual Studio Nasıl Açılır?
Başlat menüsünden veya masaüstü simgesinden Visual Studio'yu açın.
Yeni Bir Proje Nasıl Oluştururum?
Başlangıç sayfasında "Yeni bir proje oluştur" butonuna tıklayın. "Konsol Uygulaması" için arama yapın veya şablon listesinden seçin.
Proje Şablonu Nasıl Seçilir?
Gereksinimlere göre "Konsol Uygulaması (.NET Core)" ya da "Konsol Uygulaması (.NET Framework)" seçin. .NET MAUI desteği için uygun MAUI şablonlarını seçin.
Projemi Nasıl Konfigüre Ederim?
- Proje Adı: Proje adını girin
- Konum: Kayıt dizinini seçin
- Çözüm Adı: Genellikle proje adıyla aynıdır
- Oluştur'a tıklayın ve devam edin
IronPDF Nasıl Kurulur?
IronPDF, üç kurulum yöntemi sunar: NuGet Paket Yöneticisi, Paket Yöneticisi Konsolu, ve doğrudan indirme. Kütüphane Windows, macOS, Linux, ve bulut dağıtımlarını destekler.
NuGet Paket Yöneticisi Nasıl Kullanılır?
Visual Studio'da Solution Explorer'da "Referanslar" veya "Bağımlılıklar" üzerine sağ tıklayın. "NuGet Paketlerini Yönet" seçeneğini seçin, "IronPDF" arayın ve "Yükle"ye tıklayın.

NuGet Paket Yöneticisi Konsolu Nasıl Kullanılır?
Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu'nu açın ve şunu çalıştırın:
Install-Package IronPdf
NuGet Web Sitesinden Nasıl İndirilir?
NuGet web sitesini ziyaret edin, paket dosyasını indirin ve Visual Studio'da bir paket kaynağı olarak ekleyin. Docker dağıtımları için, belirli konteyner yapılandırmalarını kullanın.
Detaylı rehberlik için kurulum genel bakışı ve ileri düzey NuGet yapılandırması bölümüne bakın.
CraftMyPDF Nasıl Kullanılır?
CraftMyPDF'i entegre etmek için, bir hesap oluşturun, bir plan seçin ve API kimlik bilgilerini edinin.
Hesap ve Ücretsiz Plan Nasıl Oluşturulur?
- Kayıt Ol: CraftMyPDF web sitesine kayıt olun
- Ücretsiz Planı Seçin: Geliştirme ve test için ücretsiz katmanı seçin
- API Anahtarı Alın: Hesap kontrol panelinden API anahtarına erişin

Hangi Kütüphaneleri Yüklemeliyim?
Aşağıdaki paketleri yükleyin: System.Net.Http, RestSharp, ve Newtonsoft.Json.
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
Imports System
Imports System.Net.Http
Imports System.Text
Imports System.Threading.Tasks
Imports RestSharp
API istemcisini başlatın:
var client = new RestClient("___PROTECTED_URL_51___");
var request = new RestRequest(Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var client = new RestClient("___PROTECTED_URL_51___");
var request = new RestRequest(Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
Dim client As New RestClient("___PROTECTED_URL_51___")
Dim request As New RestRequest(Method.Post)
Dim apiKey As String = "API Key" ' Replace with your actual API key
Dim templateId As String = "Template ID" ' Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey)
request.AddHeader("Content-Type", "application/json")
PDF'leri Nasıl Oluştururum?
Her iki kütüphane de PDF oluşturma için farklı yaklaşımlar sunar. IronPDF, kod bazlı HTML işleme kullanırken, CraftMyPDF veri bağlamayla görsel şablonlar kullanır. IronPDF ayrıca Markdown'dan PDF'ye ve XML'den PDF'ye dönüşümleri destekler.
IronPDF ile PDF'leri Nasıl Oluştururum?
HTML Nasıl PDF'ye Dönüştürülür?
HTML dizgilerini tam CSS desteği ve JavaScript işleme ile doğrudan PDF'ye dönüştürün:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
{
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
{
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
Imports IronPdf
Public Class PDFCreator
Public Sub CreatePdfFromHtml()
Dim renderer = New ChromePdfRenderer()
' Define your HTML string
Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>"
' Render the HTML as a PDF document
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF document
pdfDocument.SaveAs("html_output.pdf")
End Sub
End Class

Daha fazla örnek için HTML'den PDF'ye örnek sayfasını ziyaret edin. Geliştiriciler ayrıca özel kenar boşlukları ayarlayabilir, sayfa kırılmaları ekleyebilir ve kağıt boyutunu yapılandırabilir.
URL Nasıl PDF'ye Dönüştürülür?
Web sayfalarını PDF'lere dönüştürün, tüm stil unsurlarını, WebGL içeriği ve duyarlı CSS dahil koruyarak:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
Imports IronPdf
Public Class PDFCreator
Public Sub CreatePdfFromUrl(url As String)
' Initialize the ChromePdfRenderer
Dim renderer = New ChromePdfRenderer()
' Render the URL as a PDF document
Dim pdfDocument = renderer.RenderUrlAsPdf(url)
' Save the PDF document
pdfDocument.SaveAs("url_output.pdf")
End Sub
End Class

URL'den PDF'ye dönüştürme hakkında daha fazla bilgi edinin. Kimlik doğrulaması gerektiren sayfalar için, TLS web sitesi girişleri ve HTTP istek başlıklarına bakın.
HTML Dosyası Nasıl PDF'ye Dönüştürülür?
Yerel HTML dosyalarını CSS medya türleri ve temel URL'ler için destekle PDF'lere dönüştürün:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
Imports IronPdf
Public Class PDFCreator
Public Sub CreatePdfFromHtmlFile(filePath As String)
' Initialize the ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML file as a PDF document
Dim pdfDocument = renderer.RenderHtmlFileAsPdf(filePath)
' Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf")
End Sub
End Class
Detaylar için HTML dosyasından PDF'ye rehberine bakın. HTML ZIP dosyaları için, IronPDF çıkarımı otomatik olarak yönetir.
CraftMyPDF API ile PDF'leri Nasıl Oluştururum?
CraftMyPDF, önce şablonlar oluşturarak ve ardından veriyi birleştirerek PDF'ler üretmeyi gerektirir.
Şablon Nasıl Oluşturulur?
- Gösterge Paneline Giriş Yap:
CraftMyPDFhesabına erişin - Yeni Şablon Oluşturun: Sürükle ve bırak düzenleyicisini kullanarak tasarlayın
- Şablonu Kaydedin: API çağrıları için şablon kimliğini alın

PDF Oluşturmak İçin İstek Nasıl Gönderilir?
Şablona JSON verisi göndererek PDF'ler oluşturun:
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_52___");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("___PROTECTED_URL_52___");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
Imports System
Imports System.Net
Imports System.Threading.Tasks
Imports RestSharp
Module Program
Async Function Main(args As String()) As Task
Dim client As New RestClient("___PROTECTED_URL_52___")
Dim request As New RestRequest(Method.Post)
Dim apiKey As String = "API-Key" ' Replace with your actual API key
Dim templateId As String = "Template-ID" ' Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey)
request.AddHeader("Content-Type", "application/json")
Dim body = New With {
.data = New With {
.invoice_number = "INV48321",
.date = "2024-05-27",
.due_date = "2024-06-27",
.currency = "EUR",
.discount = 10,
.tax = 5,
.company_name = "Tech Innovations Ltd",
.email = "contact@techinnovations.com",
.client = "Future Solutions GmbH",
.client_address = "1234 Innovation Drive",
.client_address2 = "Berlin",
.client_address3 = "10115",
.items = New Object() {
New With {.description = "Cloud Hosting Services", .quantity = 12, .unit_price = 75, .total = 900},
New With {.description = "Custom Web Application", .quantity = 3, .unit_price = 150, .total = 450},
New With {.description = "Technical Support", .quantity = 15, .unit_price = 30, .total = 450},
New With {.description = "Digital Marketing Campaign", .quantity = 2, .unit_price = 500, .total = 1000},
New With {.description = "SEO Optimization", .quantity = 5, .unit_price = 120, .total = 600}
},
.gross_total = 3400
},
.load_data_from = CType(Nothing, String),
.template_id = templateId,
.version = 8,
.export_type = "json",
.expiration = 60,
.output_file = "output.pdf",
.is_cmyk = False,
.image_resample_res = 600,
.direct_download = 0,
.cloud_storage = 1
}
request.AddJsonBody(body)
Dim response As RestResponse = Await client.ExecuteAsync(request)
Console.WriteLine(response.Content)
If response.IsSuccessful Then
Dim content = response.Content
Dim result = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(content)
Dim fileUrl As String = result.file
Dim localPath As String = "f:\downloaded_output.pdf"
Using webClient As New WebClient()
webClient.DownloadFile(fileUrl, localPath)
End Using
Console.WriteLine($"PDF downloaded successfully to {localPath}")
Else
Console.WriteLine($"Error: {response.Content}")
End If
End Function
End Module

Oluşturulan PDF çıktısı:

Bootstrap ile Profesyonel Faturalar Nasıl Oluşturabilirim?
IronPDF modern çerçeveleri dış bağımlılıklar olmadan işler. Bu Bootstrap 5 örneği, profesyonel fatura oluşturmayı duyarlı tasarım ve yazıcı CSS'i ile gösterir:
using IronPdf;
var renderer = new ChromePdfRenderer();
string professionalInvoice = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_53___ rel='stylesheet'>
<style>
.invoice-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.invoice-table th { background: #f8f9fa; }
@media print { .invoice-box { page-break-inside: avoid; } }
</style>
</head>
<body>
<div class='container my-4'>
<div class='card shadow-lg invoice-box'>
<div class='invoice-header p-4'>
<div class='row align-items-center'>
<div class='col-md-8'>
<h1 class='mb-0'>INVOICE</h1>
<p class='mb-0 opacity-75'>Invoice #INV-2024-0427</p>
</div>
<div class='col-md-4 text-md-end'>
<h3 class='mb-0'>$3,400.00</h3>
<small class='opacity-75'>Due: June 27, 2024</small>
</div>
</div>
</div>
<div class='card-body p-4'>
<div class='row mb-4'>
<div class='col-md-6'>
<h6 class='text-primary text-uppercase mb-2'>From</h6>
<strong>Tech Innovations Ltd</strong><br>
contact@techinnovations.com
</div>
<div class='col-md-6 text-md-end'>
<h6 class='text-primary text-uppercase mb-2'>Bill To</h6>
<strong>Future Solutions GmbH</strong><br>
1234 Innovation Drive<br>
Berlin, 10115
</div>
</div>
<table class='table invoice-table'>
<thead>
<tr>
<th>Description</th>
<th class='text-center'>Qty</th>
<th class='text-end'>Unit Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cloud Hosting Services</td>
<td class='text-center'>12</td>
<td class='text-end'>€75.00</td>
<td class='text-end'>€900.00</td>
</tr>
<tr>
<td>Custom Web Application</td>
<td class='text-center'>3</td>
<td class='text-end'>€150.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Technical Support</td>
<td class='text-center'>15</td>
<td class='text-end'>€30.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Digital Marketing Campaign</td>
<td class='text-center'>2</td>
<td class='text-end'>€500.00</td>
<td class='text-end'>€1,000.00</td>
</tr>
<tr>
<td>SEO Optimization</td>
<td class='text-center'>5</td>
<td class='text-end'>€120.00</td>
<td class='text-end'>€600.00</td>
</tr>
</tbody>
</table>
<div class='row justify-content-end'>
<div class='col-md-4'>
<table class='table table-sm'>
<tr>
<td>Subtotal:</td>
<td class='text-end'><strong>€3,400.00</strong></td>
</tr>
<tr>
<td>Discount (10%):</td>
<td class='text-end text-success'>-€340.00</td>
</tr>
<tr>
<td>Tax (5%):</td>
<td class='text-end'>€153.00</td>
</tr>
<tr class='table-primary'>
<td><strong>Total Due:</strong></td>
<td class='text-end'><strong>€3,213.00</strong></td>
</tr>
</table>
</div>
</div>
<div class='alert alert-info mt-4'>
<strong>Payment Terms:</strong> Payment due within 30 days. Late payments may incur additional charges.
</div>
<div class='row mt-4 pt-3 border-top'>
<div class='col-md-6'>
<small class='text-muted'>Generated with IronPDF - No external APIs required</small>
</div>
<div class='col-md-6 text-md-end'>
<span class='badge bg-success'>PAID</span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(professionalInvoice);
pdf.SaveAs("professional-invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string professionalInvoice = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_53___ rel='stylesheet'>
<style>
.invoice-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.invoice-table th { background: #f8f9fa; }
@media print { .invoice-box { page-break-inside: avoid; } }
</style>
</head>
<body>
<div class='container my-4'>
<div class='card shadow-lg invoice-box'>
<div class='invoice-header p-4'>
<div class='row align-items-center'>
<div class='col-md-8'>
<h1 class='mb-0'>INVOICE</h1>
<p class='mb-0 opacity-75'>Invoice #INV-2024-0427</p>
</div>
<div class='col-md-4 text-md-end'>
<h3 class='mb-0'>$3,400.00</h3>
<small class='opacity-75'>Due: June 27, 2024</small>
</div>
</div>
</div>
<div class='card-body p-4'>
<div class='row mb-4'>
<div class='col-md-6'>
<h6 class='text-primary text-uppercase mb-2'>From</h6>
<strong>Tech Innovations Ltd</strong><br>
contact@techinnovations.com
</div>
<div class='col-md-6 text-md-end'>
<h6 class='text-primary text-uppercase mb-2'>Bill To</h6>
<strong>Future Solutions GmbH</strong><br>
1234 Innovation Drive<br>
Berlin, 10115
</div>
</div>
<table class='table invoice-table'>
<thead>
<tr>
<th>Description</th>
<th class='text-center'>Qty</th>
<th class='text-end'>Unit Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cloud Hosting Services</td>
<td class='text-center'>12</td>
<td class='text-end'>€75.00</td>
<td class='text-end'>€900.00</td>
</tr>
<tr>
<td>Custom Web Application</td>
<td class='text-center'>3</td>
<td class='text-end'>€150.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Technical Support</td>
<td class='text-center'>15</td>
<td class='text-end'>€30.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Digital Marketing Campaign</td>
<td class='text-center'>2</td>
<td class='text-end'>€500.00</td>
<td class='text-end'>€1,000.00</td>
</tr>
<tr>
<td>SEO Optimization</td>
<td class='text-center'>5</td>
<td class='text-end'>€120.00</td>
<td class='text-end'>€600.00</td>
</tr>
</tbody>
</table>
<div class='row justify-content-end'>
<div class='col-md-4'>
<table class='table table-sm'>
<tr>
<td>Subtotal:</td>
<td class='text-end'><strong>€3,400.00</strong></td>
</tr>
<tr>
<td>Discount (10%):</td>
<td class='text-end text-success'>-€340.00</td>
</tr>
<tr>
<td>Tax (5%):</td>
<td class='text-end'>€153.00</td>
</tr>
<tr class='table-primary'>
<td><strong>Total Due:</strong></td>
<td class='text-end'><strong>€3,213.00</strong></td>
</tr>
</table>
</div>
</div>
<div class='alert alert-info mt-4'>
<strong>Payment Terms:</strong> Payment due within 30 days. Late payments may incur additional charges.
</div>
<div class='row mt-4 pt-3 border-top'>
<div class='col-md-6'>
<small class='text-muted'>Generated with IronPDF - No external APIs required</small>
</div>
<div class='col-md-6 text-md-end'>
<span class='badge bg-success'>PAID</span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(professionalInvoice);
pdf.SaveAs("professional-invoice.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim professionalInvoice As String = "
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='___PROTECTED_URL_53___ rel='stylesheet'>
<style>
.invoice-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; }
.invoice-table th { background: #f8f9fa; }
@media print { .invoice-box { page-break-inside: avoid; } }
</style>
</head>
<body>
<div class='container my-4'>
<div class='card shadow-lg invoice-box'>
<div class='invoice-header p-4'>
<div class='row align-items-center'>
<div class='col-md-8'>
<h1 class='mb-0'>INVOICE</h1>
<p class='mb-0 opacity-75'>Invoice #INV-2024-0427</p>
</div>
<div class='col-md-4 text-md-end'>
<h3 class='mb-0'>$3,400.00</h3>
<small class='opacity-75'>Due: June 27, 2024</small>
</div>
</div>
</div>
<div class='card-body p-4'>
<div class='row mb-4'>
<div class='col-md-6'>
<h6 class='text-primary text-uppercase mb-2'>From</h6>
<strong>Tech Innovations Ltd</strong><br>
contact@techinnovations.com
</div>
<div class='col-md-6 text-md-end'>
<h6 class='text-primary text-uppercase mb-2'>Bill To</h6>
<strong>Future Solutions GmbH</strong><br>
1234 Innovation Drive<br>
Berlin, 10115
</div>
</div>
<table class='table invoice-table'>
<thead>
<tr>
<th>Description</th>
<th class='text-center'>Qty</th>
<th class='text-end'>Unit Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cloud Hosting Services</td>
<td class='text-center'>12</td>
<td class='text-end'>€75.00</td>
<td class='text-end'>€900.00</td>
</tr>
<tr>
<td>Custom Web Application</td>
<td class='text-center'>3</td>
<td class='text-end'>€150.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Technical Support</td>
<td class='text-center'>15</td>
<td class='text-end'>€30.00</td>
<td class='text-end'>€450.00</td>
</tr>
<tr>
<td>Digital Marketing Campaign</td>
<td class='text-center'>2</td>
<td class='text-end'>€500.00</td>
<td class='text-end'>€1,000.00</td>
</tr>
<tr>
<td>SEO Optimization</td>
<td class='text-center'>5</td>
<td class='text-end'>€120.00</td>
<td class='text-end'>€600.00</td>
</tr>
</tbody>
</table>
<div class='row justify-content-end'>
<div class='col-md-4'>
<table class='table table-sm'>
<tr>
<td>Subtotal:</td>
<td class='text-end'><strong>€3,400.00</strong></td>
</tr>
<tr>
<td>Discount (10%):</td>
<td class='text-end text-success'>-€340.00</td>
</tr>
<tr>
<td>Tax (5%):</td>
<td class='text-end'>€153.00</td>
</tr>
<tr class='table-primary'>
<td><strong>Total Due:</strong></td>
<td class='text-end'><strong>€3,213.00</strong></td>
</tr>
</table>
</div>
</div>
<div class='alert alert-info mt-4'>
<strong>Payment Terms:</strong> Payment due within 30 days. Late payments may incur additional charges.
</div>
<div class='row mt-4 pt-3 border-top'>
<div class='col-md-6'>
<small class='text-muted'>Generated with IronPDF - No external APIs required</small>
</div>
<div class='col-md-6 text-md-end'>
<span class='badge bg-success'>PAID</span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(professionalInvoice)
pdf.SaveAs("professional-invoice.pdf")
Çıktı: Bootstrap 5 eğimli başlıklar, duyarlı tablolar ve hesap özetleri ile profesyonel fatura PDF'si. IronPDF, tüm CSS gradyanlarını, tablo stillerini ve yardımcı sınıfları mükemmel doğrulukla işler—dış API çağrıları yok, şablonlar yok, internet bağlantısı gerekmez. CraftMyPDF'nin bulut tabanlı yaklaşımının aksine, IronPDF, faturaları sunucunuzda anında ve tam kontrolle üretir.
Kod Ne Yapıyor?
RestClientAyarlayın:CraftMyPDFAPI uç noktasıyla istemciyi başlatın- Başlıklar Ekle: Kimlik doğrulama için API anahtarı ve içerik türünü ekleyin
- İstek Gövdesi Hazırlayın: Şablon verileri ve seçeneklerle JSON nesnesi oluşturun
- İstek Gönder: PDF oluşturmak için API çağrısını gerçekleştirin
- Yanıtı İşleyin: Oluşturulan PDF'yi indirin veya hata mesajını görüntüleyin
Teknik Kurucular için Ana Farklılıklar Nelerdir?
Şablon Tabanlı ve Kod-Öncelikli Yaklaşımlar Nasıl Karşılaştırılır?
Şablona Dayalı (CraftMyPDF):
- Teknik olmayan ekip üyeleri şablonları oluşturabilir ve değiştirebilir
- Şablonlar bulut kontrol panelinde merkezi olarak yönetilir
- Şablonlardaki değişiklikler kod dağıtımı gerektirmez
- Şablon tasarım kısıtlamalarıyla sınırlıdır
- Önceden belirlenmiş düzenlerle standartlaştırılmış belgeler için en iyisi
Kod-Öncelikli (IronPDF):
- HTML ve CSS kullanarak belge düzeni üzerinde tam kontrol
- JavaScript desteği dinamik grafikler ve hesaplamalar sağlar
- Şablonlar sürüm kontrolüne sahip kod tabanının parçasıdır
- Herhangi bir web teknolojisi ile sınırsız tasarım esnekliği
- Programatik mantık gerektiren karmaşık, dinamik belgeler için ideal
Razor şablonları için, IronPDF MVC Core, MVC Framework ve Razor Pages genelinde yerel destek sunar.
Farklı Ölçeklerdeki Maliyet Etkileri Nelerdir?
CraftMyPDF Maliyet Yapısı:
- Ücretsiz katman: Ayda 50 API çağrısı ve 3 şablon sınırı
- Ücretli planlar daha yüksek aylık ücretlerle başlar
- PDF başına maliyetler hacimle doğrusal olarak ölçeklenir
- Sürekli aylık/yıllık abonelik ücretleri
- Premium özellikler için ek maliyetler
IronPDF Maliyet Yapısı:
- Tam değerlendirme için ücretsiz deneme
- Bir kerelik süresiz lisans $999 ile başlar
- PDF başına maliyetler veya kullanım sınırı yok
- Bir yıllık güncellemeler ve destek dahildir
- OEM yeniden dağıtım seçenekleri SaaS ürünleri için
Ayda 1.000'den fazla PDF işleyen uygulamalar için, IronPDF'nin süresiz lisansı devam eden ücretler olmadan öngörülebilir maliyetler sunar. Lisans hesaplayıcı toplam sahip olma maliyetlerini tahmin etmeye yardımcı olur. Büyüyen ekipler için yükseltmeler ve uzantılar düşünün.
Geliştirme İş Akışları Nasıl Farklılık Gösterir?
CraftMyPDF İş Akışı:
- Tasarımcı web arayüzünde şablon oluşturur
- Geliştirici JSON alanlarını şablona bağlar
- API entegrasyonu kimlik doğrulama kurulumu gerektirir
- Test, API çağrıları ve kredi kullanımını gerektirir
- Şablon güncellemeleri, kod dağıtımının dışında gerçekleşir
IronPDF İş Akışı:
- Geliştirici kodda HTML/CSS şablonu yazar
- API sınırları olmadan yerel testler
- Şablonlar uygulama kodu ile dağıtılır
- Sürüm kontrolü tüm değişiklikleri izler
- CI/CD entegrasyonu ile otomatik testler için
IronPDF'nin kendi kendine yeterli yaklaşımı, hızlı geliştirme için daha hızlı iterasyon döngüleri ve çevrimdışı geliştirmeyi mümkün kılar. Kütüphane, hata ayıklama için özel günlük kaydı ve işleme seçeneklerini destekler.
Veri Gizliliği ve Uyumluluk Hakkında Ne Söyleyebiliriz?
CraftMyPDF Veri İşleme:
- Belgeler bulut sunucularında işlenir
- İnternet üzerinden veri iletimi gereklidir
- Uyumluluk için bölgesel uç noktalar
- Geçici dosya depolama politikaları
- Üçüncü taraf veri işleme anlaşmaları
IronPDF Veri İşleme:
- Yerinde işlem verileri yerel tutar
- Harici API çağrısı veya internet gerekliliği yok
- Belge güvenliği üzerinde tam kontrol
- HIPAA ve GDPR uyumlu kurulumlar
- Hassas veriler için şifreleme seçenekleri
Hassas müşteri verilerini işleyen uygulamalar için, IronPDF'in yerel işlem yapması, üçüncü taraf gizlilik endişelerini ortadan kaldırır. Dijital imzalar ve şifre koruma, ek güvenlik katmanları sağlar. Kütüphane ayrıca uyumluluk için PDF/A ve PDF/UA standartlarını destekler.
Yeni Belge Türlerini Ne Kadar Hızlı Ekleyebilirim?
CraftMyPDF Zaman Çizelgesi:
- Şablon tasarımı: Karmaşıklığa bağlı olarak 1-4 saat
- Alan eşleştirme ve test: 1-2 saat
- Tasarımcı mevcutluğuna bağlıdır
- Şablon onayı iş akışları gecikme yaratabilir
- Editör yetenekleri ile sınırlıdır
IronPDF Zaman Çizelgesi:
- HTML şablon oluşturma: 30 dakika ila 2 saat
- Bootstrap gibi mevcut web çerçevelerini kullanın
- Belgeler arasında CSS stillerini tekrar kullanın
- Anında geri bildirim ile yerel olarak test edin
- Düzenli sürümlerle yeni belge türleri dağıtın
IronPDF'in kod-öncelikli yaklaşımı, mevcut web varlıklarını ve çerçevelerini kullanırken yeni belge türlerinin pazara sunma süresini genellikle azaltır. Kütüphane, ek esneklik için RTF'ten PDF'e, DOCX'ten PDF'e ve Markdown'dan PDF'e dönüşümleri destekler.
Lisanslama Seçenekleri Nedir?

IronPDF, bir kerelik ücretlerle süresiz lisanslar sunar. Lite lisansı ($999) bir geliştiriciye bir proje üzerinde çalışma desteği verir. Professional lisansı ($1,499) birden fazla projeyi ve geliştiriciyi kapsar. Enterprise lisansı ($2,999) daha geniş ekipler için kapsamlı dağıtım ihtiyaçlarını karşılar. Her lisans bir yıllık destek ve güncellemeleri içerir. Ticari dağıtım sağlamak için bir OEM Yeniden Dağıtım Lisansı sunar. Değerlendirme için ücretsiz bir deneme mevcuttur. Tam lisanslama seçeneklerini görüntüleyin.
CraftMyPDF abonelik tabanlı fiyatlandırmayı kullanır. Ücretsiz katman, sınırlı API çağrıları ile geliştirme ve test için uygundur. Ücretli planlar kullanım limitlerini artırır, özellikler ekler ve iş ihtiyaçlarıyla ölçeklenir. Abonelikler CraftMyPDF kontrol paneli aracılığıyla yönetilir.
Hangi Belgeler ve Destek Mevcut?
IronPDF, Belgeler ve Destek için Neler Sunar?
IronPDF, ayrıntılı kılavuzlar, örnekler ve bir Hızlı Başlangıç bölümü içeren tam belgeler sunar. Kaynaklar, temel kullanımdan gelişmiş yapılandırmalara kadar kapsar. Destek kanalları, bir bilgi tabanı, e-posta desteği ve mühendislik destek taleplerini içerir. Destek ekibi, hızlı yardım için 24/5 çalışır. Sorun giderme kılavuzları yaygın sorunları ele alır.
Belgeler, tüm özellikler için API referansları, eğitimler ve kod örnekleri içerir. Değişim günlükleri güncellemeleri takip eder ve kilometre taşları önemli sürümleri vurgular. Geçiş desteği için Aspose, iText, Syncfusion ve diğer rakiplerle karşılaştıran kılavuzları inceleyin.
CraftMyPdf Dökümantasyon ve Destek için Ne Sunar?
CraftMyPDF uç noktaları, parametreleri ve örnekleri detaylandıran API dökümantasyonu sunar. Kılavuzlar, şablon oluşturma, API istekleri ve yanıt işleme konularını kapsar. Destek, sorular ve içgörüler için e-posta ve topluluk forumları aracılığıyla sunulur.
Hangi PDF Çözümünü Seçmeliyim?
Hem IronPDF hem de CraftMyPDF farklı yaklaşımlarla yetkin PDF oluşturma çözümleri sunar. CraftMyPDF, görsel şablon tasarımcısı ve bulut tabanlı işleme ile mükemmeldir, IronPDF ise HTML renderleme aracılığıyla tam programatik kontrol sağlar.
IronPDF, karmaşık belge gereksinimleri için kapsamlı özellik seti ile öne çıkar. HTML, URL'ler ve dosyaları PDF'e dönüştürürken, dijital imzalar, form işleme ve belge düzenleme gibi gelişmiş özellikleri destekler. Dış bağımlılıklar olmadan kendi kendine yeterli dağıtım, platformlar arasında güvenilir bir çalışmayı sağlar.
Lisanslama modelleri önemli ölçüde farklılık gösterir. IronPDF'nin süresiz lisansları $999 ile başlar ve değerlendirme için ücretsiz deneme sunulur. Iron Suite paketi iki ürün fiyatına dokuz ürün sunar ve eksiksiz belge yönetimi ihtiyaçları için olağanüstü değer sağlar.
Zengin HTML/CSS desteğiyle PDF oluşturma üzerinde tam kontrol gerektiren geliştiriciler için, gelişmiş belge manipülasyonu ve öngörülebilir maliyetlerle IronPDF güvenilir bir çözüm sunar. Kapsamlı belgeleri, duyarlı desteği ve esnek dağıtım seçenekleri, basit belge oluşturma işlemlerinden daha karmaşık enterprise iş akışlarına kadar geniş bir yelpazede uygulamalar için uygundur.
CraftMyPDF ilgili sahibinin tescilli markasıdır. Bu site CraftMyPDF ile bağlantılı, onaylanmış ya da sponsorlu değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.Sıkça Sorulan Sorular
API tabanlı bir çözüme göre C# PDF kütüphanesi kullanmanın avantajları nelerdir?
IronPDF gibi kapsamlı bir PDF kütüphanesi, geniş özellikler, .NET geliştirme ortamları ile sorunsuz entegrasyon, güçlü destek ve maliyet etkin lisanslama seçenekleri sunarak karmaşık belge işlemleri için üstün bir tercih yapar.
C# kullanarak HTML içeriğini PDF belgesine nasıl dönüştürebilirim?
HTML içeriğini PDF belgelerine dönüştürmek için IronPDF kullanabilirsiniz. HTML5 ve CSS3'ü destekler, böylece web içeriği oluşturulan PDF'lerde doğru bir şekilde görüntülenir.
PDF oluşturma için IronPDF'de hangi özellikler öne çıkıyor?
IronPDF dijital imzalar, form doldurma, PDF düzenleme, notlar ve platformlar arası uyumluluk sunar. HTML, URL ve görüntüleri PDF'lere dönüştürmede güçlü performansı ve optimizasyonu ile öne çıkar.
CraftMyPDF PDF şablon tasarımını nasıl ele alır?
CraftMyPDF, kullanıcıların kodlama yapmadan PDF şablonları tasarlamalarına olanak tanıyan, web tabanlı sürükle-bırak bir editör sunar. Özelleştirilmiş PDF belgeleri oluşturmayı sağlayan JSON veri entegrasyonunu destekler.
IronPDF gibi PDF araçları için hangi lisanslama seçenekleri mevcuttur?
IronPDF, Lite, Professional ve Enterprise lisansları dahil olmak üzere tek seferlik bir ücretle esnek lisanslama seçenekleri sunar. Ayrıca, yeni kullanıcıların özelliklerini keşfetmesi için ücretsiz bir deneme sunar.
PDF oluşturma API'sini C# uygulamamla nasıl entegre edebilirim?
CraftMyPDF gibi bir PDF oluşturma API'sini entegre etmek için bir hesap oluşturmanız, uygun bir plan seçmeniz, bir API anahtarı edinmeniz ve System.Net.Http ve RestSharp gibi kütüphaneleri kullanarak API çağrıları yapmanız gerekir.
IronPDF kullanan geliştiriciler için hangi destek kaynakları mevcuttur?
IronPDF geniş belgeler, eğitimler ve 24/5 teknik destek sunar. Bu kaynaklar, geliştiricilerin kütüphaneyi projelerinde etkili bir şekilde uygulamalarına ve sorun gidermelerine yardımcı olur.
IronPDF'yi C# uygulamasına nasıl yüklerim?
IronPDF, Visual Studio'da NuGet Paket Yöneticisi aracılığıyla, NuGet Paket Yöneticisi Konsolunu kullanarak veya NuGet web sitesinden paketi doğrudan indirerek yüklenebilir.
IronPDF, PDF belgelerinin güvenliği ve etkileşimini nasıl artırır?
IronPDF dijital imzalar ve form işleme gibi özellikleri destekler, bu da belge güvenliğini ve etkileşimini artırır ve kapsamlı PDF yönetimi için uygundur.



