IRONPDFの使用 C#でのPDF生成7ライブラリ比較(無料&有料ツール) Curtis Chau 更新日:9月 18, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article C# の PDF 生成機能は、レポート作成から請求システムに至る多くの現代のアプリケーションにおいて重要です。 In this article, we will explore six popular ways to generate PDF files using C#, highlighting both code-based libraries, such as IronPDF, and online APIs and tools. Web アプリで動的に PDF ファイルを生成する必要がある場合でも、既存の文書から単に PDF ファイルを作成する必要がある場合でも、これらのツールはニーズに応じて提供されています。 1. IronPDF IronPDF は、高品質な HTML から PDF ファイルへの変換を必要とする開発者向けに設計されたプレミアム.NET PDF ライブラリです。 IronPDF は、HTML ページや Web ベースのレポートを C# で PDF ファイルに変換したい Web アプリケーションにとって最適な選択肢となるよう、正確な変換を保証するために Chromium ベースのレンダリング エンジンを使用しています。 このツールは、既存の PDF 文書を堅牢に扱うことで知られており、PDF の編集、結合、または分割する機能を提供します。 IronPDF は NuGet Package Manager を通じて C# プロジェクトに簡単に統合でき、わずか数行のコードで PDF ドキュメントの生成を開始できます。 動的 HTML コンテンツにもサーバー生成の PDF ファイル出力にも対応できる多用途なツールです。 主要機能 HTML から PDF への変換: IronPDF は、JavaScript の実行や modern CSS のサポートを含む複雑な HTML ページを直接 PDF に変換するのに優れています。 Chromium ベースのレンダリングエンジンを使用しており、出力が Web ブラウザーで見るものと同一に見えることを保証します。 PDF 操作: IronPDF では、既存の PDF ドキュメントを簡単に結合、分割、修正することができます。 高度なスタイリングオプション: 外部スタイルシート、カスタムフォント、JavaScript をサポートし、非常にスタイルの効いたドキュメントを作成することができます。 請求書、レポート、Web ベースのコンテンツに最適です。 セキュリティ機能: IronPDF は、パスワード保護やデジタル署名の追加、印刷や複製、編集などのアクションを制限する権限の設定に関する機能を提供します。 フォーム処理: IronPDF は、開発者が PDF フォームをプログラムで作成、記入、読み取ることができるようになっており、PDF フォーマットでのユーザー入力を必要とするアプリケーションに適しています。 NuGet Package Manager: Visual Studio のパッケージマネージャーコンソールを使って簡単にインストールおよび管理ができます。 コード例 using IronPdf; class Program { static void Main() { string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>"; // Create an instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the HTML as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Save the PDF to a specified file pdf.SaveAs("Generated.pdf"); } } using IronPdf; class Program { static void Main() { string html = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>"; // Create an instance of ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render the HTML as a PDF document PdfDocument pdf = renderer.RenderHtmlAsPdf(html); // Save the PDF to a specified file pdf.SaveAs("Generated.pdf"); } } Imports IronPdf Friend Class Program Shared Sub Main() Dim html As String = "<h1>Hello, World!</h1><p>This PDF is generated from HTML.</p>" ' Create an instance of ChromePdfRenderer Dim renderer As New ChromePdfRenderer() ' Render the HTML as a PDF document Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html) ' Save the PDF to a specified file pdf.SaveAs("Generated.pdf") End Sub End Class $vbLabelText $csharpLabel 名前空間のインポート: using IronPdf; は、IronPDF ライブラリをインポートし、そのクラスとメソッドにアクセスします。 HTML 文字列: 変数 'html' は、PDF に変換したい HTML コンテンツを含んでいます。 レンダラー インスタンス: new ChromePdfRenderer(); は、HTML コンテンツを PDF フォーマットにレンダリングするメソッドを提供する ChromePdfRenderer クラスのインスタンスを作成します。 PDF のレンダリング: PdfDocument pdf = renderer.RenderHtmlAsPdf(html); は、HTML 文字列を PDF ドキュメントに変換します。 PDF の保存: pdf.SaveAs("Generated.pdf"); は、生成された PDF を指定されたファイルパスに保存します。 長所 Web コンテンツのレンダリング品質が優れています。 フォーム、ハイパーリンク、ブックマークに対する堅牢なサポート。 短所 大規模プロジェクトにはライセンス料金が考慮される可能性があります。 より高度な機能には、より深い学習が必要になる場合があります。 2. iTextSharp iTextSharp は広く知られた.NET PDF ライブラリであり、PDF ファイルの作成および編集に広範な機能を提供します。 財務や法務など、文書をカスタマイズして保護する必要がある業界で広く使用されています。 iTextSharp を使用すると、PDF ファイルをゼロから作成したり、フォームに記入したり、PDF ファイルを変更したりして、ドキュメントの内容を広範囲にコントロールできます。 特に、請求書や契約書など、正確なレイアウトと動的データが必要なエンタープライズ アプリケーションに便利です。 主要機能 完全な PDF 作成機能: iTextSharp は、C# でゼロから PDF ファイルを簡単に作成できるようにし、開発者がテキスト、画像、テーブル、ベクター グラフィックを追加できるようにします。 ページサイズ、マージン、メタデータを定義する機能を含む、ドキュメント レイアウトを完全に制御できます。 フォームの記入: iTextSharp の大きな強みは、PDF フォーム(AcroForms)を処理できることです。 さまざまな入力フィールドを備えたフォームを作成し、後でプログラム的にそれを満たすことができ、ドキュメント生成ワークフローを自動化するのに便利な機能です。 XML から PDF への変換: iTextSharp による XML データを XFA(XML Forms Architecture)を使って PDF に変換する頑丈なサポート。 これは、標準フォームまたはレポートにフォーマットする必要がある業界で非常に貴重です。 PDF セキュリティ: iTextSharp は、暗号化、デジタル署名、透かしの追加などの高度な機能を備えており、文書の信憑性を高め、機密データを保護します。 テキスト抽出と操作: 既存の PDF からテキストを抽出したり、ドキュメントのコンテンツを再配置したり、ページ要素を操作したりできるため、複雑な PDF からのポストプロセッシング ドキュメントや要約レポートの生成に役立ちます。 コード例 using System; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.tool.xml; namespace Helpers { public class PdfGenerator { public static byte[] GeneratePdfFromFragment(string htmlFragment) { var html = string.Format(@" <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> <head> <style type='text/css'> table,td {{border: 1px solid black;}} div {{ white-space: nowrap; padding: 2px;}} table{{ border-collapse: collapse; width: 100%; empty-cells: show;}} body table {{font-size: 50%;}} th {{width:500px; height: 28px;}} td {{width:300px; height: 28px;}} </style> </head><body>{0}</body></html>", htmlFragment); return Generate(html); } public static byte[] GeneratePdfFromPage(string htmlPage) { return Generate(htmlPage); } private static byte[] Generate(string html) { using (var memoryStream = new MemoryStream()) { var pdfDocument = new Document(PageSize.LETTER); var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream); pdfDocument.Open(); using (var fw = new StringReader(html)) { XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw); } pdfDocument.Close(); return memoryStream.ToArray(); } } } } using System; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.tool.xml; namespace Helpers { public class PdfGenerator { public static byte[] GeneratePdfFromFragment(string htmlFragment) { var html = string.Format(@" <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> <head> <style type='text/css'> table,td {{border: 1px solid black;}} div {{ white-space: nowrap; padding: 2px;}} table{{ border-collapse: collapse; width: 100%; empty-cells: show;}} body table {{font-size: 50%;}} th {{width:500px; height: 28px;}} td {{width:300px; height: 28px;}} </style> </head><body>{0}</body></html>", htmlFragment); return Generate(html); } public static byte[] GeneratePdfFromPage(string htmlPage) { return Generate(htmlPage); } private static byte[] Generate(string html) { using (var memoryStream = new MemoryStream()) { var pdfDocument = new Document(PageSize.LETTER); var pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream); pdfDocument.Open(); using (var fw = new StringReader(html)) { XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw); } pdfDocument.Close(); return memoryStream.ToArray(); } } } } Imports System Imports System.IO Imports iTextSharp.text Imports iTextSharp.text.pdf Imports iTextSharp.tool.xml Namespace Helpers Public Class PdfGenerator Public Shared Function GeneratePdfFromFragment(ByVal htmlFragment As String) As Byte() Dim html = String.Format(" <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> <head> <style type='text/css'> table,td {{border: 1px solid black;}} div {{ white-space: nowrap; padding: 2px;}} table{{ border-collapse: collapse; width: 100%; empty-cells: show;}} body table {{font-size: 50%;}} th {{width:500px; height: 28px;}} td {{width:300px; height: 28px;}} </style> </head><body>{0}</body></html>", htmlFragment) Return Generate(html) End Function Public Shared Function GeneratePdfFromPage(ByVal htmlPage As String) As Byte() Return Generate(htmlPage) End Function Private Shared Function Generate(ByVal html As String) As Byte() Using memoryStream As New MemoryStream() Dim pdfDocument = New Document(PageSize.LETTER) Dim pdfWriter = PdfWriter.GetInstance(pdfDocument, memoryStream) pdfDocument.Open() Using fw = New StringReader(html) XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDocument, fw) End Using pdfDocument.Close() Return memoryStream.ToArray() End Using End Function End Class End Namespace $vbLabelText $csharpLabel GeneratePdfFromFragment: HTML フラグメント(部分 HTML ドキュメント)を取得し、基本的な <html> および <body> テンプレートで囲んで完全な HTML 構造に変換します。 内部の Generate メソッドを呼び出します。 GeneratePdfFromPage: 完全な HTML ページを受け入れ、直接 Generate メソッドを呼び出します。 Generate: このメソッドは、HTML を PDF に変換します。 生成された PDF をメモリに保持するための MemoryStream を初期化します。 レターサイズのページを持つ iTextSharp ドキュメントオブジェクトを作成します。 XMLWorkerHelper は HTML コンテンツを解析し、提供された StringReader を使用して PDF ドキュメントに書き込みます。 長所 豊富な機能セットで非常にカスタマイズしやすいです。 広範なドキュメントとコミュニティサポート。 短所 iTextSharp(個人使用は無料ですが、大規模プロジェクトには商業ライセンスが必要)は、複雑な CSS や JavaScript の処理に制限がある可能性があります。 XMLWorker(ここで使用される)は、iTextSharp の非推奨のツールであり、HTML/CSS の解析に使用されました。 iText7(iText の新しいバージョン)は、より堅牢な HTML パーサーである pdfHTML を使用しており、最新の Web 標準へのサポートをより提供できる可能性があります。 初心者にはしきいが高く感じる可能性があります。 3. PDFsharp PDFSharp は、基本的な PDF 作成タスクに最適な軽量かつオープンソースの .NET PDF ライブラリです。 アプリケーションがテキスト、画像、またはテーブルの追加などの簡単な操作のみを必要とする場合、PDFSharp は C# で PDF ドキュメントを生成するための使いやすいオプションです。 HTML から PDF への変換のような高度な機能は欠けていますが、C# で小~中規模の PDF ファイルを生成する場合に、そのシンプルさが際立っています。 主要機能 基本的な PDF 作成: テキストやグラフィックスを描画するためのシンプルで使いやすい API。 簡潔なドキュメントの作成に最適です。 ドキュメント操作: 既存の PDF を簡単に結合し、修正し、ドキュメント管理における柔軟性を提供します。 描画とグラフィック サポート: PDFsharp は、線、矩形、およびその他のベクター グラフィックスを含む PDF ページ上の描画ツールを提供します。 また、PDF に画像を埋め込むこともサポートしています。 無料およびオープンソース: PDFsharp は商用および非商用使用が完全に無料であり、小規模ビジネスおよびオープンソースプロジェクトに取り組んでいる開発者にとって魅力的な選択肢となります。 コード例 using PdfSharp.Pdf; using PdfSharp.Drawing; class Program { static void Main() { // Create a new PDF document PdfDocument document = new PdfDocument(); document.Info.Title = "Created with PdfSharp"; // Add a page to the document PdfPage page = document.AddPage(); // Create an XGraphics object to draw on the page XGraphics gfx = XGraphics.FromPdfPage(page); // Set a font to use for drawing text XFont font = new XFont("Verdana", 20, XFontStyle.Bold); // Draw the text on the PDF page gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center); // Save the document to disk document.Save("Generated.pdf"); } } using PdfSharp.Pdf; using PdfSharp.Drawing; class Program { static void Main() { // Create a new PDF document PdfDocument document = new PdfDocument(); document.Info.Title = "Created with PdfSharp"; // Add a page to the document PdfPage page = document.AddPage(); // Create an XGraphics object to draw on the page XGraphics gfx = XGraphics.FromPdfPage(page); // Set a font to use for drawing text XFont font = new XFont("Verdana", 20, XFontStyle.Bold); // Draw the text on the PDF page gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center); // Save the document to disk document.Save("Generated.pdf"); } } Imports PdfSharp.Pdf Imports PdfSharp.Drawing Friend Class Program Shared Sub Main() ' Create a new PDF document Dim document As New PdfDocument() document.Info.Title = "Created with PdfSharp" ' Add a page to the document Dim page As PdfPage = document.AddPage() ' Create an XGraphics object to draw on the page Dim gfx As XGraphics = XGraphics.FromPdfPage(page) ' Set a font to use for drawing text Dim font As New XFont("Verdana", 20, XFontStyle.Bold) ' Draw the text on the PDF page gfx.DrawString("Hello, World!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center) ' Save the document to disk document.Save("Generated.pdf") End Sub End Class $vbLabelText $csharpLabel PdfDocument: PDF ドキュメント全体を表します。 ページを追加し、メタデータを設定し、文書を操作できます。 PdfPage: ドキュメント内の単一ページを表します。 新しいページは AddPage メソッドを使用して追加されます。 XGraphics: 特定のページにテキスト、画像、および形状を描画するために使用します。 .NET での GDI+ に似ています。 XFont: テキストレンダリング用のフォントとスタイルを指定します。 この例では「Verdana」が太字スタイルで使用されています。 DrawString: ドキュメント内の指定された位置に指定された文字列を描画します。 長所 ライセンスの制約のない無料およびオープンソース。 シンプルで軽量であり、基本的な PDF 生成をすばやく開始できます。 複雑な機能を必要としないプロジェクトに適しています。 短所 他のライブラリと比較して機能が制限されています。 HTML から PDF へのネイティブ サポートはありません。 4. Syncfusion PDF Library Syncfusion PDF ライブラリ は、高性能で包括的なツールであり、広範なアプリケーションで PDF を扱う必要があるエンタープライズ向けに設計されています。 それは、フォーマットやプラットフォームのさまざまなライブラリを提供するより広い Syncfusion スイートの一部です。 PDF ライブラリは、その広範な機能セットによって際立っており、単純なドキュメントの作成を超えて詳細な操作を可能にし、フォームの記入、デジタル署名、およびドキュメントのセキュリティを含みます。 主要機能 包括的な PDF API: 複雑なレイアウト、埋め込みフォント、高解像度の画像を含む高度にカスタマイズされた PDF を生成する機能があります。 ページのフォーマッティングから高度なレイアウト オプションに至るまで、すべての側面で PDF の作成を詳細に管理します。 フォーム処理: ライブラリは、インタラクティブ PDF フォーム(AcroForms)の作成、記入、およびデータの抽出に秀でています。 ユーザー入力のための記入可能な PDF を作成したり、データ入力を自動化したり、記入されたフォームを処理したりするのに便利です。 デジタル署名と暗号化: PDF 文書の暗号化、パスワード保護、およびデジタル署名を適用する能力を含む、堅固なセキュリティ機能を提供します。 文書の信憑性とセキュリティを必要とする医療や法務のような業界に不可欠です。 コード例 using Syncfusion.Pdf; using Syncfusion.Pdf.Graphics; class Program { static void Main() { // Create a new PDF document. PdfDocument document = new PdfDocument(); // Add a page to the document. PdfPage page = document.Pages.Add(); // Create PDF graphics for the page. PdfGraphics graphics = page.Graphics; // Set the standard font. PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20); // Draw the text. graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0)); // Save the document. document.Save("Output.pdf"); // Close the document. document.Close(true); } } using Syncfusion.Pdf; using Syncfusion.Pdf.Graphics; class Program { static void Main() { // Create a new PDF document. PdfDocument document = new PdfDocument(); // Add a page to the document. PdfPage page = document.Pages.Add(); // Create PDF graphics for the page. PdfGraphics graphics = page.Graphics; // Set the standard font. PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 20); // Draw the text. graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, new PointF(0, 0)); // Save the document. document.Save("Output.pdf"); // Close the document. document.Close(true); } } Imports Syncfusion.Pdf Imports Syncfusion.Pdf.Graphics Friend Class Program Shared Sub Main() ' Create a new PDF document. Dim document As New PdfDocument() ' Add a page to the document. Dim page As PdfPage = document.Pages.Add() ' Create PDF graphics for the page. Dim graphics As PdfGraphics = page.Graphics ' Set the standard font. Dim font As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 20) ' Draw the text. graphics.DrawString("Hello World!!!", font, PdfBrushes.Black, New PointF(0, 0)) ' Save the document. document.Save("Output.pdf") ' Close the document. document.Close(True) End Sub End Class $vbLabelText $csharpLabel PdfDocument: PDF ドキュメントを表します。 ページを追加したり、プロパティを設定したり、その内容を操作できます。 PdfPage: PDF ドキュメント内のページを表します。 PdfFont: テキストのレンダリング用のフォントを定義します。 この場合、標準の Helvetica フォントが使用されます。 DrawString: 指定された文字列を指定された座標に PDF ページに描画します。 長所 複雑な PDF の作成に適した豊富な機能セット。 プロフェッショナルサポートとドキュメントが提供され、大規模アプリケーションに最適です。 フォームの記入、暗号化、注釈など、高度な PDF 機能をサポートしています。 短所 商用利用のためのライセンス料は比較的高額です。 複雑な API であり、習得に時間が必要な場合があります。 5. PDFShift (オンライン ツール) PDFShift は、HTML を PDF ファイルに変換するよう設計されたクラウドベースのサービスです。 その API 経由で C# アプリケーションにスムーズに統合し、動的に生成された HTML Web ページをプロフェッショナル品質の PDF に変換できます。 PDFShift は、請求書やレポートのような HTML コンテンツから迅速に PDF ドキュメントを生成したい Web 開発者にとって特に便利です。 PDFShift は完全に REST API 経由で動作し、わずか数行の HTML をサービスに送信してダウンロード可能な PDF ファイルを受け取ることができます。 Web ベースの PDF ファイル生成のためのシンプルでスケーラブルなソリューションです。 主要機能 HTML から PDF への変換: PDFShift は、HTML ドキュメントを高品質な PDF に変換するのに優れています。 複雑な CSS スタイル、JavaScript、レスポンシブ デザインのレイアウトを処理し、Web ページが PDF フォーマットでも完全に同じように見えることを保証します。 API 統合: PDFShift API は Web アプリケーションへのシームレスな統合を目的としています。 使い方は簡単です: HTML コンテンツを含む HTTP POST リクエストを送信するだけで、サービスが PDF ドキュメントを返します。 カスタマイズオプション: 生成された PDF のカスタマイズが可能で、ページサイズ、向き、マージン、ヘッダー/フッターの設定が可能です。 また、ページ番号やドキュメント メタデータなどの動的なコンテンツをヘッダーやフッターに追加することもできます。 このコード例は、Excelの入力を自動化するためのIronXL APIの簡便性と強力さを示しています。 HTML コンテンツを PDFShift API エンドポイントに POST リクエストとして送信します。 応答として生成された PDF を受け取り、ダウンロードまたは保存します。 コード例 using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { using (HttpClient client = new HttpClient()) { string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>"; var content = new StringContent(htmlContent, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content); byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync(); System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes); } } } using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { using (HttpClient client = new HttpClient()) { string htmlContent = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>"; var content = new StringContent(htmlContent, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync("https://api.pdfshift.io/v3/convert", content); byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync(); System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes); } } } Imports System.Net.Http Imports System.Text Imports System.Threading.Tasks Friend Class Program Shared Async Function Main(ByVal args() As String) As Task Using client As New HttpClient() Dim htmlContent As String = "<h1>Hello, World!</h1><p>This is generated using PDFShift API.</p>" Dim content = New StringContent(htmlContent, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync("https://api.pdfshift.io/v3/convert", content) Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync() System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes) End Using End Function End Class $vbLabelText $csharpLabel HttpClient: HTML コンテンツを POST リクエストとして PDFShift API に送信します。 PostAsync: HTML を処理して PDF を返す API へのリクエストを送信します。 ReadAsByteArrayAsync: PDF 応答をバイト配列として読み取り、それをファイルとして保存できます。 長所 設定が少なくて済むシンプルな API。 動的なHTMLからPDFへの変換を必要とするWebアプリケーションに最適です。 PDF ライブラリやサーバーを管理する必要はありません。 短所 HTML から PDF への変換に限られ、 より複雑な PDF 機能をサポートしていません。 インターネット接続が必要で、一定の使用量を超えると料金が発生します。 6. DocRaptor (オンライン ツール) DocRaptor は、HTML と CSS を高品質な PDF に変換する、もう一つの強力な API ベースの PDF 生成サービスです。 特に複雑な CSS スタイル、メディアクエリ、Web フォントの処理において、HTML ドキュメントの優れたレンダリングで知られています。 これにより、DocRaptor は、レポート、請求書、eBook などを HTML テンプレートから直接生成するのに優れた選択となります。 主要機能 HTML および CSS サポート: 複雑な CSS スタイル、メディアクエリ、フォントを含む HTML ドキュメントを変換します。 API 統合: Web アプリケーションへのシームレスな統合を可能にする REST API。 カスタム ヘッダー/フッター: ページ番号やカスタムフォーマットを含む動的ヘッダーとフッターを追加します。 PDF セキュリティ: 暗号化とパスワード保護に対応。 このコード例は、Excelの入力を自動化するためのIronXL APIの簡便性と強力さを示しています。 DocRaptor API へ HTML コンテンツと共に POST リクエストを送信します。 ページサイズ、マージン、ヘッダー、フッターを設定するパラメータで PDF 出力をカスタマイズします。 応答として生成された PDF を受け取ります。 コード例 using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { using (HttpClient client = new HttpClient()) { string apiKey = "YOUR_API_KEY"; string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>"; string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}"; var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content); byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync(); System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes); } } } using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { using (HttpClient client = new HttpClient()) { string apiKey = "YOUR_API_KEY"; string htmlContent = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>"; string jsonData = $"{{\"test\": true, \"document_content\": \"{htmlContent}\", \"name\": \"Generated.pdf\", \"document_type\": \"pdf\"}}"; var content = new StringContent(jsonData, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content); byte[] pdfBytes = await response.Content.ReadAsByteArrayAsync(); System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes); } } } Imports System.Net.Http Imports System.Text Imports System.Threading.Tasks Friend Class Program Shared Async Function Main(ByVal args() As String) As Task Using client As New HttpClient() Dim apiKey As String = "YOUR_API_KEY" Dim htmlContent As String = "<h1>Professional Report</h1><p>Generated using DocRaptor API.</p>" Dim jsonData As String = $"{{""test"": true, ""document_content"": ""{htmlContent}"", ""name"": ""Generated.pdf"", ""document_type"": ""pdf""}}" Dim content = New StringContent(jsonData, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync($"https://docraptor.com/docs?user_key={apiKey}", content) Dim pdfBytes() As Byte = Await response.Content.ReadAsByteArrayAsync() System.IO.File.WriteAllBytes("Generated.pdf", pdfBytes) End Using End Function End Class $vbLabelText $csharpLabel API キー: DocRaptor を使用する際には API キーの認証が必要です。 「YOUR_API_KEY」を実際のキーに置き換えてください。 JsonData: この JSON 文字列には HTML コンテンツ、ドキュメント名、および(この場合は PDF の)タイプが含まれています。 PostAsync: HTML コンテンツとパラメータを DocRaptor API に送信して PDF を生成します。 長所 HTML、CSS、JavaScript の完全サポート付きで高品質のレンダリング。 ドキュメントレイアウトおよびセキュリティの高度なカスタマイズオプション。 PDF 生成ライブラリやインフラストラクチャを管理する必要がありません。 短所 無料使用限度を超えると有料サービスになります。 インターネット接続に依存します。 7. コードフリー オンライン ツール コードを書きたくない場合や PDF を迅速に生成するための解決策が必要な場合、多くのオンラインツールが簡単に PDF を作成できるようにします。 注目すべきオプションをいくつか紹介します: 7.1. Smallpdf Smallpdf は、さまざまなファイル形式から PDF を作成できる一連の PDF 関連ツールを提供するオンラインプラットフォームです。 コードを書く必要のない簡単なドラッグアンドドロップのインターフェースを求めるユーザー向けに設計されています。 Smallpdf は、Word ドキュメント、Excel シート、画像を PDF に変換するための迅速なファイル変換に広く使用されています。 PDF のマージ、圧縮、分割のツールも提供し、基本的な PDF タスクにとって多用途なツールです。 主要機能 ファイル変換: Word、Excel、PowerPoint、画像ファイル(JPG、PNG)を PDF に変換することができます。 これにより、さまざまなドキュメントタイプから迅速に PDF を作成する必要があるユーザーに理想的です。 PDF の結合と分割: 複数の PDF を単一ファイルに結合したり、PDF を個々のページに分割したりするためのシンプルなインターフェースを提供します。 クラウドストレージ統合: Google Drive や Dropbox からファイルを簡単にアップロードして変換後の PDF をこれらのプラットフォームに戻すことができ、ファイル管理が簡単になります。 PDF 編集ツール: 注釈の追加、フォームへの記入、デジタル署名の追加など、既存の PDF ドキュメントを編集するための基本的な PDF 編集ツールを提供します。 長所 非開発者向けには非常に使いやすいです。 基本的な使用に対しては無料で、より多くの機能を利用するためのアップグレードオプションがあります。 結合、分割、圧縮など、さまざまな PDF 関連ツールを提供します。 短所 コードベースのソリューションと比較してカスタマイズが限られています。 無料の階層では機能制限がある可能性があります。 7.2. PDFescape PDFescape は、ソフトウェアをインストールすることなく PDF を作成、編集、表示する Web ベースの PDF エディタであり、使いやすいものです。 PDFs のクイック編集やフォームフィリング、テキスト注釈の追加、画像の挿入を必要とする場合に適しています。 PDFescape には、新しい PDF のゼロからの作成ツールも用意されており、基本的なドキュメント作成に柔軟に対応できます。 主要機能 フォームフィリングと編集: PDF フォームの取り扱いに優れています。 ユーザーは、契約書、申請書、その他のフォームに役立つ PDF ドキュメントでフォームを簡単に記入したり、既存のフィールドを編集することができます。 基本的な PDF 作成: テキスト、図形、画像、フォームフィールドを追加するツールを提供します。 簡潔なドキュメントの作成に役立ちます。 注釈とコメント: 既存の PDF にコメントや付箋、その他の注釈を追加し、PDFescape をドキュメントレビューやコラボレーションに最適なツールにします。 インストール不要: ブラウザ内で完全に動作するため、ソフトウェアをインストールする必要はありません。 これにより、どこでも迅速に PDF ツールにアクセスする必要があるユーザーに最適です。 長所 非技術的なユーザー向けにはシンプルで使いやすいです。 基本的な PDF の作成と編集に対して無料の階層があります。 多少の PDF 編集タスクに適しています。 短所 複雑な PDF 作成のための高度な機能が不足しています。 デザインとフォーマットオプションが限られています。 7.3. PDF Candy PDF Candy は、ファイル変換から編集に至る広範な PDF 関連タスクをカバーする一連の無料オンライン PDF ツールです。 アカウントを登録したりソフトウェアをインストールすることなく迅速な PDF 操作を必要とするユーザーに最適な選択肢です。 PDF Candy は、ワード ドキュメント、画像、テキスト ファイルなど、さまざまなファイル タイプの PDF への変換に対応しています。 また、PDF の結合、分割、圧縮のツールも提供しています。 主要機能 多くの変換オプションの選択肢: Word ドキュメント、画像、テキスト ファイルを含む複数のファイル形式を PDF に変換できます。 さまざまなタイプのコンテンツを扱うための柔軟なツールになります。 PDF の結合と分割: 複数の PDF を1つに結合したり、大きな PDF をより小さく管理しやすいファイルに分割したりできます。 ファイルのプライバシー: 短期間の後にサーバーからファイルを自動的に削除し、ドキュメントがプライバシーに保たれることを保証します。 無料で利用可能: 一部のツールは登録不要で無料で利用でき、多くのユーザーにアクセス可能です。 ただし、より頻繁な使用や大規模なファイル変換が必要な場合には、追加機能があるプレミアム バージョンも提供しています。 長所 多くのユーザーにとって使いやすく完全無料です。 PDF への変換に対応したさまざまなファイルタイプをサポートしています。 基本使用にはアカウント登録は不要です。 短所 高度な PDF カスタマイズ機能が限られています。 一部のツールには、ファイルサイズや変換の複雑性に関する制限がある場合があります。 結論 C# で PDF ファイルを生成するための適切なツールを選択するには、ニーズに依存します。 HTML コンテンツから PDF ドキュメントを生成する必要がある場合は、IronPDF と PDFShift が優れた選択肢です。 iTextSharp や Syncfusion は、より複雑なプロジェクトのために、ドキュメント構造に対する広範なカスタマイズオプションとコントロールを提供します。 より簡単なオープンソースソリューションには、PDFsharp が PDF ファイルを変更したり、基本的な PDF を作成したりするための信頼できる選択肢です。 最後に、非開発者向けには、Smallpdf、PDFescape、PDF Candy が簡単でコード不要のPDF操作を提供します。 [IronPDF](trial license) を試してみたい方のために、HTML から PDF への変換および PDF 操作機能を実際に使用して有料ライセンスを購入する前に試すのに最適なオプションです。 この試用版を使用すると、プレミアム機能(高品質な PDF ファイルの生成、セキュリティオプション、既存の PDF ドキュメントの変更など)を試しながら、ツールの機能を体験することができます。 プロジェクトで頻繁に HTML から PDF への変換や複雑な PDF 編集が必要な場合、IronPDF の無料トライアルでそれがニーズに適しているかどうかを確認するのに役立ちます。 各ツールの特定の機能とプロジェクトの範囲を評価することで、効率的に C# で PDF ファイルを生成するためのベストソリューションを選択できます。 よくある質問 C# で HTML を PDF に変換するにはどうすればいいですか? IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。 無料と有料のC# PDFライブラリの違いは何ですか? PDFsharpのような無料のライブラリは、基本的なPDF作成と操作に優れており、IronPDFのような有料のライブラリは、HTMLからPDFへの変換、フォーム処理、強化されたセキュリティなどの高度な機能を提供します。 C#で基本的なPDFタスクに最適なオープンソースライブラリは何ですか? PDFsharpは、基本的なPDF作成タスクに最適な軽量のオープンソース.NET PDFライブラリです。商用および非商用利用のために無料です。 iTextSharpは、安全なPDF文書の作成をどのようにサポートしますか? iTextSharpは、安全なPDF文書の作成において、デジタル署名や暗号化を含む包括的なカスタマイズオプションを提供し、安全な文書処理が必要な産業に適しています。 C#アプリケーションでHTMLからPDFへの変換にオンラインツールを使用できますか? はい、PDFShiftやDocRaptorのようなオンラインツールは、動的PDF生成が必要なウェブアプリケーションに最適なAPIベースのHTMLからPDFへの変換を提供します。 PDF生成において、クロミウムベースのレンダリングエンジンを使用するライブラリにはどのような利点がありますか? IronPDFのようなクロミウムベースのレンダリングエンジンを使用するライブラリは、複雑なスタイリングやJavaScriptに対応した高品質のHTMLからPDFへの変換を提供します。 Syncfusion PDF Libraryは企業アプリケーションにどのような利益をもたらしますか? Syncfusion PDF Libraryは、フォーム処理、デジタル署名、暗号化を含む企業アプリケーション向けの包括的な機能を提供し、複雑なプロフェッショナルな要件に非常に適しています。 IronPDF は、今後の .NET 10 リリースと互換性がありますか? はい。IronPDFは.NET 10を標準でサポートしています。.NET 10に加え、バージョン9、8、7、6、Core、Standard、Frameworkとの互換性も確認されており、特別な回避策は必要ありません。(ironpdf.com) Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 11月 13, 2025 C#で2つのPDFバイト配列をマージする方法 IronPDFを使用してC#で2つのPDFバイト配列をマージします。バイト配列、メモリストリーム、データベースから複数のPDFファイルを組み合わせる方法を簡単なコード例で学びましょう。 詳しく読む 公開日 11月 13, 2025 ASP.NET MVC PDFビューアを作成する方法 ASP.NET MVCアプリケーションのための強力なPDFビューアを構築します。PDFドキュメントを表示し、ビューをPDFに変換し、IronPDFを使用してインタラクティブな機能を追加します。 詳しく読む 公開日 11月 13, 2025 .NET HTMLからPDFへのコンバーターを構築する方法 IronPDFを使用して.NETでHTMLをPDFに変換する方法を学ぶ。 詳しく読む ライブラリを使わずにC#でHTMLをPDFに変換する方法html2pdfページブレイクをC#...
公開日 11月 13, 2025 C#で2つのPDFバイト配列をマージする方法 IronPDFを使用してC#で2つのPDFバイト配列をマージします。バイト配列、メモリストリーム、データベースから複数のPDFファイルを組み合わせる方法を簡単なコード例で学びましょう。 詳しく読む
公開日 11月 13, 2025 ASP.NET MVC PDFビューアを作成する方法 ASP.NET MVCアプリケーションのための強力なPDFビューアを構築します。PDFドキュメントを表示し、ビューをPDFに変換し、IronPDFを使用してインタラクティブな機能を追加します。 詳しく読む