IRONSOFTWAREHOME
開発者向けアップデート

Cefsharp.WPF.NET Core (開発者向けの仕組み)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年7月5日

開発者は、Chromium Embedded Frameworkに基づいた独創的な.NETラッパーであるCefSharpを使用して、Chromiumの強力なウェブブラウザーエンジンを.NETデスクトップアプリケーションやWPFアプリケーションに簡単に統合できるようになりました。 CefSharpは.NETアプリ開発者に、Chromiumのウェブ機能と開発ツールを外部依存なしに活用させることにより、カスタマイズされたデスクトップインターフェース内で豊かなウェブ体験を可能にします。 カスタマイズオプションやブラウザーの動作に対する制御など、多くの新機能を備えたこのフレームワークは、HTML5、CSS3、JavaScriptといった現代のウェブ技術を統合することを容易にします。

ユーザーのデスクトップソリューションでのウェブベースのコンテンツとの相互作用が、CefSharpのクロスプラットフォームでの互換性とウェブコンテンツの相互作用機能によって変革され、アプリケーション環境内での動的なウェブサーフ体験を可能にします。 この記事では、CefSharpのオープンソース版についてコードスニペットを用いて解説します。

CefSharpの使い方

  1. Visual Studioプロジェクトから新しいWindowsフォームを作成します。
  2. ライブラリCefSharpをインストールします。
  3. CefSharpのコンパイル準備ができている必要なオブジェクトを宣言します。
  4. 読み込みたいURLを入力します。
  5. コードを実行します。

CefSharp.WinForms をインストールします。

  • Visual StudioのNuGetパッケージマネージャーを使用する方法が、CefSharpをインストールする最も簡単な方法です。
  • Visual Studioでプロジェクトを起動します。
  • ソリューションエクスプローラーで、プロジェクトを右クリックします。
  • "NuGetパッケージの管理"を選択します。
  • "参照"タブに移動し、"CefSharp"を検索します。
  • プロジェクトに適したCefSharpパッケージ(CefSharp.Wpf、CefSharp.WinFormsなど)を選択します。
  • "インストール"をクリックしてパッケージをプロジェクトに含めます。

CefSharpの重要性

CefSharpは、Chromiumのウェブブラウザーエンジンの威力を.NETアプリケーションに容易に統合することで、開発者がデスクトップアプリや自動化プロジェクトの構築方法を変革するフレームワークです。 CefSharpを使用することで、HTML5サポートを活用した埋め込みUIを含むリモートウェブコンテンツを表示することができます。

CefSharpの紹介で強調すべき重要な点は次のとおりです:

  • Chromium Embedded Framework(CEF)はCefSharpの基礎となるフレームワークであり、Chromiumブラウザーの機能を他のプログラムに統合できるようにします。 GoogleのChromiumプロジェクトを使用することで、CefSharpはデスクトッププログラムに高度なウェブ機能をもたらします。
  • .NET統合:CefSharpはCefのための強力な.NETラッパーです。 プログラマーがC#や他 for .NET言語を使用して高速ウェブブラウザーをデスクトップ.NETアプリケーションに統合することを容易にします。
  • デスクトップアプリにおけるウェブサーフィン:CefSharpを使えば、開発者は簡単にウェブブラウジング機能をデスクトッププログラムに組み込むことができます。 この機能により、開発者はユーザーインターフェースにオンライン資料を組み込んだり、ウェブ対応の独自のデスクトップアプリを作成する可能性が広がります。 JavaScriptイベントが発生するときにコールバックを受け取ることができます。
  • 豊富なウェブ技術のサポート:CefSharpを使用することで、開発者はChromiumが提供する全ての機能を活用することができます。HTML5、CSS3、JavaScript、WebGLなど、最新のウェブ標準を含む最新のウェブ技術をサポートしています。 これにより、デスクトッププログラムに先端ウェブ技術を取り入れることが可能になります。
  • 柔軟性とカスタマイズ:CefSharpは開発者に多くの柔軟性とカスタマイズの可能性を提供し、イベントを処理し、JavaScriptを実行し、オンラインコンテンツと相互作用し、特定のアプリケーションニーズに応じてブラウザ動作を変更することができます。 CefSharp with WebGLは、ハードウェアアクセラレーションによるレンダリングのためにOpenGL/DirectXを利用し、3Dコンテンツをサポートします。

CefSharpを使用することで、開発者はデスクトップアプリケーションを改善し、ウェブサーフィン体験を促進し、アプリケーション環境内でユーザーに豊かで現代的な情報を提供することができます。

サンプルコード:

using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

namespace CefSharpExample
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;

        public MainForm()
        {
            InitializeComponent();

            // Initialize CefSharp settings
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);

            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL

            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form

            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }

        private void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Perform actions after the page has loaded
                Console.WriteLine("Finished loading.");
            }
        }

        // Dispose of Cef resources when the form is closed
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}

このコードは、Chromiumをベースにした埋め込みウェブブラウザーを持つ基本的なWinFormsアプリケーションを開発するためにCefSharpを使用します。 説明はこちらです:

  • CefSettings を使用して、CefSharp 設定を初期化します。
  • ChromiumWebBrowser:このクラスはCefSharpが提供するウェブブラウザーコントロールを表します。
  • LoadingStateChanged イベントは、ページの読み込みが完了したときなど、ブラウザの読み込み状態の変化を処理します。
  • MainForm_FormClosing イベントは、フォームの閉鎖時にCefリソースが適切にシャットダウンされることを保証します。

基本的な例については、CefSharpを使用してコンパイル準備が整ったアプリをMinimal Example Project on GitHubで確認できます。 より複雑な例プロジェクトはプロジェクトのソースで利用可能です。

IronPDFとCefSharpの連携

IronPDFのPDF生成機能をCefSharpのChromium Embedded Framework(CEF)ブラウザーと統合するには、.NETアプリケーションでCefSharpとIronPDFを一緒に使用する必要があります。 しかし、2022年1月の最新バージョンでは、CefSharpとIronPDFの間に直接的で即席のインターフェースはありません。

CefSharpの主な目標は、.NETプログラムにChromiumウェブブラウザーエンジンを統合し、アプリケーションのユーザーインターフェースを通じてオンラインコンテンツを表示し、対話させることです。 CefSharpはWPFおよびWindows Formsアプリケーションのためのブラウザーコントロールを提供します。

CefSharpとIronPDFは直接統合されていませんが、開発者は同じアプリケーションコンテキストで両方のライブラリを使用することができます。

IronPDF は HTML から PDF への変換に秀でており、元のレイアウトとスタイルを正確に保存します。 これは、レポート、請求書、ドキュメントなどの Web ベースのコンテンツから PDF を作成するのに最適です。 HTML ファイル、URL、または生の HTML 文字列のサポートにより、IronPDF は高品質な PDF ドキュメントを簡単に生成します。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronPDFをインストールする

IronPDFライブラリを取得するには、今後のステップに従ってください。 パッケージマネージャーに以下のコードを入力してください:

PM > Install-Package IronPdf

CefSharp.Wpf.NetCore (開発者向けの仕組み): 図 1 - IronPDFのインストール

代替として、NuGetパッケージマネージャーを使用して"IronPDF"パッケージを検索することができます。 IronPDFに関連するすべてのNuGetパッケージのリストから、必要なパッケージを選択してダウンロードしてください。

CefSharp.Wpf.NetCore (開発者向けの仕組み): 図 2 - IronPDF

Using IronPDF in CefSharp C#

C#アプリケーションでIronPDFをCefSharpと統合するには、2つのステップを実行する必要があります:CefSharpが提供するChromiumベースのブラウザを使用してHTMLコンテンツをレンダリングし、その後、IronPDFを使用してそのHTML情報をPDFドキュメントに変換します。 次の例は、この統合を達成する方法を示しています:

using CefSharp;
using IronPdf;
using System;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CefSharpIronPdfIntegration
{
    public partial class MainForm : Form
    {
        private ChromiumWebBrowser chromeBrowser;

        public MainForm()
        {
            InitializeComponent();

            // Initialize CefSharp
            CefSettings settings = new CefSettings();
            Cef.Initialize(settings);

            // Create the ChromiumWebBrowser instance
            chromeBrowser = new ChromiumWebBrowser("https://ironpdf.com/"); // Load a URL

            // Add the ChromiumWebBrowser control to the form
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill; // Fill the entire form

            // Handle when the browser component has finished loading
            chromeBrowser.LoadingStateChanged += ChromeBrowser_LoadingStateChanged;
        }

        private async void ChromeBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
        {
            if (!e.IsLoading)
            {
                // Page has finished loading
                // Capture HTML content after page load completes
                string htmlContent = await chromeBrowser.GetSourceAsync();

                // Use IronPDF to generate a PDF from the captured HTML content
                var Renderer = new IronPdf.HtmlToPdf();
                var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
                PDF.SaveAs("Output.pdf"); // Save the generated PDF

                Console.WriteLine("PDF generated successfully.");
            }
        }

        // Dispose of Cef resources when the form is closed to avoid unnecessary memory usage
        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cef.Shutdown();
        }
    }
}

このコードは、Chromiumブラウザーで読み込むHTMLコンテンツをインターセプトし、IronPDFを使用してそれをPDFドキュメントに変換するという単純な統合を示しています。 説明はこちらです:

  • CefSharpを初期化してChromiumブラウザーをWindows Formsアプリケーションに統合します。
  • ChromiumWebBrowser コントロール: このコントロールは特定の URL(この例では"https://ironpdf.com/")をブラウザに読み込み、そのインスタンスを作成します。
  • LoadingStateChanged イベント: ブラウザの読み込み進行を追跡します。 ページの読み込みが完了したとき(e.IsLoading が false の場合)、ChromeBrowser は GetSourceAsync() を使用してロードされたページの HTML コンテンツを非同期でキャプチャします。
  • IronPDF 統合: キャプチャされた HTML コンテンツ (htmlContent) は、IronPDF の HtmlToPdf 機能を使用して PDF ドキュメントに変換されます。 生成されたPDFは"Output.pdf"として保存されます。
  • フォームを閉じる: フォームが閉じられた後、Cef.Shutdown() を呼び出すことで、Cef リソースが適切にシャットダウンされていることを保証します。

CefSharp.Wpf.NetCore (開発者向けの仕組み): 図 3 - 出力

このコードは、Chromiumブラウザーで読み込むHTMLコンテンツをインターセプトし、その後IronPDFを使用してそれをPDFドキュメントに変換するという単純な統合を示しています。 URL、エラー処理、および他の側面をアプリケーションの特定のニーズに合わせてカスタマイズしてください。 IronPDFドキュメンテーションの詳細については、IronPDF NuGet Packageをご参照ください。

結論

C#アプリケーションでのCefSharpとIronPDFの統合により、ドキュメント管理およびオンライン情報の管理に新たな可能性が開けます。 IronPDFのPDF生成機能とCefSharpが提供するChromiumベースのブラウザーを組み合わせることで、開発者は動的なウェブコンテンツを組み込んだ高品質なPDFドキュメントを生成することができる柔軟なアプリケーションを作成できます。

IronPDF の Lite パッケージは $999 用に利用可能で、一年間のソフトウェアメンテナンス契約、アップグレードオプション、永久ライセンス、30 日間の返金保証が含まれています。 30日間の試用期間中、ユーザーは試用版の透かし入りバージョンで実際のシナリオで製品を評価できます。 IronPDFのコスト、ライセンス、および無料版について詳しくは、IronPDFライセンス情報をご覧ください。 Iron Softwareの詳細については、Iron Softwareホームページをご覧ください。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から