
C++でPDFをPDFAに変換する方法
C# PDF ライブラリを評価するエンジニアリング マネージャーにとって、 IronPDF は開発時間を短縮し、完全な機能を提供することで、最高の投資収益率を実現します。 対照的に、PDFSharp などのオープンソース オプションは、初期コストが低く、基本的なプログラムのニーズに適しています。
最新 for .NETアプリケーションで PDF ドキュメントを操作することはますます重要になっています。 請求書を生成したり、レポートを変換したり、フォームを Web アプリケーションに統合したりする場合には、信頼性の高い C# PDF ライブラリが必要です。 さまざまなオプションが利用可能ですが、プロジェクトに最適な PDF ライブラリはどれでしょうか?
この記事は、IronPDFと人気の選択肢であるiText、PDFSharp、Aspose、Syncfusion、QuestPDFなどを比較します。 .NET PDFライブラリそれぞれがPDF生成、HTMLからPDFへの変換、編集、その他の主要機能をどのように処理するかを学べます。 比較では、ライセンス、パフォーマンス、使いやすさについて取り上げ、適切な決定を下すのに役立ちます。
なぜC# PDFライブラリが必要なのですか?
特定の製品を検討する前に、PDF ファイルに C# ライブラリが必要な理由を検討してください。
-
CSSおよびJavaScriptサポートを伴ったHTMLからPDFへの変換。
PDF ライブラリは使いやすく、コードが最小限で済み、高品質のレンダリングを提供する必要があります。 クラウドデプロイメントのため、AzureデプロイメントおよびAWS Lambda統合に関するガイドを探る。
あなたのチームにとって最も重要な PDF ライブラリ機能はどれですか?
| ライブラリ | HTMLからPDFへ | JSサポート | PDF編集 | ライセンス | 最適なユースケース |
|---|---|---|---|---|---|
| IronPDF | あり | Full | Yes | Commercial | 動的コンテンツを備えたWebアプリ |
| iText | あり | Limited | Yes | Commercial | エンタープライズコンプライアンスと静的HTML |
PDFSharp / MigraDoc | いいえ | N/A | Partial | オープンソース | プログラムによるPDF作成とカスタムレイアウト |
| Aspose.PDF | あり | Partial | Yes | Commercial | エンタープライズオートメーションと多形式変換 |
| Syncfusion PDF | あり | Partial | Yes | Commercial | レポートとダッシュボード |
| QuestPDF | いいえ | N/A | Yes | オープンソース | 構造化されたプログラムPDF |
wkhtmltopdf (DinkToPdf) | あり | Limited | いいえ | オープンソース | 静的HTMLからPDFへの変換 |
この表は、各ライブラリのコアとなる強みを簡単にまとめたもので、HTML/JS のサポート、編集機能、ライセンスに基づいて適切なツールを特定するのに役立ちます。 次のセクションでは、各ライブラリが HTML から PDF への変換や一般的な PDF 作成などの基本的なタスクをどのように処理するかについて説明します。
IronPDFとは何ですか? いつ使用すべきですか?
IronPDFはモダンで商業向け for .NET PDFライブラリで、PDF作業を簡単で効果的に行えるように設計されています。手動での描画や低レベルのAPIを必要とするライブラリとは異なり、IronPDFは実世界のユースケースに焦点を当てています:HTMLからPDFへの変換、PDFの編集、レポート生成を最小のコードで行います。 実装により、特にコンテンツが HTML 内に存在する Web アプリケーションでは、複雑さが自動的に処理されます。 IronPDF は、Windows、 .NET Framework、 .NET Core、Docker などのコンテナー化されたプラットフォーム上で実行されるため、オンプレミスおよびクラウドの展開に柔軟に対応できます。
あなたのチームがIronPDFを選ぶべき理由は何ですか?
-
HTMLからPDFへの変換、完全なCSSおよびJavaScriptのサポート。
-
非同期サポートによるパフォーマンス改善。
-
Deploy cross-platform: .NET Framework, .NET Core, Docker, Azure, Linux.
IronPDF は複雑な Web コンテンツをどのように処理しますか?
IronPDFのHTMLコンテンツの取り扱いを示すために、複雑なCSSやJavaScriptが含まれるURL変換の例を考えてみてください:
using IronPdf;
class Program
{
static void Main()
{
// Initialize the Chrome PDF renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options for optimal output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000); // Wait 3 seconds for JS execution
// Set page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 10; // millimeters
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
// Convert URL to PDF
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_170___");
// Save the PDF document
pdf.SaveAs("output.pdf");
// Optional: Add metadata
pdf.MetaData.Title = "Wikipedia Main Page";
pdf.MetaData.Author = "IronPDF Example";
pdf.MetaData.Subject = "URL to PDF Conversion";
}
}Imports IronPdf
Module Program
Sub Main()
' Initialize the Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()
' Configure rendering options for optimal output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.JavaScript(3000) ' Wait 3 seconds for JS execution
' Set page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 10 ' millimeters
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 10
renderer.RenderingOptions.MarginRight = 10
' Convert URL to PDF
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_170___")
' Save the PDF document
pdf.SaveAs("output.pdf")
' Optional: Add metadata
pdf.MetaData.Title = "Wikipedia Main Page"
pdf.MetaData.Author = "IronPDF Example"
pdf.MetaData.Subject = "URL to PDF Conversion"
End Sub
End Moduleどのような結果が期待できますか?

IronPDF は最小限のコードで、複雑な CSS レイアウトと動的なJavaScriptコンテンツをレンダリングする高忠実度の PDF を生成します。 ライブラリのChromeレンダリングエンジンは、現代のブラウザにマッチするピクセルパーフェクトな出力を保証します。 あなたのアプリケーションはこの機能をすぐに利用し、クッキー、HTTPヘッダー、または認証の処理に役立てることができます。
結論: IronPDF は、優れた HTML/CSS/JS レンダリングとプロフェッショナルなサポートを備えた、使いやすく高性能な PDF 生成に最適です。 デモを見て、実際に動作するか確認してください。
PDF ライブラリは Bootstrap と最新の CSS フレームワークをどのように処理しますか?
Bootstrapや現代のCSSフレームワークを利用したアプリケーションでC# PDFライブラリを選択する際、フレームワークの互換性がデザインが正確に変換されるか、修正が必要かを決定します。 このアプローチは、レスポンシブデザインパターンを使用するチームに明確な利点を提供します。
Bootstrap にとって Chromium ベースのレンダリングが重要な理由
IronPDFのChromiumエンジンは以下を完全にサポートします。
- **Bootstrap 5:**完全なフレックスボックスレイアウト、CSSグリッド、ユーティリティクラス、すべてのコンポーネント
- **Bootstrap 4:**フルカードシステム、ナビゲーション、Flexユーティリティ、レスポンシブデザイン
- **Tailwind CSS:**ブラウザに忠実なレンダリングを実現するすべてのユーティリティクラス -**基盤:**完全なグリッドシステムとコンポーネントのサポート -モダン CSS3: Flexbox、CSS グリッド、カスタム プロパティ、アニメーション、トランジション
実際の検証: IronPDF は、 Bootstrap ホームページと公式例をピクセル単位の精度でレンダリングします。 ライブラリは、Google Fonts、SVGグラフィック、およびカスタムフォントなどを含む複雑さを管理します。
どのようなブートストラップの制限を予想すべきでしょうか?
iText: 制限されたflexboxサポート(v7.1.15で追加)、CSS Gridなし、Bootstrap 3の制限、モダンコンポーネントでの迂回策が必要です。
**PDFSharp および MigraDoc:**ネイティブ HTML レンダリングなし。手動による PDF 構築のみ、Bootstrap はサポートされていません。
**Aspose.PDF:**約 90% の CSS3 サポート、部分的なフレックスボックスを備えたカスタム エンジン。Bootstrap コンポーネントの広範なテストが必要です。
Syncfusion PDF: flexbox/CSS グリッドのない WebKit ベースのエンジン、Bootstrap 3 が最大、セキュリティ問題あり (最終更新 2016 年)。
**QuestPDF:**手動レイアウト用の Fluent API (HTML/CSS レンダリングなし、Bootstrap サポートなし)。
開発への影響: Chromium 以外のライブラリでは並列の"PDF セーフ"レイアウトが必要なため、開発時間が大幅に長くなり、デザインの一貫性が低下します。
iTextとは何で、いつ使用するべきですか?
iTextは、PDFの生成、編集、セキュリティを提供する信頼性があり、エンタープライズ対応のC# PDFライブラリです。 この実装はPDF/A、デジタル署名、マスキング、および金融、法務、およびエンタープライズアプリケーション向けのコンプライアンスに関するワークフローを扱います。 iTextはHTMLからのPDF変換を扱いますが、JavaScriptをネイティブに実行せず、動的コンテンツに対する事前処理が必要です。 バージョン 7.1.15 では限定的な flexbox サポートが追加されましたが、多くの CSS3 機能はサポートされていないままです。 当社のiText vs IronPDF比較をご覧ください。
iTextがエンタープライズアプリケーションに適している理由は何ですか?
-
プログラム的にPDFを生成および編集します。
-
エンタープライズアプリケーションにおける高性能なPDF生成。
-
HTMLからPDFへの変換(静的HTMLとCSSのみ)。
iTextはURLをPDFにどのように変換しますか?
using iText.Html2pdf;
using System.Net.Http;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var url = "___PROTECTED_URL_171___";
// Create HTTP client with browser-like settings
using var client = new HttpClient();
// Add user agent to avoid 403 Forbidden responses
client.DefaultRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " +
"(KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36");
// Add timeout for reliability
client.Timeout = TimeSpan.FromSeconds(30);
// Fetch HTML content
string htmlContent = await client.GetStringAsync(url);
// Configure conversion properties
var converterProperties = new ConverterProperties();
converterProperties.SetBaseUri(url); // Important for resolving relative URLs
// Create PDF from HTML
using var fileStream = new FileStream("itext7-output.pdf", FileMode.Create);
HtmlConverter.ConvertToPdf(htmlContent, fileStream, converterProperties);
Console.WriteLine("PDF created successfully!");
}
}Imports iText.Html2pdf
Imports System.Net.Http
Imports System.IO
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim url = "___PROTECTED_URL_171___"
' Create HTTP client with browser-like settings
Using client As New HttpClient()
' Add user agent to avoid 403 Forbidden responses
client.DefaultRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " &
"(KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36")
' Add timeout for reliability
client.Timeout = TimeSpan.FromSeconds(30)
' Fetch HTML content
Dim htmlContent As String = Await client.GetStringAsync(url)
' Configure conversion properties
Dim converterProperties As New ConverterProperties()
converterProperties.SetBaseUri(url) ' Important for resolving relative URLs
' Create PDF from HTML
Using fileStream As New FileStream("itext7-output.pdf", FileMode.Create)
HtmlConverter.ConvertToPdf(htmlContent, fileStream, converterProperties)
End Using
Console.WriteLine("PDF created successfully!")
End Using
End Function
End ModuleiTextのHTMLレンダリングの制約は何ですか?

このコードは HTML コンテンツを取得して PDF に変換します。 結果では、ページレイアウト、テキスト、画像、CSS スタイルが保持されますが、動的なJavaScriptコンテンツはレンダリングされません。 JavaScriptが多く含まれるページについては、IronPDFのJavaScriptレンダリングの使用を検討するか、カスタムレンダリング遅延を実装してください。
判決: iTextは、エンタープライズPDF生成と編集で、強力なコンプライアンスサポートと静的HTMLからのPDF変換において優れています。 JavaScriptまたは高度な CSS の場合は、 IronPDFまたは wkhtmltopdf を検討してください。
PDFSharp & MigraDocとは何で、いつ使用すべきですか?
PDFSharpとMigraDocは、プログラムでPDFを作成するための無料オープンソースのC# PDFライブラリです。 PDFSharpは低レベルのPDF生成を処理し、一方MigraDocはテーブル、パラグラフ、マルチページドキュメント用の高レベルのレイアウトAPIを提供します。 これらのライブラリは HTML から PDF への変換を提供しないため、コード内でドキュメント構造を完全に制御する必要がある場合に最適です。 プログラムでの描画については、線と矩形の描画およびテキストとビットマップの描画に関するガイドをご覧ください。
シンプルな PDF 生成に PDFSharp を選ぶ理由
-
無料でオープンソース(MITライセンス)。
-
テキスト、画像、表を含む PDF をプログラムで作成します。
-
MigraDocを使用したマルチページレイアウトのサポート。 -
軽量で簡単に統合できます。
-
描画と配置を完全に制御します。
-
Works on .NET Framework and .NET Core.
PDFSharp を使用してプログラムで PDF を作成するにはどうすればよいですか?
using PdfSharp.Drawing;
using PdfSharp.Fonts;
using PdfSharp.Pdf;
using static System.Net.Mime.MediaTypeNames;
class Program
{
static void Main()
{
// Configure font resolver for cross-platform compatibility
GlobalFontSettings.UseWindowsFontsUnderWindows = true;
// Create a new PDF document
var document = new PdfDocument();
document.Info.Title = "PDFSharp Example";
document.Info.Author = "Your Team";
document.Info.Subject = "Demonstrating PDFSharp capabilities";
// Add a page to the document
var page = document.AddPage();
page.Size = PdfSharp.PageSize.A4;
page.Orientation = PdfSharp.PageOrientation.Portrait;
// Create graphics object for drawing
var gfx = XGraphics.FromPdfPage(page);
// Draw text at specific coordinates
var font = new XFont("Verdana", 20, XFontStyleEx.Regular);
gfx.DrawString("Hello from PDFSharp!", font, XBrushes.Black,
new XPoint(50, 100));
// Add more content - a rectangle
var pen = new XPen(XColors.Navy, 2);
gfx.DrawRectangle(pen, XBrushes.LightBlue, 50, 150, 200, 100);
// Add text inside rectangle
var smallFont = new XFont("Arial", 12, XFontStyleEx.Regular);
gfx.DrawString("Custom drawing example", smallFont, XBrushes.DarkBlue,
new XPoint(60, 200));
// Save the document
document.Save("pdfsharp-example.pdf");
Console.WriteLine("PDF created with PDFSharp!");
}
}Imports PdfSharp.Drawing
Imports PdfSharp.Fonts
Imports PdfSharp.Pdf
Imports System.Net.Mime.MediaTypeNames
Module Program
Sub Main()
' Configure font resolver for cross-platform compatibility
GlobalFontSettings.UseWindowsFontsUnderWindows = True
' Create a new PDF document
Dim document As New PdfDocument()
document.Info.Title = "PDFSharp Example"
document.Info.Author = "Your Team"
document.Info.Subject = "Demonstrating PDFSharp capabilities"
' Add a page to the document
Dim page = document.AddPage()
page.Size = PdfSharp.PageSize.A4
page.Orientation = PdfSharp.PageOrientation.Portrait
' Create graphics object for drawing
Dim gfx = XGraphics.FromPdfPage(page)
' Draw text at specific coordinates
Dim font = New XFont("Verdana", 20, XFontStyleEx.Regular)
gfx.DrawString("Hello from PDFSharp!", font, XBrushes.Black, New XPoint(50, 100))
' Add more content - a rectangle
Dim pen = New XPen(XColors.Navy, 2)
gfx.DrawRectangle(pen, XBrushes.LightBlue, 50, 150, 200, 100)
' Add text inside rectangle
Dim smallFont = New XFont("Arial", 12, XFontStyleEx.Regular)
gfx.DrawString("Custom drawing example", smallFont, XBrushes.DarkBlue, New XPoint(60, 200))
' Save the document
document.Save("pdfsharp-example.pdf")
Console.WriteLine("PDF created with PDFSharp!")
End Sub
End ModulePDFSharp が適切な選択となるのはどのような場合ですか?

このコードは、テキストを追加し、レイアウトを手動で処理して、プログラムによって PDF を生成します。 実装は、請求書、フォーム、または証明書のようなHTML入力なしでカスタマイズされたドキュメントに明確な利点を提供します。 より多くの機能を持つ類似のプログラム制御については、新しいPDFの作成を参照してください。
評価: PDFSharp & MigraDocは、基本的なPDF作成に最適で、無料で統合が簡単ですが、HTML変換と高度な編集が不足しています。 HTML ワークフローの場合は、 IronPDF の HTML から PDF への機能を検討してください。## Aspose.PDF とは何ですか? いつ使用すればよいですか?
Aspose.PDFは、PDF の作成、編集、変換、セキュリティ保護のための完全なツールを提供する商用.NET PDF ライブラリです。 軽量ライブラリとは異なり、Aspose.PDFは企業向けアプリケーションに焦点を当て、Word、Excel、HTML、XMLを含むファイル変換をサポートしています。 ドキュメントの自動化、レポート生成、および大規模なアプリケーションでの高度なPDF操作に、アプリケーションでこの機能を即座に利用できます。 当社のAspose vs IronPDFの比較をご覧ください。
Aspose.PDF はどのようなエンタープライズ機能を提供しますか?
-
プログラムでPDF を作成および編集します。
-
Convert HTML, Word, Excel, and XML to PDF.
-
非同期サポートによる高性能な生成。
-
.NET Framework, .NET Core、および .NET 6+ をサポートしています。
Aspose.PDF は URL から PDF への変換をどのように処理しますか?
using Aspose.Pdf;
using System;
using System.IO;
using System.Net;
class Program
{
static void Main()
{
string url = "___PROTECTED_URL_172___";
// Optional: provide credentials for protected resources
NetworkCredential credentials = null;
// Example for authenticated resources:
// credentials = new NetworkCredential("username", "password");
// Configure HTML load options
var options = new HtmlLoadOptions(url)
{
// Enable external resources loading
ExternalResourcesCredentials = credentials,
// Set page info
PageInfo = new PageInfo
{
Width = PageSize.A4.Width,
Height = PageSize.A4.Height,
Margin = new MarginInfo(20, 20, 20, 20) // left, bottom, right, top
},
// Enable JavaScript execution (limited support)
IsEmbedFonts = true,
IsRenderToSinglePage = false
};
try
{
// Fetch HTML content as stream and load into Document
using (var document = new Document(GetContentFromUrlAsStream(url, credentials), options))
{
// Add metadata
document.Info.Title = "Wikipedia Main Page";
document.Info.Author = "Aspose.PDF Example";
document.Info.Subject = "URL to PDF Conversion";
document.Info.Keywords = "PDF, Aspose, Wikipedia";
// Improve the PDF
document.OptimizeResources();
// Save PDF with specific save options
var saveOptions = new PdfSaveOptions
{
DefaultFontName = "Arial", // Fallback font
EmbedStandardFonts = true
};
document.Save("aspose-output.pdf", saveOptions);
}
Console.WriteLine("PDF successfully created!");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
private static Stream GetContentFromUrlAsStream(string url, ICredentials credentials = null)
{
using var handler = new System.Net.Http.HttpClientHandler { Credentials = credentials };
using var httpClient = new System.Net.Http.HttpClient(handler);
// Set a browser-like User-Agent to avoid 403 errors
httpClient.DefaultRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " +
"(KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36");
// Set timeout
httpClient.Timeout = TimeSpan.FromSeconds(30);
return httpClient.GetStreamAsync(url).GetAwaiter().GetResult();
}
}Imports Aspose.Pdf
Imports System
Imports System.IO
Imports System.Net
Module Program
Sub Main()
Dim url As String = "___PROTECTED_URL_172___"
' Optional: provide credentials for protected resources
Dim credentials As NetworkCredential = Nothing
' Example for authenticated resources:
' credentials = New NetworkCredential("username", "password")
' Configure HTML load options
Dim options = New HtmlLoadOptions(url) With {
.ExternalResourcesCredentials = credentials,
.PageInfo = New PageInfo With {
.Width = PageSize.A4.Width,
.Height = PageSize.A4.Height,
.Margin = New MarginInfo(20, 20, 20, 20) ' left, bottom, right, top
},
.IsEmbedFonts = True,
.IsRenderToSinglePage = False
}
Try
' Fetch HTML content as stream and load into Document
Using document = New Document(GetContentFromUrlAsStream(url, credentials), options)
' Add metadata
document.Info.Title = "Wikipedia Main Page"
document.Info.Author = "Aspose.PDF Example"
document.Info.Subject = "URL to PDF Conversion"
document.Info.Keywords = "PDF, Aspose, Wikipedia"
' Improve the PDF
document.OptimizeResources()
' Save PDF with specific save options
Dim saveOptions = New PdfSaveOptions With {
.DefaultFontName = "Arial", ' Fallback font
.EmbedStandardFonts = True
}
document.Save("aspose-output.pdf", saveOptions)
End Using
Console.WriteLine("PDF successfully created!")
Catch ex As Exception
Console.WriteLine($"Error: {ex.Message}")
End Try
End Sub
Private Function GetContentFromUrlAsStream(url As String, Optional credentials As ICredentials = Nothing) As Stream
Using handler = New System.Net.Http.HttpClientHandler With {.Credentials = credentials}
Using httpClient = New System.Net.Http.HttpClient(handler)
' Set a browser-like User-Agent to avoid 403 errors
httpClient.DefaultRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " &
"(KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36")
' Set timeout
httpClient.Timeout = TimeSpan.FromSeconds(30)
Return httpClient.GetStreamAsync(url).GetAwaiter().GetResult()
End Using
End Using
End Function
End Module
このコードは、403エラーを防ぐためにブラウザのようなユーザーエージェントを使用してHTMLコンテンツを取得し、HtmlLoadOptionsでHTMLをAspose.PDF Documentに直接ストリームした後、PDFとして保存します。 結果では、基本的な HTTP 認証のサポートにより、ページ レイアウト、テキスト、画像、CSS スタイルが保持されます。 動的なJavaScriptコンテンツは実行されません。 優れたJavaScriptサポートについては、IronPDF for JavaScriptレンダリングを探索してください。
評価: Aspose.PDFは、企業向けで高度な機能、多形式変換、強力なセキュリティを必要とする場合に最適です。 商用であり、小規模プロジェクトでは複雑になる可能性がありますが、大規模なドキュメントのワークフローには匹敵するものはありません。
Syncfusion PDF とは何ですか? いつ使用すべきですか?
Syncfusion PDF はSyncfusion スイートの一部であり、Web およびデスクトップ アプリケーション向けの機能豊富な.NET PDF ライブラリを提供します。 このライブラリは、PDF生成、編集、HTMLからPDFへの変換を含む複雑さを管理し、レポートとダッシュボード用の他のSyncfusionコンポーネントとシームレスに統合します。 Syncfusion コンポーネントを使用するチームは、緊密な統合のメリットを享受できます。 当社のSyncfusion vs IronPDFの比較をご覧ください。
統合ソリューションに Syncfusion を検討する理由
-
CSSと画像サポート付きでHTMLをPDFに変換します。
-
ウェブおよびデスクトップアプリケーション用の動的レポートを生成します。
-
Improve for .NET Core, .NET Framework, and ASP.NET Core.
Syncfusion はどのようにして URL を PDF に変換するのでしょうか?
using Syncfusion.HtmlConverter;
using Syncfusion.Pdf;
class Program
{
static void Main()
{
// Initialize the HTML to PDF converter
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// Configure WebKit settings for better rendering
WebKitConverterSettings settings = new WebKitConverterSettings();
// Set WebKit path (required for deployment)
settings.WebKitPath = @"C:\QtBinariesPath";
// Configure page settings
settings.PdfPageSize = PdfPageSize.A4;
settings.Orientation = PdfPageOrientation.Portrait;
settings.Margin = new PdfMargins() { All = 20 };
// Enable JavaScript execution
settings.EnableJavaScript = true;
settings.JavaScriptDelay = 3000; // Wait 3 seconds for JS
// Set viewport size for responsive design
settings.ViewPortSize = new System.Drawing.Size(1024, 0);
// Add custom headers if needed
settings.HttpRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36");
converter.ConverterSettings = settings;
// Convert URL to PDF
PdfDocument document = converter.Convert("___PROTECTED_URL_173___");
// Add document info
document.DocumentInformation.Title = "Wikipedia Main Page";
document.DocumentInformation.Author = "Syncfusion Example";
document.DocumentInformation.Subject = "URL to PDF Conversion";
// Save the PDF
document.Save("syncfusion-output.pdf");
document.Close(true); // true = dispose resources
Console.WriteLine("PDF created successfully!");
}
}Imports Syncfusion.HtmlConverter
Imports Syncfusion.Pdf
Module Program
Sub Main()
' Initialize the HTML to PDF converter
Dim converter As New HtmlToPdfConverter()
' Configure WebKit settings for better rendering
Dim settings As New WebKitConverterSettings()
' Set WebKit path (required for deployment)
settings.WebKitPath = "C:\QtBinariesPath"
' Configure page settings
settings.PdfPageSize = PdfPageSize.A4
settings.Orientation = PdfPageOrientation.Portrait
settings.Margin = New PdfMargins() With {.All = 20}
' Enable JavaScript execution
settings.EnableJavaScript = True
settings.JavaScriptDelay = 3000 ' Wait 3 seconds for JS
' Set viewport size for responsive design
settings.ViewPortSize = New System.Drawing.Size(1024, 0)
' Add custom headers if needed
settings.HttpRequestHeaders.Add("User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36")
converter.ConverterSettings = settings
' Convert URL to PDF
Dim document As PdfDocument = converter.Convert("___PROTECTED_URL_173___")
' Add document info
document.DocumentInformation.Title = "Wikipedia Main Page"
document.DocumentInformation.Author = "Syncfusion Example"
document.DocumentInformation.Subject = "URL to PDF Conversion"
' Save the PDF
document.Save("syncfusion-output.pdf")
document.Close(True) ' true = dispose resources
Console.WriteLine("PDF created successfully!")
End Sub
End ModuleSyncfusion のレポート機能の強みは何ですか?

この例では、レイアウト、画像、書式を保持しながら、URL を PDF に変換します。 Syncfusion PDF は、信頼性の高い HTML から PDF へのレンダリングを必要とするレポート シナリオに優れています。 このライブラリは、プロフェッショナルなドキュメント用にヘッダーとフッター、ページ番号、ブックマークをサポートします。
結論: Syncfusion PDF は、Syncfusion コンポーネントを使用するチーム、プロフェッショナルな HTML から PDF へのレンダリングを必要とするチーム、または幅広い機能を備えたエンタープライズ PDF 生成を希望するチームに最適です。 代替案については、当社の詳細な比較を探索してください。
QuestPDF とは何ですか? いつ使用すればよいですか?
QuestPDF は、宣言型 API を使用したプログラムによる PDF 生成に重点を置いたオープンソースの C# ライブラリです。 HTML から PDF へのコンバーターとは異なり、QuestPDF は PDF を完全にコード内で構築し、レイアウト、テキスト、画像、表を正確に制御できます。 アプリケーションでは、この機能をすぐに使用して、自動レポート、請求書、動的に生成される構造化ドキュメントを作成できます。 当社のQuestPDF vs IronPDFの比較をご覧ください。
プログラム制御に QuestPDF を選択する理由
-
プログラムで PDF を作成するための宣言型 API。
-
レイアウト、表、画像、書式設定を完全に制御します。
-
マルチページドキュメント、ヘッダーとフッターをサポート。
-
.NET Coreおよび.NET Frameworkに適しています。
-
動的なレポート生成と自動化されたワークフローに最適です。
QuestPDF の Fluent API を使用して PDF を構築する方法
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
using QuestPDF.Previewer;
class Program
{
static void Main()
{
// Configure license (Community, Professional, or Enterprise)
QuestPDF.Settings.License = LicenseType.Community;
// Create document with fluent API
Document.Create(container =>
{
container.Page(page =>
{
// Page settings
page.Size(PageSizes.A4);
page.Margin(2, Unit.Centimetre);
page.PageColor(Colors.White);
page.DefaultTextStyle(x => x.FontSize(12).FontFamily(Fonts.Arial));
// Header section
page.Header()
.Height(100)
.Background(Colors.Grey.Lighten3)
.AlignCenter()
.AlignMiddle()
.Text("QuestPDF Example Document")
.FontSize(20)
.Bold()
.FontColor(Colors.Blue.Darken2);
// Content section
page.Content()
.PaddingVertical(1, Unit.Centimetre)
.Column(column =>
{
column.Spacing(20);
// Add title
column.Item().Text("Hello from QuestPDF!")
.FontSize(16)
.SemiBold()
.FontColor(Colors.Blue.Medium);
// Add paragraph
column.Item().Text(text =>
{
text.Span("This is an example of programmatic PDF generation using ");
text.Span("QuestPDF").Bold();
text.Span(". You have complete control over layout and styling.");
});
// Add table
column.Item().Table(table =>
{
table.ColumnsDefinition(columns =>
{
columns.RelativeColumn();
columns.RelativeColumn();
});
// Table header
table.Header(header =>
{
header.Cell().Background(Colors.Grey.Medium)
.Padding(5).Text("Feature").Bold();
header.Cell().Background(Colors.Grey.Medium)
.Padding(5).Text("Description").Bold();
});
// Table rows
table.Cell().Border(1).Padding(5).Text("Fluent API");
table.Cell().Border(1).Padding(5)
.Text("Build documents using method chaining");
table.Cell().Border(1).Padding(5).Text("Layout Control");
table.Cell().Border(1).Padding(5)
.Text("Precise control over element positioning");
});
});
// Footer section
page.Footer()
.Height(50)
.AlignCenter()
.Text(text =>
{
text.Span("Page ");
text.CurrentPageNumber();
text.Span(" of ");
text.TotalPages();
});
});
})
.GeneratePdf("questpdf-output.pdf");
Console.WriteLine("PDF created with QuestPDF!");
}
}Imports QuestPDF.Fluent
Imports QuestPDF.Helpers
Imports QuestPDF.Infrastructure
Imports QuestPDF.Previewer
Module Program
Sub Main()
' Configure license (Community, Professional, or Enterprise)
QuestPDF.Settings.License = LicenseType.Community
' Create document with fluent API
Document.Create(Sub(container)
container.Page(Sub(page)
' Page settings
page.Size(PageSizes.A4)
page.Margin(2, Unit.Centimetre)
page.PageColor(Colors.White)
page.DefaultTextStyle(Function(x) x.FontSize(12).FontFamily(Fonts.Arial))
' Header section
page.Header() _
.Height(100) _
.Background(Colors.Grey.Lighten3) _
.AlignCenter() _
.AlignMiddle() _
.Text("QuestPDF Example Document") _
.FontSize(20) _
.Bold() _
.FontColor(Colors.Blue.Darken2)
' Content section
page.Content() _
.PaddingVertical(1, Unit.Centimetre) _
.Column(Sub(column)
column.Spacing(20)
' Add title
column.Item().Text("Hello from QuestPDF!") _
.FontSize(16) _
.SemiBold() _
.FontColor(Colors.Blue.Medium)
' Add paragraph
column.Item().Text(Sub(text)
text.Span("This is an example of programmatic PDF generation using ")
text.Span("QuestPDF").Bold()
text.Span(". You have complete control over layout and styling.")
End Sub)
' Add table
column.Item().Table(Sub(table)
table.ColumnsDefinition(Sub(columns)
columns.RelativeColumn()
columns.RelativeColumn()
End Sub)
' Table header
table.Header(Sub(header)
header.Cell().Background(Colors.Grey.Medium) _
.Padding(5).Text("Feature").Bold()
header.Cell().Background(Colors.Grey.Medium) _
.Padding(5).Text("Description").Bold()
End Sub)
' Table rows
table.Cell().Border(1).Padding(5).Text("Fluent API")
table.Cell().Border(1).Padding(5) _
.Text("Build documents using method chaining")
table.Cell().Border(1).Padding(5).Text("Layout Control")
table.Cell().Border(1).Padding(5) _
.Text("Precise control over element positioning")
End Sub)
End Sub)
' Footer section
page.Footer() _
.Height(50) _
.AlignCenter() _
.Text(Sub(text)
text.Span("Page ")
text.CurrentPageNumber()
text.Span(" of ")
text.TotalPages()
End Sub)
End Sub)
End Sub) _
.GeneratePdf("questpdf-output.pdf")
Console.WriteLine("PDF created with QuestPDF!")
End Sub
End ModuleQuestPDF が優れているのはどのような場合ですか?

これは、HTML 入力なしでコンテンツとレイアウトを完全に制御するプログラムによる PDF 作成を示します。 QuestPDFは、正確な位置指定が必要な請求書、フォーム、および構造化されたレポートの作成に優れています。 HTML サポートによる同様の制御を必要とするチームの場合は、 IronPDF のプログラム機能を調べてください。
結論: QuestPDF は、PDF コンテンツに対する完全なプログラム制御を必要とする開発者に最適です。 HTML 変換機能は備えていませんが、レポート作成や自動化のための構造化された動的に生成された PDF の作成に優れています。
どのC# PDFライブラリを選ぶべきですか?
適切な C# PDF ライブラリの選択は、プロジェクトの要件とコンテンツの種類によって異なります。 複雑なCSSやJavaScriptを含む動的なウェブコンテンツの場合、IronPDFが最も信頼性のあるソリューションを提供し、高忠実なレンダリングとシンプルなAPIを備えています。エンタープライズ環境でPDF/A準拠、デジタル署名、または多形式変換を必要とする場合は、iTextとAspose.PDFが広範な機能、セキュリティ、およびサポートを提供します。
PDFSharp/MigraDocやQuestPDFのようなオープンソースライブラリは、ドキュメントのレイアウトとコンテンツのプログラム制御を好む開発者にとって優れており、HTMLなしでの構造化レポート、請求書、またはチケットの生成に最適です。 Syncfusion PDF はレポートとダッシュボードのための機能豊富な環境を提供し、一方、wkhtmltopdf は静的 Web ページを高い CSS 忠実度で PDF に変換することに優れています。
企業の準備状況をどのように評価しますか?
企業の準備状況を評価する際には、次の要素を考慮してください。
サポートと SLA : IronPDF は、応答時間を保証した24 時間 365 日のテクニカル サポートを提供します。 iTextやAsposeのような商用ライブラリは、エンタープライズサポートパッケージを提供します。 オープンソース オプションはコミュニティのサポートに依存します。 サポートについては、エンジニアリング サポート ガイドラインとサポートのベスト プラクティスを参照してください。
セキュリティとコンプライアンス: IronPDFは、PDF/A、PDF/UA、暗号化、およびデジタル署名をサポートします。 このライブラリは定期的にセキュリティ監査を受け、SOC 2準拠を提供しています。 エンタープライズ署名については、 "HSM 統合"を参照してください。
パフォーマンスとスケーラビリティ: IronPDFのChromeエンジンは、非同期操作とマルチスレッドを効率的に処理します。 大規模なシナリオに対応するため、パフォーマンス最適化戦略や並列処理を検討してください。
総所有コスト: オープンソース オプションにはライセンス料はかかりませんが、開発者の時間、メンテナンス、サポートのコストを考慮してください。 IronPDF のライセンスにはアップデートとサポートが含まれており、長期的なコストが削減されます。 進行中のプロジェクトのための拡張機能を調べてください。## 今すぐIronPDF を試す必要があるのはなぜですか?
.NETアプリケーションで PDF の生成、編集、HTML から PDF への変換を簡素化する準備はできていますか? ユーザーフレンドリーな API、高品質のレンダリング、プロフェッショナルなサポートにより、すぐに開始してすぐに結果を確認できます。 開発をスピードアップするために、完全なドキュメント、コード例、 API リファレンスをご覧ください。 最新のアップデートと主要な改善点のマイルストーンについては、変更ログを確認してください。
今すぐ無料トライアルを開始して、最新 for .NET PDF アプリケーションを構築する開発者にとってIronPDFが最適な選択肢である理由をご確認ください。 導入に準備が整っているチームの場合、透明な価格設定と柔軟な導入が可能なライセンスオプションを探索し、Windows、Linux、Docker、macOS、AzureやAWSなどのクラウドプラットフォームを柔軟に導入できます。 IronWordドキュメントおよびIronsecuredocドキュメントでさらに多くのPDFセキュリティ機能について学びましょう。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
関連する記事


