CraftMyPDF対IronPDF: C#開発者に最適なPDF生成ライブラリはどちらか?
IronPDFは、完全なCSS/ JavaScriptサポートと749ドルからの永久ライセンスを備えたコードファーストのHTMLからPDFへの変換を提供しますが、CraftMyPDFはJSON統合を備えたクラウドベースのテンプレートデザインを提供しますが、継続的なサブスクリプションとAPIへの依存が必要です。
CraftMyPDF は、JSON データ統合機能を備えたクラウドベースのドラッグ アンド ドロップ テンプレート デザイナーを提供し、 IronPDF は、ドキュメント生成を完全に制御したい.NET開発者向けに、完全な CSS/ JavaScriptサポートを備えたコード ファーストのHTML から PDF への変換を提供します。
PDF (Portable Document Format)は、Adobe が文書交換用に開発したファイル形式です。 デバイス間で書式、フォント、画像が保持され、一貫した外観が確保されます。 PDF は、セキュリティ機能、インタラクティブ性、圧縮をサポートしているため、信頼性の高いドキュメント共有に最適です。
C# PDF ライブラリを使用すると、開発者はプログラムによって PDF のコンテンツを作成、変更、抽出できます。 これらのツールは、フォーム処理、デジタル署名、およびクロスプラットフォーム展開をサポートします。 PDF ライブラリを統合することで、開発者はアプリケーションにドキュメント生成機能を直接追加し、 PDF の作成、編集、管理のワークフローを簡素化できます。
この記事では、 IronPDF C# ライブラリとCraftmypdf APIという 2 つの異なる PDF 生成アプローチを比較します。 比較では、機能を確認し、コード例を示し、ライセンス オプションについて説明します。
CraftMyPDF APIベースソリューションとは何ですか?

CraftMyPDF は、テンプレートを使用して PDF を作成するためのクラウドベースの API です。 コーディングなしで再利用可能なテンプレートを設計するための Web ベースのドラッグ アンド ドロップ エディターを提供します。 プラットフォームはこれらのテンプレートを JSON データと結合して PDF を生成し、請求書、レポート、証明書などのドキュメントの動的なコンテンツ生成をサポートします。
CraftMyPDFの主な機能は何ですか?
1.ドラッグ アンド ドロップ エディター:コーディングの知識を必要としないビジュアル テンプレート デザイナー。
2.テンプレートの再利用性:一度設計すれば、さまざまなデータ セットで繰り返し使用できます。
- JSON データ統合: JSON を介して動的データをテンプレートとマージします。
4.高度な書式設定と式:日付、数値、通貨を動的に書式設定します。
- API 統合: REST API は、Zapier、Make.com、カスタム アプリケーションをサポートします。
6.入力可能なコンポーネント:テキスト フィールドとチェックボックスを使用してインタラクティブなフォームを作成します。
7.セキュリティとコンプライアンス:地域 API エンドポイントと GDPR コンプライアンスによる安全な PDF アクセス。
IronPDFとは何ですか?
.NET開発者向けIronPDF PDF ライブラリは、 .NETアプリケーション用の完全な PDF ライブラリです。 C# で記述されており、 HTML 、 CSS 、 JavaScript 、および画像からピクセルパーフェクトな PDFを生成します。 IronPDF は、.NET環境内での作成、編集、管理のための広範な機能を提供することで、PDF ワークフローを簡素化します。
IronPDF の主な機能は何ですか?
-
HTML から PDF への変換:ピクセル単位の精度でHTML、CSS、 JavaScript をPDF に変換します。
- URL から PDF:コンテンツとレスポンシブなスタイルを保持しながら、任意の URL から PDF を生成します。
3.画像から PDF:マルチフレーム TIFF をサポートするPDF ドキュメントにJPG、PNG、GIF、BMP、SVG を変換します。
4.フォームの入力とデータ抽出:カスタム検証を使用してプログラムでPDF フォームを作成し、入力します。
5.デジタル署名とセキュリティ: HSM サポートを使用して、デジタル署名、パスワード、および権限を追加します。
- PDF 編集:ページを追加、コピー、または削除します。 ページ回転機能を使用してPDF を結合および分割します。
7.注釈と添付ファイル:付箋を追加し、カスタム メタデータを使用して添付ファイルを埋め込みます。
8.ヘッダー、フッター、透かし: HTML テンプレートを使用して、カスタムヘッダー、フッター、透かしを適用します。
9.クロスプラットフォームの互換性: Windows 、 macOS 、 Linux 、 Docker 、 Azure 、 AWSで動作します。
10.パフォーマンスの最適化:並列処理による大量生成のためのマルチスレッドと非同期サポート。
11.完全なドキュメント:広範なガイド、チュートリアル、および24 時間 365 日のテクニカル サポート。
12.外部依存関係なし:ネイティブ レンダリング エンジンを使用し、追加のソフトウェア要件なしで単一の DLL を展開します。
Visual Studio で C# アプリケーションを作成するにはどうすればよいですか?
C# コンソール アプリケーションを作成するには、コンピューターに Visual Studio がインストールされている必要があります。 プロジェクトを設定するには、次の手順に従います。
Visual Studio を開くにはどうすればいいですか?
スタート メニューまたはデスクトップ アイコンから Visual Studio を起動します。
新しいプロジェクトを作成するにはどうすればよいですか?
- スタートページで"新しいプロジェクトの作成"をクリックします。
- "コンソール アプリ"を検索するか、テンプレート リストから選択します。
プロジェクト テンプレートを選択するにはどうすればよいですか?
要件に応じて、 "コンソール アプリ (.NET Core)"または"コンソール アプリ (.NET Framework)"を選択します。 .NET MAUIサポートの場合は、適切な MAUI テンプレートを選択します。
プロジェクトを構成するにはどうすればよいですか?
1.プロジェクト名:プロジェクト名を入力します 2.場所:保存ディレクトリを選択します 3.ソリューション名:通常はプロジェクト名と一致する
- "作成"をクリックして続行します
どのようにIronPDFをインストールしますか?
IronPDFには、 NuGetパッケージ マネージャー、パッケージ マネージャー コンソール、直接ダウンロードの 3 つのインストール方法があります。 このライブラリは、Windows 、 macOS 、 Linux 、クラウド デプロイメントをサポートしています。
NuGetパッケージ マネージャーを使用するにはどうすればよいですか?
Visual Studio で、ソリューション エクスプローラーの"参照"または"依存関係"を右クリックします。 " NuGetパッケージの管理"を選択し、"IronPDF"を検索して、"インストール"をクリックします。

NuGetパッケージ マネージャー コンソールを使用するにはどうすればよいですか?
ツール > NuGetパッケージ マネージャー > パッケージ マネージャー コンソールを開き、次を実行します。
Install-Package IronPdf
NuGet Web サイトからダウンロードするにはどうすればいいですか?
NuGet Web サイトにアクセスし、パッケージ ファイルをダウンロードして、Visual Studio でパッケージ ソースとして追加します。 Docker デプロイメントの場合は、特定のコンテナ構成を使用します。
詳細なガイダンスについては、インストールの概要と高度なNuGet構成を参照してください。
CraftMyPDF はどのように使用すればよいですか?
CraftMyPDF を統合するには、アカウントを作成し、プランを選択して、API 認証情報を取得してください。
アカウントを作成して無料プランを選択するにはどうすればよいですか?
1.サインアップ: CraftMyPDFのウェブサイトで登録する 2.無料プランを選択:開発とテスト用の無料プランを選択します
- APIキーの取得:アカウントダッシュボードからAPIキーにアクセスします

どのようなライブラリをインストールする必要がありますか?
.NET 、 RestSharp 、および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 クライアントを初期化します。
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 を作成するにはどうすればよいですか?
どちらのライブラリも、PDF 生成に対して異なるアプローチを提供します。 IronPDF はコードベースのHTML レンダリングを使用しますが、CraftMyPDF はデータバインディングを使用したビジュアルテンプレートを使用します。 IronPDF は、 Markdown から PDF への変換とXML から PDF への変換もサポートしています。
IronPDFで PDF を作成するにはどうすればいいですか?
HTML を PDF に変換するにはどうすればよいですか?
完全なCSS サポートとJavaScriptレンダリングを使用して HTML 文字列を直接 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");
}
}
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

その他の例については、 HTML から PDF への例のページをご覧ください。 開発者は、カスタム余白を設定したり、改ページを追加したり、用紙サイズを構成したりすることもできます。
URL を PDF に変換するにはどうすればよいですか?
WebGL コンテンツやレスポンシブ CSSを含むすべてのスタイルを保持しながら、Web ページを 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");
}
}
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 から PDF への変換について詳しくは、こちらをご覧ください。 認証されたページについては、 "TLS ウェブサイトのログインとHTTP 要求ヘッダー"を参照してください。
HTML ファイルを PDF に変換するにはどうすればよいですか?
CSS メディア タイプとベース URLをサポートして、ローカル HTML ファイルを 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");
}
}
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
詳細については、 HTML ファイルから PDF へのガイドを参照してください。 HTML ZIP ファイルの場合、 IronPDF は自動的に抽出を処理します。
CraftMyPDF API を使用して PDF を作成するにはどうすればよいですか?
CraftMyPDF 最初にテンプレートを作成し、次にデータをマージして PDF を生成する必要があります。
テンプレートを作成するにはどうすればよいですか?
1.ダッシュボードにログインします: CraftMyPDF アカウントにアクセスします
2.新しいテンプレートを作成する:ドラッグアンドドロップエディタを使用してデザインします
3.テンプレートを保存: API呼び出し用のテンプレートIDを取得する

PDF 生成のリクエストを送信するにはどうすればよいですか?
JSON データをテンプレートに送信して PDF を生成します。
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

生成されたPDF出力:

Bootstrap を使用してプロフェッショナルな請求書を生成するにはどうすればよいでしょうか?
IronPDF は、外部依存なしに最新のフレームワークをレンダリングします。 この Bootstrap 5 の例では、レスポンシブ デザインと印刷 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");
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")
出力: Bootstrap 5 グラデーション ヘッダー、レスポンシブ テーブル、計算概要を含むプロフェッショナルな請求書 PDF。 IronPDFはすべてのCSSグラデーション、テーブルスタイリング、ユーティリティクラスを完璧な精度でレンダリングします。外部APIコールなし、テンプレートなし、インターネット接続不要です。 CraftMyPDFのクラウドベースのアプローチとは異なり、IronPDFはサーバー上で即座に請求書を生成し、完全に制御します。
コードは何をするのでしょうか?
RestClientの設定:CraftMyPDFAPI エンドポイントを使用してクライアントを初期化します 2.ヘッダーを追加:認証用のAPIキーとコンテンツタイプを含める 3.リクエストボディの準備:テンプレートデータとオプションを含むJSONオブジェクトを作成する 4.リクエストの送信: API呼び出しを実行してPDFを生成する 5.応答の処理:生成されたPDFをダウンロードするか、エラーメッセージを表示する
技術系創業者にとって重要な違いは何でしょうか?
テンプレートベースのアプローチとコードファーストのアプローチを比較するとどうなりますか?
テンプレートベース (CraftMyPDF):
- 技術系以外のチームメンバーでもテンプレートを作成および変更できます
- テンプレートはクラウドダッシュボードで一元管理されます
- テンプレートの変更にはコードの展開は必要ありません
- テンプレート設計の制約によって制限される
- 予測可能なレイアウトを持つ標準化されたドキュメントに最適
コードファースト (IronPDF):
- HTMLとCSSを使用したドキュメントレイアウトの完全な制御
- JavaScriptサポートにより動的なグラフや計算が可能
- テンプレートはバージョン管理されたコードベースの一部です
- あらゆるWebテクノロジーで無制限のデザイン柔軟性
- プログラムロジックを必要とする複雑で動的なドキュメントに最適
Razorテンプレートの場合、 IronPDF はMVC Core 、 MVC Framework 、およびRazor Pagesにわたってネイティブ サポートを提供します。
異なる規模でのコストへの影響は何ですか?
CraftMyPDF コスト構造:
- 無料利用枠: 50 API 呼び出し/月、テンプレートの制限は 3 つ
- 有料プランは月額料金が高くなります
- PDF 1 枚あたりのコストは量に応じて比例して増加します
- 継続的な月額/年額サブスクリプション料金
- プレミアム機能には追加料金がかかります
IronPDFのコスト構造:
- 完全評価のための無料トライアル
- $999 から始まる1回限りの永久ライセンス
- PDFごとのコストや使用制限はありません
- 1年間のアップデートとサポートが含まれています
- SaaS製品のOEM再配布オプション
毎月 1,000 枚以上の PDF を処理するアプリケーションの場合、IronPDF の永久ライセンスは継続的な料金なしで予測可能なコストを提供します。 ライセンス計算ツールは、総所有コストを見積もるのに役立ちます。 成長するチームのためにアップグレードと拡張を検討してください。
開発ワークフローはどのように違うのでしょうか?
CraftMyPDF ワークフロー:
- デザイナーがWebインターフェースでテンプレートを作成する
- 開発者がJSONフィールドをテンプレートにマッピングする
- API統合には認証設定が必要
- テストにはAPI呼び出しとクレジットの使用が必要です
- テンプレートの更新はコードのデプロイメント外で行われる
IronPDFワークフロー:
- 開発者はコードでHTML/CSSテンプレートを記述する
- API制限のないローカルテスト
- テンプレートはアプリケーションコードとともにデプロイされます
- バージョン管理はすべての変更を追跡します
- 自動テストのためのCI/CD統合
IronPDF の自己完結型アプローチにより、迅速な開発に不可欠な反復サイクルの高速化とオフライン開発が可能になります。 ライブラリは、デバッグ用のカスタム ログおよびレンダリング オプションをサポートしています。
データのプライバシーとコンプライアンスはどうですか?
CraftMyPDF データ処理:
- クラウドサーバーで処理される文書
- インターネット経由のデータ転送が必要
- コンプライアンスのための地域エンドポイント
- 一時ファイル保存ポリシー
- サードパーティのデータ処理契約
IronPDFデータ処理:
- オンプレミス処理によりデータがローカルに保持される
- 外部API呼び出しやインターネット要件なし
- ドキュメントのセキュリティを完全に制御
- HIPAAおよびGDPRに準拠した展開
- 機密データの暗号化オプション
機密性の高い顧客データを扱うアプリケーションの場合、IronPDF のローカル処理により、サードパーティのプライバシーに関する懸念が解消されます。 デジタル署名とパスワード保護により、追加のセキュリティ層が提供されます。 このライブラリは、コンプライアンスのためにPDF/AおよびPDF/UA標準もサポートしています。
新しいドキュメント タイプをどれくらい早く追加できますか?
CraftMyPDF タイムライン:
- テンプレートのデザイン: 複雑さに応じて1~4時間
- フィールドマッピングとテスト: 1~2時間
- デザイナーの空き状況によります
- テンプレート承認ワークフローにより遅延が発生する可能性がある
- エディタの機能によって制限される
IronPDFタイムライン:
- HTMLテンプレートの作成: 30分~2時間
- Bootstrapのような既存のWebフレームワークを使用する
- ドキュメント間でCSSスタイルシートを再利用する
- ローカルでテストして即時フィードバックを得る
- 定期的なリリースで新しいドキュメントタイプを展開
IronPDF のコードファースト アプローチにより、特に既存の Web アセットとフレームワークを使用する場合、新しいドキュメント タイプの市場投入までの時間が短縮されます。 ライブラリは、柔軟性を高めるために、 RTF から PDF 、 DOCX から PDF 、およびMarkdown から PDF への変換をサポートしています。
ライセンスオプションは何ですか?

IronPDF は、一回限りの料金で永続ライセンスを提供します。 Liteライセンス ($999) は、1 つのプロジェクトで 1 人の開発者をサポートします。 Professionalライセンス($1,499)は、複数のプロジェクトと開発者を対象としています。 Enterpriseライセンス($2,999)は、大規模な展開ニーズを持つ大規模チーム向けです。 各ライセンスには 1 年間のサポートとアップデートが含まれています。 OEM 再配布ライセンスにより商用配布が可能になります。 評価用に無料トライアルをご利用いただけます。 完全なライセンス オプションを表示します。
CraftMyPDF はサブスクリプションベースの料金体系を使用しています。 無料利用枠は、API 呼び出しが制限された開発およびテストに適しています。 有料プランでは、使用制限が引き上げられ、機能が追加され、ビジネスニーズに合わせて拡張できます。 購読はCraftMyPDFダッシュボードを通じて管理されます。
どのようなドキュメントとサポートが利用可能ですか?
IronPDF はドキュメントとサポートとして何を提供していますか?
IronPDF は、詳細なガイド、例、クイックスタート セクションを含む完全なドキュメントを提供します。 リソースには、基本的な使用方法から高度な構成までが記載されています。 サポートチャネルには、ナレッジベース、メールサポート、およびエンジニアリングサポートリクエストが含まれます。 サポート チームは迅速なサポートを提供するために24 時間 365 日体制で稼働しています。 トラブルシューティング ガイドでは、一般的な問題について説明します。
ドキュメントには、すべての機能のAPI リファレンス、チュートリアル、コード例が含まれています。 変更ログは更新を追跡し、マイルストーンは主要なリリースを強調表示します。 移行サポートについては、 Aspose 、 iText 、 Syncfusion 、およびその他の競合製品を比較したガイドを参照してください。
CraftMyPdf は、ドキュメントとサポートに関してどのようなサービスを提供していますか?
CraftMyPDF は、エンドポイント、パラメータ、および例を詳述した API ドキュメントを提供します。 ガイドでは、テンプレートの作成、API リクエスト、応答の処理について説明します。 質問やご意見については、電子メールやコミュニティ フォーラムを通じてサポートをご利用いただけます。
どの PDF ソリューションを選択すればよいですか?
IronPDFとCraftMyPDFはどちらも、それぞれ異なるアプローチで、優れたPDF生成ソリューションを提供しています。 CraftMyPDF はビジュアルテンプレートデザイナーとクラウドベースの処理で優れていますが、 IronPDF はHTML レンダリングによる完全なプログラム制御を提供します。
IronPDF は、複雑なドキュメント要件に対応する広範な機能セットを備えています。 デジタル署名、フォーム処理、ドキュメント編集などの高度な機能をサポートしながら、HTML 、 URL 、ファイルをPDF に変換します。 外部依存関係のない自己完結型の展開により、プラットフォーム間での信頼性の高い操作が保証されます。
ライセンス モデルは大きく異なります。 IronPDFの永久ライセンスは$999から始まり、評価用の無料トライアルも利用できます。 Iron Suiteバンドルは、2 つの価格で 9 つの製品を提供し、完全なドキュメント管理のニーズに優れた価値を提供します。
豊富なHTML/CSS サポート、高度なドキュメント操作、予測可能なコストによる PDF 生成の完全な制御を必要とする開発者にとって、 IronPDF は信頼性の高いソリューションを提供します。 豊富なドキュメント、迅速なサポート、柔軟な導入オプションにより、単純なドキュメント生成から複雑なエンタープライズ ワークフローに至るまで、さまざまなアプリケーションに適しています。
CraftMyPDF は、それぞれの所有者の登録商標です。 このサイトは、CraftMyPDF と提携、承認、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。よくある質問
APIベースのソリューションよりもC# PDFライブラリを使う利点は何ですか?
.NET開発環境とシームレスに統合できる拡張機能を提供し、強力なサポートとコスト効果の高いライセンスオプションを備えた包括的なPDFライブラリであるIronPDFは、複雑な文書処理に優れているとされています。
C#を使用してHTMLコンテンツをPDFドキュメントに変換するにはどうすればいいですか?
IronPDFを使用してHTMLコンテンツをPDF文書に変換できます。HTML5とCSS3をサポートしており、生成されたPDFでWebコンテンツが正確にレンダリングされることを保証します。
PDF生成においてIronPDFの注目すべき機能は何ですか?
IronPDFはデジタル署名、フォーム入力、PDF編集、注釈、クロスプラットフォーム互換性を提供します。HTML、URL、画像をPDFに変換するのに優れた性能と最適化を実現しています。
CraftMyPDFはPDFテンプレート設計をどのように扱いますか?
CraftMyPDFは、ユーザーがコードを書く必要なくPDFテンプレートを設計できるウェブベースのドラッグ&ドロップエディターを提供します。これはJSONデータ統合をサポートし、カスタマイズされたPDFドキュメントの作成を可能にします。
IronPDFのようなPDFツールにはどのようなライセンスオプションがありますか?
IronPDFは柔軟なライセンスオプションを提供しており、Lite、Professional、およびEnterpriseライセンスには一度限りの料金があります。また、機能を探索できる無料トライアルも新規ユーザーに提供しています。
C#アプリケーションにPDF生成APIを統合するにはどうすればいいですか?
CraftMyPDFのようなPDF生成APIを統合するには、アカウントを作成し、適切なプランを選び、APIキーを取得し、System.Net.HttpやRestSharpのようなライブラリを使用してAPIコールを行う必要があります。
IronPDFを使用する開発者向けにどのようなサポートリソースがありますか?
IronPDFは広範な文書、チュートリアル、24/5の技術サポートを提供しています。これらのリソースは、開発者がプロジェクトでライブラリを効率的に実装しトラブルシューティングするのに役立ちます。
C#アプリケーションにIronPDFをインストールするにはどうすればいいですか?
IronPDFはVisual StudioのNuGetパッケージマネージャーを使用してインストールできます。または、NuGetパッケージマネージャーコンソールを使用するか、NuGetウェブサイトから直接パッケージをダウンロードすることも可能です。
IronPDFはPDFドキュメントのセキュリティとインタラクティブ性をどのように強化しますか?
IronPDFはデジタル署名やフォーム処理の機能をサポートし、文書のセキュリティとインタラクティブ性を向上させ、包括的なPDF管理に適しています。



