CraftMyPDF vs IronPDF: C# Geliştiricileri İçin Hangi PDF Üretim Kütüphanesi?
IronPDF, tam CSS/JavaScript desteği ve $749'dan başlayan sürekli lisanslama ile kodla baştan HTML'den PDF'ye dönüştürme sunarken, CraftMyPDF bulut tabanlı şablon tasarımı ve JSON entegrasyonu sağlar ancak sürekli 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 tam CSS/JavaScript desteği ile .NET geliştiricileri için HTML'den PDF'ye dönüşüm ile belge oluşturma üzerinde tam kontrol 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çimlendirmeleri, yazı tiplerini ve görüntüleri cihazlar arasında koruyarak, tutarlı bir görünüm sağlar. PDF'ler, güvenlik özelliklerini, etkileşimi ve sıkıştırmayı destekleyerek, güvenilir belge paylaşımı için idealdir.
C# PDF kütüphaneleri, geliştiricilerin PDF'lerden oluşturma, değiştirme ve içerik çıkarma işlemlerini programatik olarak yapmalarına olanak tanır. Bu araçlar form işleme, dijital imzalar ve çapraz platform dağıtımı destekler. PDF kütüphanelerini entegre ederek, geliştiriciler uygulamalarına doğrudan belge oluşturma yetenekleri ekleyebilir, oluşturmayı, düzenlemeyi ve PDF'leri yönetmeyi kolaylaştırabilir.
Bu makale, iki farklı PDF oluşturma yaklaşımını karşılaştırır: IronPDF C# kütüphanesi ve Craftmypdf API'si. Karşılaştırma, özellikleri inceler, kod örnekleri sunar ve lisanslama seçeneklerini tartışır.
CraftMyPDF API Taban Çözümü Nedir?

CraftMyPDF, şablonlar aracılığıyla PDF oluşturmak için bulut tabanlı bir API'dir. Kodlama yapmadan yeniden kullanılabilir şablonlar tasarlamak için web tabanlı bir sürükle-bırak düzenleyici sağlar. Platform, bu şablonları JSON verileriyle birleştirerek faturalar, raporlar ve sertifikalar gibi belgeler için dinamik içerik oluşturmayı destekleyerek PDF'ler üretir.
CraftMyPDF'nin Temel Özellikleri Nelerdir?
-
Sürükle ve Bırak Düzenleyici: Kod bilgisi gerektirmeyen görsel şablon tasarımcısı.
-
Şablon Yeniden Kullanılabilirliği: Bir kez tasarlayın, farklı veri setleriyle tekrar tekrar kullanın.
-
JSON Veri Entegrasyonu: Şablonları dinamik verilerle JSON aracılığıyla birleştirin.
-
Gelişmiş Biçimlendirme ve İfadeler: Tarihleri, numaraları ve para birimlerini dinamik olarak biçimlendirin.
-
API Entegrasyonları: REST API, Zapier, Make.com ve özel uygulamaları destekler.
-
Doldurulabilir Bileşenler: Yazı alanları ve onay kutularıyla etkileşimli formlar oluşturun.
- Güvenlik ve Uyumluluk: Bölgesel API uç noktaları ve GDPR uyumluluğu ile güvenli PDF erişimi sağlayın.
IronPDF Nedir?
.NET Geliştiricileri için IronPDF PDF Kütüphanesi, .NET uygulamaları için eksiksiz bir PDF kütüphanesidir. C# ile yazılmıştır, piksel mükemmel PDF'ler üretir HTML, CSS, JavaScript ve görseller ile. IronPDF, .NET ortamlarında oluşturma, düzenleme ve yönetim için geniş seçenekler sunarak PDF iş akışlarını basitleştirir.
IronPDF'ün Temel Özellikleri Nelerdir?
-
HTML'den PDF'ye Dönüşüm: HTML, CSS ve JavaScript'ten PDF'ye dönüştürün, piksel mükemmeliği ile.
-
URL'den PDF: Herhangi bir URL'den PDF'ler oluşturun, içeriği koruyarak ve yanıt veren stile uyarak.
-
Görüntüden PDF: JPG, PNG, GIF, BMP ve SVG'yi PDF belgelerine dönüştürün çok çerçeveli TIFF desteği ile.
-
Form Doldurma ve Veri Çıkarma: Programatik olarak PDF formları oluşturun ve doldurun özel doğrulama ile.
-
Dijital İmzalar ve Güvenlik: Dijital imzalar, şifreler ve izinleri, HSM desteğiyle ekleyin.
-
PDF Düzenleme: Sayfalar ekleyin, kopyalayın veya silin. PDF'leri birleştirin ve bölün sayfa döndürme yeteneği ile.
-
Notlar ve Ekler: Yapışkan notlar ekleyin ve ekleri gömün özelleştirilmiş meta verilerle.
-
Başlıklar, Alt Bilgiler ve Filigranlar: Özelleştirilmiş başlıklar, alt bilgiler ve filigranlar uygulayın HTML şablonları ile.
-
Çapraz Platform Uyumluğu: Windows, macOS, Linux, Docker, Azure ve AWS üzerinde çalışır.
-
Performans Optimizasyonu: Yüksek hacimli üretim için çoklu iş parçacığı ve asenkron destek ile paralel işleme.
-
Eksiksiz Dokümantasyon: Geniş rehberler, eğitimler ve 24/5 teknik destek.
- Dış Bağımlılık Yok: yerel render motoru kullanarak, ek yazılım gerektirmeden tek DLL dağıtımı.
Visual Studio'da Bir C# Uygulaması Nasıl Oluşturulur?
Bir C# konsol uygulaması oluşturmak için bilgisayarda Visual Studio'nun yüklü olması gerekir. Projeyi kurmak için bu adımları izleyin:
Visual Studio Nasıl Açılır?
Başlat menüsünden ya da masaüstü simgesinden Visual Studio'yu başlatın.
Yeni Proje Nasıl Oluşturulur?
- Başlangıç sayfasında "Yeni bir proje oluştur" üzerine tıklayın.
- "Konsol Uygulaması" için arama yapın veya şablon listesinde seçin.
Proje Şablonu Nasıl Seçilir?
Gereksinimlere göre "Konsol Uygulaması (.NET Core)" veya "Konsol Uygulaması (.NET Framework)" seçin. .NET MAUI desteği için, uygun MAUI şablonlarını seçin.
Projemi Nasıl Yapılandırırım?
- Proje Adı: Proje adını girin
- Konum: Kaydetme dizinini seçin
- Çözüm Adı: Genellikle proje adını takip eder
- Devam etmek için "Oluştur" üzerine tıklayın
IronPDF'yi Nasıl Kurarım?
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ı destekler.
NuGet Paket Yöneticisi Nasıl Kullanılır?
Visual Studio'da Çözüm Gezgini'nde "Bağımlılıklar" veya "Referanslar" bölümüne sağ tıklayın. "NuGet Paketlerini Yönet" seçeneğini seçin, "IronPDF" araması yapın ve "Yükle" üzerine 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 ç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 konfigürasyonlarını kullanın.
Ayrıntılı kılavuzlar için, kurulum genel bakışını ve ileri düzey NuGet yapılandırmasını inceleyin.
CraftMyPDF Nasıl Kullanılır?
CraftMyPDF entegre etmek için bir hesap oluşturun, bir plan seçin ve API kimlik bilgilerini edinin.
Bir Hesap Nasıl Oluşturulur ve Ücretsiz Plan Nasıl Seçilir?
- Kayıt Olun: CraftMyPDF web sitesine kaydolun
- Ücretsiz Planı Seçin: Geliştirme ve test için ücretsiz katmanı seçin
- API Anahtarını Alın: Hesap panelinden API anahtarına erişin

Hangi Kütüphaneleri Yüklemem Gerekiyor?
System.Net.Http, RestSharp ve Newtonsoft.Json paketlerini yükleyin:
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şturabilirim?
Her iki kütüphane de PDF oluşturma için farklı yaklaşımlar sunar. IronPDF kod tabanlı HTML renderlama kullanırken, CraftMyPDF veri bağlamasıyla görsel şablonları kullanır. IronPDF ayrıca Markdown'dan PDF'e ve XML'den PDF'e dönüşümleri de destekler.
IronPDF ile PDF'leri Nasıl Oluşturabilirim?
HTML'den PDF'ye Nasıl Dönüştürülür?
HTML dizgilerini doğrudan PDF'ye tam CSS desteği ve JavaScript renderlama ile 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 örnekler sayfasını ziyaret edin. Geliştiriciler ayrıca özel kenar boşlukları ayarlayabilir, sayfa kırımları ekleyebilir ve kağıt boyutunu yapılandırabilir.
URL'den PDF'ye Nasıl Dönüştürülür?
Tüm stil öğelerini koruyarak web sayfalarını PDF'lere dönüştürün, WebGL içeriği ve duyarlı CSS dahil:
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üşüm hakkında daha fazla bilgi edinin. Yetkilendirilmiş sayfalar için TLS web sitesi girişleri ve HTTP istek başlıklarına bakın.
HTML Dosyasını PDF'ye Nasıl Dönüştürülür?
CSS medya türleri ve temel URL'ler desteğiyle yerel HTML dosyalarını 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ını PDF'ye dönüştürme kılavuzuna bakın. HTML ZIP dosyaları için, IronPDF çıkarmayı otomatik olarak yapar.
CraftMyPDF API ile PDF'leri Nasıl Oluştururum?
CraftMyPDF önce şablonlar oluşturmayı, ardından verileri birleştirerek PDF üretmeyi gerektirir.
Şablon Nasıl Oluşturulur?
- Dashboard'a Giriş Yapın:
CraftMyPDFhesabına erişin - Yeni Şablon Oluşturun: Tasarım için sürükle-bırak editörünü kullanın
- Şablonu Kaydedin: API çağrıları için şablon kimliğini edinin

PDF Oluşturma Talebini Nasıl Gönderirim?
Şablona JSON verilerini göndererek PDF'leri 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, dış bağımlılık olmadan modern çerçeveleri renderlar. Bu Bootstrap 5 örneği, duyarlı tasarım ve baskı CSS ile profesyonel fatura oluşturmayı 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 degrade başlıkları, duyarlı tablolar ve hesaplama özetleriyle profesyonel bir fatura PDF'si. IronPDF, tüm CSS gradyanlarını, tablo stilini ve yardımcı sınıfları mükemmel doğrulukla renderlar—dış API çağrıları, şablonlar, internet bağlantısı gerekmez. CraftMyPDF'nin bulut tabanlı yaklaşımının aksine, IronPDF tam kontrolle faturaları anında sunucunuzda üretir.
Kod Ne Yapar?
RestClientKurulumu:CraftMyPDFAPI uç noktasını içeren istemciyi başlatın- Başlık Ekle: Kimlik doğrulama için API anahtarı ve içerik türü dahil edin
- İstek Gövdesini Hazırla: Şablon verileri ve seçenekleriyle JSON nesnesi oluşturun
- Talebi 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 Önemli Farklar Nelerdir?
Şablona Dayalı ve Koda Dayalı 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 panosunda merkezi olarak yönetilir
- Şablonlardaki değişiklikler kod dağıtımı gerektirmez
- Şablon tasarımı sınırlamalarıyla sınırlıdır
- Öngörülebilir yerleşimlere sahip standart belgeler için en iyisi
Koda Dayalı (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üyle 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 sağlar.
Farklı Ölçeklerde Maliyet Etkileri Nelerdir?
CraftMyPDF Maliyet Yapısı:
- Ücretsiz katman: Aylık 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 artar
- Devam eden aylık/yıllık abonelik ücretleri
- Premium özellikler için ek maliyetler
IronPDF Maliyet Yapısı: Tam değerlendirme için ücretsiz deneme
- $799 dan başlayan tek seferlik süresiz lisans
- PDF başına maliyet veya kullanım sınırı yok
- Bir yıl boyunca güncellemeler ve destek içerir
- SaaS ürünleri için OEM yeniden dağıtım seçenekleri
Ayda 1.000+ PDF işleyen uygulamalar için, IronPDF'nin süresiz lisansı, devam eden ücretler olmadan sabit maliyetler sunar. Lisans hesaplayıcısı, toplam sahiplik maliyetlerini tahmin etmenize yardımcı olur. Büyüyen ekipler için güncellemeleri ve genişletmeleri 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 eşler
- API entegrasyonu kimlik doğrulama ayarını 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ı olmaksızın yerel test
- Şablonlar uygulama kodu ile dağıtılır
- Sürüm kontrolü tüm değişiklikleri takip eder Otomatik test için CI/CD entegrasyonu
IronPDF'nin kendi kendine yeterli yaklaşımı, hızlı geliştirme için kritik olan daha hızlı yineleme döngüleri ve çevrimdışı geliştirme sağlar. Kütüphane, hata ayıklama için özel günlük tutma ve renderlama seçenekleri destekler.
Veri Gizliliği ve Uyumluluk Ne Olacak?
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şleme veriyi yerel tutar
- Dış API çağrısı veya internet gereksinimi yok
- Döküman güvenliği üzerinde tam kontrol
- HIPAA ve GDPR uyumlu dağıtımlar
- Hassas veriler için şifreleme seçenekleri
Hassas müşteri verilerini işleyen uygulamalar için, IronPDF'nin yerel işleme özelliği üçüncü taraf gizlilik endişelerini ortadan kaldırır. Dijital imzalar ve şifre koruması ek güvenlik katmanları sağlar. Kütüphane ayrıca uyumluluk için PDF/A ve PDF/UA standartlarını da destekler.
Yeni Döküman Türlerini Ne Kadar Hızlı Ekleyebilirim?
CraftMyPDF Zaman Çizelgesi:
- Şablon tasarımı: karmaşıklığa bağlı olarak 1-4 saat
- Alan eşleme ve test: 1-2 saat
- Tasarımcı mevcudiyetine bağlı
- Şablon onay iş akışları gecikmelere neden olabilir
- Editör yetenekleriyle sınırlı
IronPDF Zaman Çizelgesi:
- HTML şablon oluşturma: 30 dakika ile 2 saat arası
- Bootstrap gibi mevcut web çerçevelerini kullanın
- Dökümanlar arasında CSS stil dosyalarını yeniden kullanın
- Anında geri bildirim ile yerel olarak test edin
- Yeni döküman türlerini düzenli sürümlemeler ile dağıtın
IronPDF'nin kod-öncelikli yaklaşımı, yeni döküman türleri için pazara çıkış süresini genellikle azaltır, özellikle mevcut web varlıkları ve çerçeveler kullanıldığında. Kütüphane, ek esneklik için RTF'den PDF'ye, DOCX'den PDF'ye ve Markdown'dan PDF'ye dönüşümleri destekler.
Lisans Seçenekleri Nelerdir?

IronPDF bir defaya mahsus ücretler ile sürekli lisanslar sunar. Lite lisansı ($799) tek bir geliştirici için bir projeyi destekler. Professional lisansı ($1,199) birden fazla proje ve geliştiriciyi kapsar. Enterprise lisansı ($2,399) geniş dağıtım ihtiyaçları olan büyük ekipler için hizmet eder. Her lisans, bir yıllık destek ve güncellemeleri içerir. Bir OEM Yeniden Dağıtım Lisansı ticari dağıtımı mümkün kılar. Değerlendirme için bir ücretsiz deneme mevcuttur. Tüm lisans seçeneklerini görüntüleyin.
CraftMyPDF abonelik tabanlı fiyatlandırma 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 ve iş ihtiyaçları ile ölçeklenen özellikler ekler. Abonelikler CraftMyPDF kontrol paneli üzerinden yönetilir.
Hangi Dökümantasyon ve Destek Mevcuttur?
IronPDF Dökümantasyon ve Destek için Ne Sunar?
IronPDF tam dokümantasyon sağlayarak detaylı kılavuzlar, örnekler ve Hızlı Başlangıç bölümü içerir. Kaynaklar temel kullanımdan ileri seviye yapılandırmalara kadar kapsamaktadır. 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.
Dokümantasyon tüm özellikler için API referansları, tutoriallar ve kod örnekleri içerir. Değişiklik Günlükleri güncellemeleri takip eder ve başarılar büyük sürümleri vurgular. Geçiş desteği için Aspose, iText, Syncfusion ve diğer rakiplerle karşılaştıran kılavuzları görün.
CraftMyPdf Dökümantasyon ve Destek için Ne Sunar?
CraftMyPDF uç noktalar, parametreler ve örnekleri detaylandıran API dokümantasyonu sunar. Kılavuzlar şablon oluşturma, API istekleri ve yanıt yönetimini kapsar. Destek, sorular ve içgörüler için e-posta ve topluluk forumları aracılığıyla mevcuttur.
Hangi PDF Çözümünü Seçmeliyim?
Hem IronPDF hem de CraftMyPDF farklı yaklaşımlar ile güçlü PDF üretim çözümleri sunar. CraftMyPDF görsel şablon tasarımcısı ve bulut tabanlı işleme ile öne çıkarken, IronPDF HTML renderleme yoluyla tam programatik kontrol sunar.
IronPDF, karmaşık döküman gereksinimleri için geniş özellik seti ile öne çıkar. HTML'yi HTML, URL'ler ve dosyaları PDF'ye dönüştürür ve dijital imzalar, form işleme ve doküman düzenleme gibi gelişmiş özellikleri destekler. Dış bağımlılıklar olmadan kendi başına dağıtım, platformlar arasında güvenilir işletim sağlar.
Lisanslama modelleri önemli ölçüde farklılık gösterir. IronPDF'nin sürekli lisansları, değerlendirme için bir ücretsiz deneme ile $799 başlar. Iron Suite paketi, iki ürün fiyatına dokuz ürün sunar, tamamen doküman yönetim ihtiyaçları için olağanüstü değer sağlar.
Geliştiriciler için PDF oluşturma üzerinde tam kontrol sağlayan, zengin HTML/CSS desteği, gelişmiş doküman manipülasyonu ve öngörülebilir maliyet yapısı ile IronPDF güvenilir bir çözüm sunar. Geniş dokümantasyonu, duyarlı desteği ve esnek dağıtım seçenekleri ile basit döküman üretiminden karmaşık kurumsal iş akışlarına kadar uygulamalara uygun hale getirir.
CraftMyPDF kendi sahibinin tescilli markasıdır. Bu site CraftMyPDF ile bağlantılı değil, onaylanmamış veya sponsor edilmemiştir. Tüm ürün adları, logolar ve markalar kendi sahiplerinin mülkiyetindedir. Karşılaştırmalar yalnızca bilgilendirme amaçlıdır ve yazım sırasında kamuya açık bilgileri yansıtır.Sıkça Sorulan Sorular
API tabanlı bir çözüm yerine bir C# PDF kütüphanesi kullanmanın avantajları nelerdir?
IronPDF gibi kapsamlı bir PDF kütüphanesi, kapsamlı özellikler, .NET geliştirme ortamlarıyla sorunsuz entegrasyon, güçlü destek ve maliyet etkin lisanslama seçenekleri sunarak karmaşık belge işleme için üstün bir seçimdir.
HTML içeriğini C# kullanarak bir PDF belgesine nasıl dönüştürebilirim?
IronPDF kullanarak HTML içeriğini PDF belgelerine dönüştürebilirsiniz. HTML5 ve CSS3'ü destekler, web içeriğinin oluşturulan PDF'lerde doğru bir şekilde işlenmesini sağlar.
PDF oluşturma için IronPDF'in hangi özellikleri öne çıkar?
IronPDF, dijital imzalar, form doldurma, PDF düzenleme, açıklamalar ve çapraz platform uyumluluğu sunar. HTML, URL ve görüntülerin PDF'lere dönüştürülmesinde üstün performans ve optimizasyon sağlar.
CraftMyPDF, PDF şablon tasarımını nasıl ele alır?
CraftMyPDF, kullanıcıların PDF şablonlarını kodlama ihtiyaçı olmadan tasarlamalarına olanak tanıyan, web tabanlı bir sürükle-bırak düzenleyici sunar. JSON veri entegrasyonunu destekler ve özelleştirilmiş PDF belgeleri oluşturmayı mümkün kılar.
IronPDF gibi PDF araçları için hangi lisanslama seçenekleri mevcuttur?
IronPDF, Lite, Professional ve Enterprise lisansları ile bir kerelik ücret içeren esnek lisans seçenekleri sunar. Yeni kullanıcılar için özelliklerini keşfetmeleri adına ücretsiz bir deneme sürümü de sunar.
Bir 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çip, bir API anahtarı almanız ve API çağrıları yapmak için System.Net.Http ve RestSharp gibi kütüphaneleri kullanmanız gerekir.
IronPDF kullanan geliştiriciler için hangi destek kaynakları mevcuttur?
IronPDF, kapsamlı dokümantasyonlar, dersler ve 24/5 teknik destek sunar. Bu kaynaklar, geliştiricilerin kütüphaneyi projelerine etkili bir şekilde uygulamalarına ve sorun gidermelerine yardımcı olur.
IronPDF'i bir 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 doğrudan NuGet web sitesinden paketi indirerek yüklenebilir.
IronPDF, PDF belge güvenliğini ve etkileşimini nasıl artırır?
IronPDF, dijital imzalar ve form işleme gibi özellikleri destekler, bu da belge güvenliğini artırır ve geniş kapsamlı PDF yönetiminde etkileşim sağlar.



