`CraftMy`PDF vs IronPDF: Which PDF Generation Library for C# Developers?
IronPDF offers code-first HTML-to-PDF conversion with full CSS/JavaScript support and perpetual licensing from $749, while CraftMyPDF provides cloud-based template design with JSON integration but requires ongoing subscriptions and API dependencies.
CraftMyPDF offers a cloud-based drag-and-drop template designer with JSON data integration, while IronPDF provides code-first HTML-to-PDF conversion with full CSS/JavaScript support for .NET developers seeking complete control over document generation.
PDF, or Portable Document Format, is a file format developed by Adobe for document exchange. It preserves formatting, fonts, and images across devices, ensuring consistent appearance. PDFs support security features, interactivity, and compression, making them ideal for reliable document sharing.
C# PDF libraries enable developers to create, modify, and extract content from PDFs programmatically. These tools support form handling, digital signatures, and cross-platform deployment. By integrating PDF libraries, developers can add document generation capabilities directly to their applications, simplify workflows for creating, editing, and managing PDFs.
This article compares two different PDF generation approaches: the IronPDF C# library and the Craftmypdf API. The comparison examines features, provides code examples, and discusses licensing options.
What is CraftMyPDF API Base Solution?

CraftMyPDF is a cloud-based API for creating PDFs through templates. It provides a web-based drag-and-drop editor for designing reusable templates without coding. The platform generates PDFs by merging these templates with JSON data, supporting dynamic content generation for documents like invoices, reports, and certificates.
What Are CraftMyPDF's Key Features?
Drag-and-Drop Editor: Visual template designer requiring no coding knowledge.
Template Reusability: Design once, use repeatedly with different data sets.
JSON Data Integration: Merge dynamic data with templates through JSON.
Advanced Formatting and Expressions: Format dates, numbers, and currencies dynamically.
API Integrations: REST API supports Zapier, Make.com, and custom applications.
Fillable Components: Create interactive forms with text fields and checkboxes.
- Security and Compliance: Secure PDF access with regional API endpoints and GDPR compliance.
What is IronPDF?
IronPDF PDF Library for .NET Developers is a complete PDF library for .NET applications. Written in C#, it generates pixel-perfect PDFs from HTML, CSS, JavaScript, and images. IronPDF simplifies PDF workflows by providing extensive capabilities for creation, editing, and management within .NET environments.
What Are IronPDF's Key Features?
HTML to PDF Conversion: Convert HTML, CSS, and JavaScript to PDFs with pixel-perfect accuracy.
URL to PDF: Generate PDFs from any URL, preserving content and responsive styling.
Image to PDF: Convert JPG, PNG, GIF, BMP, and SVG into PDF documents with multi-frame TIFF support.
Form Filling and Data Extraction: Create and fill PDF forms programmatically with custom validation.
Digital Signatures and Security: Add digital signatures, passwords, and permissions with HSM support.
PDF Editing: Add, copy, or delete pages. Merge and split PDFs with page rotation capabilities.
Annotations and Attachments: Add sticky notes and embed attachments with custom metadata.
Headers, Footers, and Watermarks: Apply custom headers, footers, and watermarks with HTML templates.
Cross-Platform Compatibility: Works on Windows, macOS, Linux, Docker, Azure, and AWS.
Performance Optimization: Multithreading and async support for high-volume generation with parallel processing.
Complete Documentation: Extensive guides, tutorials, and 24/5 technical support.
- No External Dependencies: Single DLL deployment without additional software requirements using native rendering engine.
How Do I Create a C# Application in Visual Studio?
Creating a C# console application requires Visual Studio installed on the computer. Follow these steps to set up the project:
How Do I Open Visual Studio?
Launch Visual Studio from the Start menu or desktop icon.
How Do I Create a New Project?
- Click "Create a new project" on the start page.
- Search for "Console App" or select from the template list.
How Do I Choose the Project Template?
Select "Console App (.NET Core)" or "Console App (.NET Framework)" based on requirements. For .NET MAUI support, choose appropriate MAUI templates.
How Do I Configure My Project?
- Project Name: Enter the project name
- Location: Choose the save directory
- Solution Name: Typically matches project name
- Click "Create" to proceed
How Do I Install IronPDF?
IronPDF offers three installation methods: NuGet Package Manager, Package Manager Console, and direct download. The library supports Windows, macOS, Linux, and cloud deployments.
How Do I Use NuGet Package Manager?
In Visual Studio, right-click "References" or "Dependencies" in Solution Explorer. Select "Manage NuGet Packages", search for "IronPDF", and click "Install".

How Do I Use NuGet Package Manager Console?
Open Tools > NuGet Package Manager > Package Manager Console and run:
Install-Package IronPdf
How Do I Download from NuGet Website?
Visit the NuGet website, download the package file, and add it as a package source in Visual Studio. For Docker deployments, use specific container configurations.
For detailed guidance, see the installation overview and advanced NuGet configuration.
How Do I Use CraftMyPDF?
To integrate CraftMyPDF, create an account, select a plan, and obtain API credentials.
How Do I Create an Account and Select Free Plan?
- Sign Up: Register at CraftMyPDF website
- Select Free Plan: Choose the free tier for development and testing
- Get API Key: Access the API key from the account dashboard

What Libraries Do I Need to Install?
Install System.Net.Http, RestSharp, and Newtonsoft.Json packages:
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;Initialize the API client:
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");How Do I Create PDFs?
Both libraries offer different approaches to PDF generation. IronPDF uses code-based HTML rendering, while CraftMyPDF uses visual templates with data binding. IronPDF also supports Markdown to PDF and XML to PDF conversions.
How Do I Create PDFs with IronPDF?
How Do I Convert HTML to PDF?
Convert HTML strings directly to PDF with full CSS support and JavaScript rendering:
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");
}
}
For more examples, visit the HTML to PDF examples page. Developers can also set custom margins, add page breaks, and configure paper size.
How Do I Convert URL to PDF?
Convert web pages to PDFs while preserving all styling, including WebGL content and responsive CSS:
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");
}
}
Learn more about URL to PDF conversion. For authenticated pages, see TLS website logins and HTTP request headers.
How Do I Convert HTML File to PDF?
Convert local HTML files to PDFs with support for CSS media types and base URLs:
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");
}
}See the HTML file to PDF guide for details. For HTML ZIP files, IronPDF handles extraction automatically.
How Do I Create PDFs with CraftMyPDF API?
CraftMyPDF requires creating templates first, then generating PDFs by merging data.
How Do I Create a Template?
- Log in to Dashboard: Access the
CraftMyPDFaccount - Create New Template: Use the drag-and-drop editor to design
- Save Template: Obtain the template ID for API calls

How Do I Send a Request to Generate PDF?
Generate PDFs by sending JSON data to the template:
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}");
}
}
}
Generated PDF output:

How Can I Generate Professional Invoices with Bootstrap?
IronPDF renders modern frameworks without external dependencies. This Bootstrap 5 example demonstrates professional invoice generation with responsive design and print CSS:
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");Output: A professional invoice PDF with Bootstrap 5 gradient headers, responsive tables, and calculation summaries. IronPDF renders all CSS gradients, table styling, and utility classes with perfect accuracy—no external API calls, no templates, no internet connection required. Unlike CraftMyPDF's cloud-based approach, IronPDF generates invoices instantly on your server with full control.
What Does the Code Do?
- Set Up
RestClient: Initialize client withCraftMyPDFAPI endpoint - Add Headers: Include API key and content type for authentication
- Prepare Request Body: Create JSON object with template data and options
- Send Request: Execute API call to generate PDF
- Handle Response: Download generated PDF or display error message
What Are the Key Differences for Technical Founders?
How Do Template-Based and Code-First Approaches Compare?
Template-Based (CraftMyPDF):
- Non-technical team members can create and modify templates
- Templates are managed centrally in the cloud dashboard
- Changes to templates don't require code deployment
- Limited by template design constraints
- Best for standardized documents with predictable layouts
Code-First (IronPDF):
- Full control over document layout using HTML and CSS
- JavaScript support enables dynamic charts and calculations
- Templates are part of the codebase with version control
- Unlimited design flexibility with any web technology
- Ideal for complex, dynamic documents requiring programmatic logic
For Razor templates, IronPDF provides native support across MVC Core, MVC Framework, and Razor Pages.
What Are the Cost Implications at Different Scales?
CraftMyPDF Cost Structure:
- Free tier: 50 API calls/month with 3 template limit
- Paid plans start at higher monthly fees
- Per-PDF costs scale linearly with volume
- Ongoing monthly/annual subscription fees
- Additional costs for premium features
IronPDF Cost Structure:
- Free trial for full evaluation
- One-time perpetual license starting at $799
- No per-PDF costs or usage limits
- Includes one year of updates and support
- OEM redistribution options for SaaS products
For applications processing 1,000+ PDFs monthly, IronPDF's perpetual license offers predictable costs without ongoing fees. The licensing calculator helps estimate total ownership costs. Consider upgrades and extensions for growing teams.
How Do Development Workflows Differ?
CraftMyPDF Workflow:
- Designer creates template in web interface
- Developer maps JSON fields to template
- API integration requires authentication setup
- Testing requires API calls and credit usage
- Template updates happen outside code deployment
IronPDF Workflow:
- Developer writes HTML/CSS template in code
- Local testing without API limits
- Templates deploy with application code
- Version control tracks all changes
- CI/CD integration for automated testing
IronPDF's self-contained approach enables faster iteration cycles and offline development, crucial for rapid development. The library supports custom logging and rendering options for debugging.
What About Data Privacy and Compliance?
CraftMyPDF Data Handling:
- Documents processed on cloud servers
- Data transmission over internet required
- Regional endpoints for compliance
- Temporary file storage policies
- Third-party data processing agreements
IronPDF Data Handling:
- On-premise processing keeps data local
- No external API calls or internet requirement
- Full control over document security
- HIPAA and GDPR compliant deployments
- Encryption options for sensitive data
For applications handling sensitive customer data, IronPDF's local processing eliminates third-party privacy concerns. Digital signatures and password protection provide additional security layers. The library also supports PDF/A and PDF/UA standards for compliance.
How Quickly Can I Add New Document Types?
CraftMyPDF Timeline:
- Template design: 1-4 hours depending on complexity
- Field mapping and testing: 1-2 hours
- Dependent on designer availability
- Template approval workflows may add delays
- Limited by editor capabilities
IronPDF Timeline:
- HTML template creation: 30 minutes to 2 hours
- Use existing web frameworks like Bootstrap
- Reuse CSS stylesheets across documents
- Test locally with immediate feedback
- Deploy new document types with regular releases
IronPDF's code-first approach typically reduces time-to-market for new document types, especially when use existing web assets and frameworks. The library supports RTF to PDF, DOCX to PDF, and Markdown to PDF conversions for additional flexibility.
What Are the Licensing Options?

IronPDF offers perpetual licenses with one-time fees. The Lite license ($799) supports single developers on one project. The Professional license ($1,199) covers multiple projects and developers. The Enterprise license ($2,399) serves larger teams with extensive deployment needs. Each license includes one year of support and updates. An OEM Redistribution License enables commercial distribution. A free trial is available for evaluation. View complete licensing options.
CraftMyPDF uses subscription-based pricing. The free tier suits development and testing with limited API calls. Paid plans increase usage limits and add features, scaling with business needs. Subscriptions are managed through the CraftMyPDF dashboard.
What Documentation and Support is Available?
What Does IronPDF Offer for Documentation and Support?
IronPDF provides complete documentation including detailed guides, examples, and a QuickStart section. Resources cover basic usage through advanced configurations. Support channels include a knowledge base, email support, and engineering support requests. The support team operates 24/5 for prompt assistance. Troubleshooting guides address common issues.
The documentation includes API references, tutorials, and code examples for all features. Changelogs track updates and milestones highlight major releases. For migration support, see guides comparing Aspose, iText, Syncfusion, and other competitors.
What Does CraftMyPdf Offer for Documentation and Support?
CraftMyPDF offers API documentation detailing endpoints, parameters, and examples. Guides cover template creation, API requests, and response handling. Support is available through email and community forums for questions and insights.
Which PDF Solution Should I Choose?
Both IronPDF and CraftMyPDF offer capable PDF generation solutions with distinct approaches. CraftMyPDF excels with its visual template designer and cloud-based processing, while IronPDF provides complete programmatic control through HTML rendering.
IronPDF stands out with its extensive feature set for complex document requirements. It converts HTML, URLs, and files to PDFs while supporting advanced features like digital signatures, form handling, and document editing. The self-contained deployment without external dependencies ensures reliable operation across platforms.
The licensing models differ significantly. IronPDF's perpetual licenses start at $799 with a free trial for evaluation. The Iron Suite bundle offers nine products for the price of two, providing exceptional value for complete document management needs.
For developers requiring full control over PDF generation with rich HTML/CSS support, advanced document manipulation, and predictable costs, IronPDF delivers a reliable solution. Its extensive documentation, responsive support, and flexible deployment options make it suitable for applications ranging from simple document generation to complex enterprise workflows.
CraftMyPDF is a registered trademark of its respective owner. This site is not affiliated with, endorsed by, or sponsored by CraftMyPDF. All product names, logos, and brands are property of their respective owners. Comparisons are for informational purposes only and reflect publicly available information at the time of writing.Frequently Asked Questions
What are the advantages of using a C# PDF library over an API-based solution?
A comprehensive PDF library like IronPDF offers extensive features, seamless integration with .NET development environments, robust support, and cost-effective licensing options, making it a superior choice for complex document handling.
How can I convert HTML content into a PDF document using C#?
You can use IronPDF to convert HTML content into PDF documents. It supports HTML5 and CSS3, ensuring that web content is accurately rendered in the generated PDFs.
What features are highlighted in IronPDF for PDF generation?
IronPDF offers digital signatures, form filling, PDF editing, annotations, and cross-platform compatibility. It excels in converting HTML, URLs, and images into PDFs with robust performance and optimization.
How does CraftMyPDF handle PDF template design?
CraftMyPDF offers a web-based drag-and-drop editor that allows users to design PDF templates without the need for coding. It supports JSON data integration, enabling the creation of customized PDF documents.
What licensing options are available for PDF tools like IronPDF?
IronPDF provides flexible licensing options, including Lite, Professional, and Enterprise licenses with a one-time fee. It also offers a free trial for new users to explore its features.
How can I integrate a PDF generation API into my C# application?
To integrate a PDF generation API like CraftMyPDF, you need to create an account, select an appropriate plan, obtain an API key, and use libraries such as System.Net.Http and RestSharp to make API calls.
What support resources are available for developers using IronPDF?
IronPDF provides extensive documentation, tutorials, and 24/5 technical support. These resources help developers effectively implement and troubleshoot the library in their projects.
How do I install IronPDF in a C# application?
IronPDF can be installed via the NuGet Package Manager in Visual Studio, by using the NuGet Package Manager Console, or by downloading the package directly from the NuGet website.
How does IronPDF enhance PDF document security and interactivity?
IronPDF supports features like digital signatures and form handling, which enhance document security and interactivity, making it suitable for comprehensive PDF management.








