IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Cefsharp.WPF..NET Core (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 5 lipca 2026

Programiści mogą teraz łatwo zintegrować potężny silnik przeglądarki Chromium ze swoimi aplikacjami desktopowymi .NET i aplikacjami WPF dzięki CefSharp, nowatorskiej nakładce .NET na Chromium Embedded Framework. CefSharp umożliwia programistom aplikacji .NET tworzenie bogatych doświadczeń internetowych w ramach dostosowanych interfejsów pulpitu, pozwalając im korzystać z funkcji internetowych i narzędzi programistycznych Chromium bez żadnych zewnętrznych zależności. Dzięki szerokiej gamie nowych funkcji, takich jak opcje dostosowywania i kontrola nad zachowaniem przeglądarki, framework ten ułatwia integrację nowoczesnych technologii internetowych, takich jak HTML5, CSS3 i JavaScript.

Interakcje użytkowników z treściami internetowymi w rozwiązaniach desktopowych oraz ich doświadczenia w tym zakresie ulegają transformacji dzięki międzyplatformowej interoperacyjności CefSharp oraz możliwościom interakcji z treściami internetowymi, które podnoszą jakość programów desktopowych i umożliwiają dynamiczne przeglądanie stron internetowych bezpośrednio w środowisku aplikacji. W tym artykułe przyjrzymy się bliżej wersji open source CefSharp, korzystając z fragmentów kodu.

Jak korzystać z CefSharp

  1. Utwórz nowy formularz Windows Form w projekcie Visual Studio.
  2. Zainstaluj bibliotekę CefSharp.
  3. Zadeklaruj wymagany obiekt dla CefSharp, który jest gotowy do minimalnej kompilacji.
  4. Wprowadź adres URL, który ma zostać załadowany.
  5. Uruchom kod.

Zainstaluj CefSharp.WinForms:

  • Najłatwiejszym sposobem na zainstalowanie CefSharp jest użycie menedżera pakietów NuGet w Visual Studio.
  • Uruchom projekt w Visual Studio.
  • W oknie Solution Explorer kliknij prawym przyciskiem myszy swój projekt.
  • Wybierz "Zarządzaj pakietami NuGet".
  • Przejdź do zakładki "Przeglądaj" i wyszukaj "CefSharp".
  • Wybierz pakiet CefSharp (CefSharp.Wpf, CefSharp.WinForms itp.), który jest odpowiedni dla Twojego projektu.
  • Aby dodać pakiet do swojego projektu, kliknij "Zainstaluj".

Znaczenie CefSharp

CefSharp to framework, który zmienia sposób, w jaki programiści tworzą aplikacje desktopowe i projekty automatyzacji z wbudowanymi funkcjami przeglądania stron internetowych, płynnie integrując możliwości silnika przeglądarki Chromium z aplikacjami .NET Framework. Dzięki CefSharp możemy wyświetlać zdalne treści internetowe, w tym osadzony interfejs użytkownika zbudowany z obsługą HTML5.

Ważne kwestie, na które należy zwrócić uwagę we wstępie do CefSharp, to:

  • Chromium Embedded Framework (CEF) służy jako framework dla CefSharp, umożliwiając integrację funkcji przeglądarki Chromium z innymi programami. Wykorzystując projekt Chromium firmy Google, CefSharp wzbogaca programy desktopowe o zaawansowane funkcje internetowe.
  • Integracja z .NET: CefSharp to potężna nakładka .NET dla Cef. Ułatwia to programistom korzystanie z języka C# lub innych języków .NET w celu zintegrowania szybkiej przeglądarki internetowej z ich aplikacjami .NET na komputery stacjonarne.
  • Przeglądanie stron internetowych w aplikacjach desktopowych: Dzięki CefSharp programiści mogą z łatwością włączać funkcje przeglądania stron internetowych do swoich programów desktopowych. Ta funkcja otwiera przed programistami szerokie możliwości, umożliwiając im włączanie materiałów internetowych do interfejsów użytkownika lub tworzenie unikalnych aplikacji desktopowych z obsługą sieci. Może otrzymywać wywołania zwrotne po uruchomieniu zdarzeń JavaScript.
  • Obsługa zaawansowanych technologii internetowych: Korzystając z CefSharp, programiści mogą wykorzystać wszystkie możliwości oferowane przez Chromium, w tym obsługę najnowszych standardów internetowych, takich jak HTML5, CSS3, JavaScript, WebGL i innych nowoczesnych standardów internetowych. Umożliwia to włączenie najnowocześniejszych technologii internetowych do programów desktopowych.
  • Elastyczność i dostosowywanie: CefSharp zapewnia programistom dużą elastyczność i możliwości dostosowywania, pozwalając im obsługiwać zdarzenia, wykonywać kod JavaScript, wchodzić w interakcję z treściami online oraz modyfikować zachowanie przeglądarki w celu dostosowania jej do konkretnych potrzeb aplikacji. CefSharp z WebGL, który wykorzystuje OpenGL/DirectX do renderowania z przyspieszeniem sprzętowym, obsługuje treści 3D.

Dzięki wykorzystaniu CefSharp programiści mogą ulepszyć aplikacje desktopowe, ułatwiając przeglądanie stron internetowych, zachęcając użytkowników do interakcji oraz zapewniając im bogate, aktualne informacje w środowisku aplikacji.

Przykładowy kod:

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();
        }
    }
}

Ten kod wykorzystuje CefSharp do tworzenia podstawowej aplikacji WinForms z wbudowaną przeglądarką internetową opartą na Chromium. Oto wyjaśnienie:

  • Zainicjuj ustawienia CefSharp, używając CefSettings.
  • ChromiumWebBrowser: Ta klasa reprezentuje kontrolkę przeglądarki internetowej dostarczaną przez CefSharp.
  • Zdarzenie LoadingStateChanged obsługuje zmiany stanu ładowania przeglądarki, na przykład, gdy strona się ładuje.
  • Zdarzenie MainForm_FormClosing zapewnia, że zasoby Cef są prawidłowo zamykane po zamknięciu formularza.

Aby zapoznać się z podstawowym przykładem aplikacji zbudowanych przy użyciu CefSharp, gotowych do kompilacji, zobacz Minimal Example Project na GitHubie. Bardziej skomplikowane projekty przykładów są dostępne w kodzie źródłowym projektu.

CefSharp with IronPDF

Integracja zdolności generowania PDF IronPDF z przeglądarką CefSharp's Chromium Embedded Framework (CEF) wymaga użycia razem CefSharp i IronPDF w aplikacji .NET. Jednak w najnowszej wersji ze stycznia 2022 nie ma bezpośredniego, "out-of-the-box" interfejsu między CefSharp a IronPDF.

Głównym celem CefSharp jest integracja silnika przeglądarki internetowej Chromium w programach .NET, co pozwala na wyświetlanie treści online i interakcję z nimi poprzez interfejs użytkownika aplikacji. CefSharp dostarcza kontrolki przeglądarki dla aplikacji WPF i Windows Forms.

Chociaż CefSharp i IronPDF nie są bezpośrednio zintegrowane, programiści wciąż mogą używać obu bibliotek w tym samym kontekście aplikacji.

IronPDF wyróżnia się w konwersji HTML do PDF, zapewniając precyzyjne zachowanie oryginalnych układów i stylów. Idealnie nadaje się do tworzenia plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Dzięki obsłudze plików HTML, adresów URL i surowych ciągów znaków HTML, IronPDF z łatwością tworzy wysokiej jakości dokumenty 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");
    }
}

Zainstaluj IronPDF

Aby zdobyć bibliotekę IronPDF, musisz wykonać następujące kroki. Wpisz następujący kod w Menedżerze Pakietów:

PM > Install-Package IronPdf

CefSharp.Wpf.NetCore (Jak to działa dla programistów): Rysunek 1 - Instalacja IronPDF

Alternatywnie, można użyć Menedżera Pakietów NuGet, aby wyszukać pakiet "IronPDF". Z listy wszystkich pakietów NuGet związanych z IronPDF wybierz i pobierz niezbędny pakiet.

CefSharp.Wpf.NetCore (Jak to działa dla programistów): Rysunek 2 - IronPDF

Using IronPDF in CefSharp C#

Aby zintegrować IronPDF z CefSharp w aplikacji C#, musisz wykonać dwa kroki: wykorzystać przeglądarkę opartą na Chromium udostępnianą przez CefSharp do renderowania zawartości HTML, a następnie użyć IronPDF do konwersji tych informacji HTML na dokument PDF. Poniższy przykład demonstruje, jak osiągnąć tę integrację:

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();
        }
    }
}

Ten kod pokazuje prostą integrację, w której zawartość HTML ładowana w przeglądarce Chromium jest przechwytywana, a następnie IronPDF jest używany do przekształcenia jej w dokument PDF. Oto wyjaśnienie:

  • Zainicjuj CefSharp, aby zintegrować przeglądarkę Chromium z aplikacją Windows Forms.
  • ChromiumWebBrowser Kontrola: Ta kontrola ładuje określony URL (w tym przykładzie, "https://ironpdf.com/") do przeglądarki i tworzy jego instancję.
  • LoadingStateChanged Zdarzenie: Śledzi postęp ładowania przeglądarki. Gdy strona kończy ładowanie (e.IsLoading jest false), ChromeBrowser asynchronicznie przechwytuje zawartość HTML załadowanej strony, używając GetSourceAsync().
  • Integracja z IronPDF: Przechwycona zawartość HTML (htmlContent) jest konwertowana do dokumentu PDF przy użyciu funkcji HtmlToPdf IronPDF. Wygenerowany PDF jest zapisywany jako "Output.pdf".
  • Zamykanie formularza: Upewnij się, że zasoby Cef są prawidłowo zamykane, wywołując Cef.Shutdown() po zamknięciu formularza.

CefSharp.Wpf.NetCore (Jak to działa dla programistów): Rysunek 3 - Wynik

Ten kod pokazuje prostą integrację, w której zawartość HTML ładowana w przeglądarce Chromium jest przechwytywana, a następnie konwertowana na dokument PDF przy użyciu IronPDF. Dostosuj URL, obsługę błędów i inne aspekty zgodnie ze specyficznymi potrzebami twojej aplikacji. Więcej informacji o dokumentacji IronPDF można znaleźć w Pakiecie NuGet IronPDF.

Wnioski

Integracja IronPDF z CefSharp w aplikacji C# otwiera nowe możliwości zarządzania dokumentami i informacjami online. Łącząc funkcje generowania PDF z IronPDF z przeglądarką opartą na Chromium dostarczaną przez CefSharp, programiści mogą tworzyć elastyczne aplikacje, które mogą generować wysokiej jakości dokumenty PDF, jednocześnie włączając dynamiczną zawartość webową.

Pakiet Lite IronPDF jest dostępny dla $999 i obejmuje roczną umowę na utrzymanie oprogramowania, opcje aktualizacji, licencję wieczystą oraz trzydziestodniową gwarancję zwrotu pieniędzy. Podczas trzydziestodniowego okresu próbnego użytkownicy mogą ocenić produkt w rzeczywistych scenariuszach przy użyciu oznaczonej wersji próbnej. Aby dowiedzieć się więcej o kosztach, licencjonowaniu i darmowej wersji IronPDF, odwiedź Informacje o Licencjonowaniu IronPDF. Aby uzyskać więcej informacji o Iron Software, odwiedź Stronę Internetową Iron Software.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta