フッターコンテンツにスキップ
IRONPDFの使用

C#でのPDF生成7ライブラリ比較(無料&有料ツール)

C# の PDF 生成機能は、レポート作成から請求システムに至る多くの現代のアプリケーションにおいて重要です。 この記事では、C# を使用して PDF ファイルを生成するための6つの人気のある方法を探ります。コードベースのライブラリ(IronPDF など)、およびオンライン API やツールを取り上げます。 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 実行と最新の CSS のサポートを含む複雑な HTML ページを PDF に直接変換するのに優れています。 Chromium ベースのレンダリングエンジンを使用しており、出力が Web ブラウザーで見るものと同一に見えることを保証します。
  • PDF 操作: IronPDF を使用すると、既存の PDF ドキュメントを簡単に結合、分割、変更できます。 -高度なスタイル オプション: IronPDF は外部スタイルシート、カスタム フォント、JavaScript をサポートしており、高度にスタイル設定されたドキュメントを作成できます。 請求書、レポート、Web ベースのコンテンツに最適です。 -セキュリティ機能: IronPDF には、パスワード保護やデジタル署名を追加したり、PDF の印刷、コピー、編集などのアクションを制限するための権限を設定したりする機能が用意されています。 -フォーム処理: IronPDF を使用すると、開発者はプログラムで PDF フォームを作成、入力、読み取ることができるため、PDF 形式でのユーザー入力を必要とするアプリケーションに最適です。
  • NuGet パッケージ マネージャー: 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"); 
    }
}
$vbLabelText   $csharpLabel

1.名前空間のインポート: using IronPdf;は IronPDF ライブラリをインポートして、そのクラスとメソッドにアクセスします。

  1. HTML 文字列:変数"html"には、PDF に変換する HTML コンテンツが含まれます。 3.レンダラー インスタンス: new ChromePdfRenderer();は ChromePdfRenderer クラスのインスタンスを作成し、HTML コンテンツを PDF 形式にレンダリングするためのメソッドを提供します。
  2. PDF をレンダリングします: PdfDocument pdf = renderer.RenderHtmlAsPdf(html);は、HTML 文字列を PDF ドキュメントに変換します。
  3. PDF を保存: pdf.SaveAs(&quot;Generated.pdf&quot;);は、生成された PDF を指定されたファイル パスに保存します。

長所

  • Web コンテンツのレンダリング品質が優れています。
  • フォーム、ハイパーリンク、ブックマークに対する堅牢なサポート。

短所

  • 大規模プロジェクトにはライセンス料金が考慮される可能性があります。
  • より高度な機能には、より深い学習が必要になる場合があります。

2. iTextSharp

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 2

iTextSharp は広く知られた.NET PDF ライブラリであり、PDF ファイルの作成および編集に広範な機能を提供します。 財務や法務など、文書をカスタマイズして保護する必要がある業界で広く使用されています。 iTextSharp を使用すると、PDF ファイルをゼロから作成したり、フォームに記入したり、PDF ファイルを変更したりして、ドキュメントの内容を広範囲にコントロールできます。 特に、請求書や契約書など、正確なレイアウトと動的データが必要なエンタープライズ アプリケーションに便利です。

主要機能

-完全な PDF 作成機能: iTextSharp を使用すると、C# で最初から PDF ファイルを簡単に作成でき、開発者はテキスト、画像、表、ベクター グラフィックを追加できます。 ページサイズ、マージン、メタデータを定義する機能を含む、ドキュメント レイアウトを完全に制御できます。 -フォーム入力: iTextSharp の大きな強みは、PDF フォーム (AcroForms) を処理できることです。 様々な入力フィールドのあるフォームを作成し、後でプログラムで埋める便利な機能です。

  • XML から PDF への変換: iTextSharp は、XFA (XML フォーム アーキテクチャ) を使用して XML データを 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();
            }
        }
    }
}
$vbLabelText   $csharpLabel
  1. GeneratePdfFromFragment: HTMLフラグメント(部分的なHTML文書など)を受け取り、それを基本的なHTML構造でラップして完全なHTML構造に変換します。<html>そしてテンプレート。 内部の Generate メソッドを呼び出します。
  2. GeneratePdfFromPage:完全な HTML ページを受け入れ、 Generateメソッドを直接呼び出します。 3.生成:このメソッドは、HTML から PDF への変換を処理します。
    • 生成された PDF をメモリに保持するための MemoryStream を初期化します。
    • レターサイズのページを持つ iTextSharp ドキュメントオブジェクトを作成します。
    • XMLWorkerHelper は HTML コンテンツを解析し、提供された StringReader を使用して PDF ドキュメントに書き込みます。

長所

  • 豊富な機能セットで非常にカスタマイズしやすいです。
  • 広範なドキュメントとコミュニティサポート。

短所

  • iTextSharp(個人使用は無料ですが、大規模プロジェクトには商業ライセンスが必要)は、複雑な CSS や JavaScript の処理に制限がある可能性があります。
  • XMLWorker(ここで使用される)は、iTextSharp の非推奨のツールであり、HTML/CSS の解析に使用されました。 iText7(iText の新しいバージョン)は、より堅牢な HTML パーサーである pdfHTML を使用しており、最新の Web 標準へのサポートをより提供できる可能性があります。
  • 初心者にはしきいが高く感じる可能性があります。

3. PDFsharp

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 3

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");
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument: PDF ドキュメント全体を表します。 ページを追加し、メタデータを設定し、文書を操作できます。
  • PdfPage:ドキュメント内の 1 ページを表します。 新しいページは AddPage メソッドを使用して追加されます。
  • XGraphics:特定のページにテキスト、画像、図形を描画するために使用されます。 .NET での GDI+ に似ています。
  • XFont:テキストレンダリングのフォントとスタイルを指定します。 この例では"Verdana"が太字スタイルで使用されています。
  • DrawString:指定された文字列をドキュメント内の定義された位置に描画します。

長所

  • ライセンスの制約のない無料およびオープンソース。
  • シンプルで軽量であり、基本的な PDF 生成をすばやく開始できます。
  • 複雑な機能を必要としないプロジェクトに適しています。

短所

  • 他のライブラリと比較して機能が制限されています。
  • HTML から PDF へのネイティブ サポートはありません。

4. Syncfusion PDF Library

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 4

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);
    }
}
$vbLabelText   $csharpLabel
  • PdfDocument: PDF ドキュメントを表します。 ページを追加したり、プロパティを設定したり、その内容を操作できます。
  • PdfPage: PDF ドキュメント内のページを表します。
  • PdfFont:テキストをレンダリングするためのフォントを定義します。 この場合、標準の Helvetica フォントが使用されます。
  • DrawString:指定された文字列を PDF ページ上の指定された座標に描画します。

長所

  • 複雑な PDF の作成に適した豊富な機能セット。
  • プロフェッショナルサポートとドキュメントが提供され、大規模アプリケーションに最適です。
  • フォームの記入、暗号化、注釈など、高度な PDF 機能をサポートしています。

短所

  • 商用利用のためのライセンス料は比較的高額です。
  • 複雑な API であり、習得に時間が必要な場合があります。

5. PDFShift (オンライン ツール)

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 5

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 をカスタマイズできます。 また、ページ番号やドキュメント メタデータなどの動的なコンテンツをヘッダーやフッターに追加することもできます。

動作の仕組み

  • 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);
        }
    }
}
$vbLabelText   $csharpLabel
  • HttpClient: HTML コンテンツを POST リクエストとして PDFShift API に送信します。
  • PostAsync: API にリクエストを送信し、HTML を処理して PDF を返します。
  • ReadAsByteArrayAsync: PDF 応答をバイト配列として読み取り、ファイルとして保存できます。

長所

  • 設定が少なくて済むシンプルな API。
  • 動的なHTMLからPDFへの変換を必要とするWebアプリケーションに最適です。
  • PDFライブラリやサーバーを管理する必要はありません。

短所

  • HTML から PDF への変換に限られ、 より複雑な PDF 機能をサポートしていません。
  • インターネット接続が必要で、一定の使用量を超えると料金が発生します。

6. DocRaptor (オンライン ツール)

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 6

DocRaptor は、HTML と CSS を高品質な PDF に変換する、もう一つの強力な API ベースの PDF 生成サービスです。 特に複雑な CSS スタイル、メディアクエリ、Web フォントの処理において、HTML ドキュメントの優れたレンダリングで知られています。 これにより、DocRaptor は、レポート、請求書、eBook などを HTML テンプレートから直接生成するのに優れた選択となります。

主要機能

  • HTML および CSS のサポート:メディア クエリやフォントなどの複雑な CSS スタイルを含む HTML ドキュメントを変換します。
  • API 統合: Web アプリケーションへのシームレスな統合を実現する REST API。 -カスタム ヘッダー/フッター:ページ番号やカスタム書式などの動的なヘッダーとフッターを追加します。
  • PDF セキュリティ:暗号化とパスワード保護をサポートします。

動作の仕組み

  • 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);
        }
    }
}
$vbLabelText   $csharpLabel
  • API キー: DocRaptor を使用するときは、認証用の API キーを提供する必要があります。 "YOUR_API_KEY"を実際のキーに置き換えてください。
  • JsonData:この JSON 文字列には、HTML コンテンツ、ドキュメント名、およびタイプ (この場合は PDF) が含まれます。
  • PostAsync: PDF 生成のために HTML コンテンツとパラメータを DocRaptor API に送信します。

長所

  • HTML、CSS、JavaScript の完全サポート付きで高品質のレンダリング。
  • ドキュメントレイアウトおよびセキュリティの高度なカスタマイズオプション。
  • PDF 生成ライブラリやインフラストラクチャを管理する必要がありません。

短所

  • 無料使用限度を超えると有料サービスになります。
  • インターネット接続に依存します。

7. コードフリー オンライン ツール

コードを書きたくない場合や PDF を迅速に生成するための解決策が必要な場合、多くのオンラインツールが簡単に PDF を作成できるようにします。 注目すべきオプションをいくつか紹介します:

7.1. Smallpdf

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 7

Smallpdf は、さまざまなファイル形式から PDF を作成できる一連の PDF 関連ツールを提供するオンラインプラットフォームです。 コードを書く必要のない簡単なドラッグアンドドロップのインターフェースを求めるユーザー向けに設計されています。 Smallpdf は、Word ドキュメント、Excel シート、画像を PDF に変換するための迅速なファイル変換に広く使用されています。 PDF のマージ、圧縮、分割のツールも提供し、基本的な PDF タスクにとって多用途なツールです。

主要機能

-ファイル変換: Word、Excel、PowerPoint、画像ファイル (JPG、PNG) を PDF に変換できます。 これにより、さまざまなドキュメントタイプから迅速に PDF を作成する必要があるユーザーに理想的です。

  • PDF の結合と分割:複数の PDF を 1 つのファイルに結合したり、PDF を個別のページに分割したりするためのシンプルなインターフェイスを提供します。 -クラウド ストレージ統合: Google Drive または Dropbox からファイルを簡単にアップロードし、変換した PDF をこれらのプラットフォームに保存し直すことで、ファイル管理を効率化できます。
  • PDF 編集ツール:注釈の追加、フォームへの入力、ドキュメントへのデジタル署名など、既存の PDF ドキュメントを編集するための基本的な PDF 編集ツールを提供します。

長所

  • 非開発者向けには非常に使いやすいです。
  • 基本的な使用に対しては無料で、より多くの機能を利用するためのアップグレードオプションがあります。
  • 結合、分割、圧縮など、さまざまな PDF 関連ツールを提供します。

短所

  • コードベースのソリューションと比較してカスタマイズが限られています。
  • 無料の階層では機能制限がある可能性があります。

7.2. PDFescape

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 8

PDFescape は、ソフトウェアをインストールすることなく PDF を作成、編集、表示する Web ベースの PDF エディタであり、使いやすいものです。 PDFs のクイック編集やフォームフィリング、テキスト注釈の追加、画像の挿入を必要とする場合に適しています。 PDFescape には、新しい PDF のゼロからの作成ツールも用意されており、基本的なドキュメント作成に柔軟に対応できます。

主要機能

-フォームの入力と編集: PDF フォームの処理に優れています。 ユーザーは、契約書、申請書、その他のフォームに役立つ PDF ドキュメントでフォームを簡単に記入したり、既存のフィールドを編集することができます。 -基本的な PDF 作成:テキスト、図形、画像、フォーム フィールドを追加するためのツールを提供します。 簡潔なドキュメントの作成に役立ちます。 -注釈とコメント:既存の PDF にコメント、付箋、その他の注釈を追加できるため、PDFescape はドキュメントのレビューと共同作業に最適なツールになります。 -インストール不要:完全にブラウザ内で動作するため、ソフトウェアをインストールする必要はありません。 これにより、どこでも迅速に PDF ツールにアクセスする必要があるユーザーに最適です。

長所

  • 非技術的なユーザー向けにはシンプルで使いやすいです。
  • 基本的な PDF の作成と編集に対して無料の階層があります。
  • 多少の PDF 編集タスクに適しています。

短所

  • 複雑な PDF 作成のための高度な機能が不足しています。
  • デザインとフォーマットオプションが限られています。

7.3. PDF Candy

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 9

PDF Candy は、ファイル変換から編集に至る広範な PDF 関連タスクをカバーする一連の無料オンライン PDF ツールです。 アカウントを登録したりソフトウェアをインストールすることなく迅速な PDF 操作を必要とするユーザーに最適な選択肢です。 PDF Candy は、ワード ドキュメント、画像、テキスト ファイルなど、さまざまなファイル タイプの PDF への変換に対応しています。 また、PDF の結合、分割、圧縮のツールも提供しています。

主要機能

-幅広い変換オプション: Word 文書、画像、テキスト ファイルなど、複数のファイル形式を PDF に変換できます。 さまざまなタイプのコンテンツを扱うための柔軟なツールになります。

  • PDF の結合と分割:複数の PDF を 1 つに結合したり、大きな PDF をより小さく管理しやすいファイルに分割したりできます。 -ファイルのプライバシー:一定期間後にサーバーからファイルを自動的に削除し、ドキュメントのプライバシーを確保します。 -無料で使用可能:ほとんどのツールは登録なしで無料で使用できるため、幅広いユーザーが利用できます。 ただし、より頻繁な使用や大規模なファイル変換が必要な場合には、追加機能があるプレミアム バージョンも提供しています。

長所

  • 多くのユーザーにとって使いやすく完全無料です。
  • PDF への変換に対応したさまざまなファイルタイプをサポートしています。
  • 基本使用にはアカウント登録は不要です。

短所

  • 高度な PDF カスタマイズ機能が限られています。
  • 一部のツールには、ファイルサイズや変換の複雑性に関する制限がある場合があります。

結論

C# Generate PDF 7 Libraries Comparison (Free & Paid Tools): Figure 10

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。