跳過到頁腳內容
.NET幫助

Webview2 C# 示例(開發者的工作原理)

WebView2 是 Microsoft 最新迭代的網頁檢視技術,以 Chromium 引擎為基礎,而 Chromium 引擎與廣受歡迎的 Microsoft Edge 瀏覽器的引擎相同。 固定版本分發可讓 C# 開發人員直接將超文字標示語言、CSS 和 JavaScript 等網頁技術嵌入其本機應用程式中。 從顯示動態內容到建立複雜的使用者介面,這種整合開啟了一個充滿可能性的世界。

IronPDF概述提供了在 C# 應用程式中產生、處理和渲染 PDF 文件的功能。 無論是將線上內容轉換為 PDF,或是從頭開始建立文件,IronPDF 都能提供直接的方法,讓您在處理 PDF 的同時,也能處理網頁型資料和介面。

本教程將引導您在 C# 應用程式中整合 WebView2 和 IronPDF。從基本設定到進階功能,我們將探討如何串聯使用這些工具來增強應用程式的功能。

WebView2 簡介

WebView2 由基於 Chromium 的 Microsoft Edge 瀏覽器支援,代表了在 C# 應用程式中嵌入網頁內容的一大進步。 此技術讓開發人員可以將現代網路的所有功能整合到他們的 Windows 應用程式中,提供更強的效能、相容性和功能。

Chromium Edge 的優勢

以 Chromium 為基礎:WebView2 採用與 Microsoft Edge 相同的引擎,相較於舊式的網頁檢視控制項,WebView2 可提供更一致、更可靠的網頁內容呈現。

現代網路標準:透過對最新 Web 標準的支援,開發人員可以確保其 Windows 應用程式中的 Web 內容與目前的 Web 技術保持同步。

開始使用 WebView2

在 C# 專案中設定 WebView2

將 WebView2 整合到 C# 專案中是一個簡單直接的過程。 這涉及到透過微軟的 .NET 套件管理員 NuGet 來新增 WebView2 SDK。 本 SDK 提供必要的函式庫和工具,以便使用 WebView2 將 Web 內容嵌入到您的應用程式中。

Webview2 C# Example (How it Works For Developers):圖 1 - WebView2

在 Windows 窗體和 WPF 中實作 WebView2。

WebView2 可在不同類型的 C# 應用程式中使用,包括 Windows Forms (WinForms) 和 Windows Presentation Foundation (WPF)。 每個框架在實作上都有其細微的差異,但核心概念是相同的:WebView2 在您的應用程式中扮演網頁內容容器的角色。

載入網頁內容的基本範例

一旦 WebView2 設定完成,您就可以開始將網頁載入您的應用程式。 這可以像設定來源 URL 以顯示網頁一樣簡單。 以下是一個基本範例,讓您可以開始使用:

using System;
using Microsoft.Web.WebView2.WinForms; // Ensure WebView2 is included

public class WebViewExample
{
    public void LoadWebPage()
    {
        var webView = new WebView2();
        webView.Source = new Uri("https://www.ironpdf.com");
        // The URI of IronPDF's site is set as the source URL for WebView
    }
}
using System;
using Microsoft.Web.WebView2.WinForms; // Ensure WebView2 is included

public class WebViewExample
{
    public void LoadWebPage()
    {
        var webView = new WebView2();
        webView.Source = new Uri("https://www.ironpdf.com");
        // The URI of IronPDF's site is set as the source URL for WebView
    }
}
Imports System
Imports Microsoft.Web.WebView2.WinForms ' Ensure WebView2 is included

Public Class WebViewExample
	Public Sub LoadWebPage()
		Dim webView = New WebView2()
		webView.Source = New Uri("https://www.ironpdf.com")
		' The URI of IronPDF's site is set as the source URL for WebView
	End Sub
End Class
$vbLabelText   $csharpLabel

在此程式碼片段中,會建立一個 WebView2 的新實例,並將 IronPDF 的網站載入其中。 說明如何使用 WebView2 在 C# 應用程式中渲染網頁。

Webview2 C# Example (How it Works For Developers):圖 2 - IronPdf

嵌入基本 Web 內容

在 WebView2 中顯示 HTML、CSS 和 JS。

WebView2 可讓 C# 應用程式嵌入並顯示標準的網頁內容。 這包括 HTML 頁面、用於樣式設計的 Cascading Style Sheets 以及用於互動性的 JavaScript。 控制功能類似於嵌入在應用程式中的網頁瀏覽器,可呈現出 Microsoft Edge 中顯示的網頁內容。

在 WebView2 中載入網頁

WebView2 的主要功能是載入和顯示網頁。 這可透過指定 URL 或直接載入 HTML 內容來達成。 舉例來說

public void NavigateWebPage()
{
    var webView = new WebView2();
    webView.CoreWebView2.Navigate("https://www.ironpdf.com");
    // Navigates to the specified URL displaying the page in the application
}
public void NavigateWebPage()
{
    var webView = new WebView2();
    webView.CoreWebView2.Navigate("https://www.ironpdf.com");
    // Navigates to the specified URL displaying the page in the application
}
Public Sub NavigateWebPage()
	Dim webView = New WebView2()
	webView.CoreWebView2.Navigate("https://www.ironpdf.com")
	' Navigates to the specified URL displaying the page in the application
End Sub
$vbLabelText   $csharpLabel

此代碼會將 WebView2 控件導航到指定的網頁,並在應用程式中顯示該網頁。

與 JavaScript 互動

WebView2 允許在內嵌的網頁內容中與 JavaScript 互動。 這表示您可以從 C# 應用程式執行 JavaScript 程式碼,反之亦然,從而實現動態內容更新和回應式使用者介面。

自訂網頁體驗

使用 WebView2,您可以控制網頁內容的顯示方式,並可自訂各方面,例如大小、可見性和使用者互動設定。 這種客製化的方式可將網頁內容無縫整合至應用程式的原生使用者介面。

整合 WebView2 和 IronPDF。

IronPDF 專精於將 HTML 轉換為 PDF,精確地保留原始版面與樣式。 此功能對於從網頁內容(如報告、發票和文件)產生 PDF 尤其有用。 它支援將 HTML 檔案、URL 甚至原始 HTML 字串轉換為高品質的 PDF 檔案。

using IronPdf;

class PdfConversionExample
{
    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");
    }
}
using IronPdf;

class PdfConversionExample
{
    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");
    }
}
Imports IronPdf

Friend Class PdfConversionExample
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

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

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

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

一起使用 WebView2 和 IronPDF

WebView2 與 IronPDF 在 C# 專案中的結合開啟了令人振奮的可能性。 WebView2 在顯示網頁內容並與之互動方面表現優異,而 IronPDF 則擅長將這些內容轉換成 PDF 格式。 此整合功能可讓開發人員建立的應用程式不僅能顯示網頁內容,還能提供將網頁內容轉換為 PDF 文件的功能。

使用 IronPDF 捕捉 WebView2 內容

建立包含 WebView2 的 Windows Forms 應用程式,可讓使用者在應用程式中瀏覽網際網路。首先將 WebView2 控件加入您的窗體。 此控制項應填滿表格的大部分,提供足夠的空間供網頁瀏覽。 此外,還要包含導覽控制項,例如位址列和按鈕,以提供完整的瀏覽體驗。

新增 PDF 轉換功能

在您的表單上引入一個標示為"轉換為 PDF"的按鈕。此按鈕將觸發使用者使用 IronPDF 將目前檢視的網頁轉換成 PDF 文件。

安裝 IronPdf Library

使用 NuGet 套件管理員安裝

若要使用 NuGet Package Manager 將 IronPDF 整合至您的 WebView2 專案,請遵循下列步驟:

1.開啟 Visual Studio,在解決方案總管中,用滑鼠右鍵按一下專案。 2.從上下文功能表中選擇"管理 NuGet 套件..."。 3.前往瀏覽標籤,搜尋 IronPdf。 4.從搜尋結果中選擇 IronPDF 函式庫,然後按一下安裝按鈕。 5.接受任何許可協議提示。

如果您想透過套件管理員控制台將 IronPDF 包含在專案中,則在套件管理員控制台執行下列指令:

Install-Package IronPdf

它將擷取 IronPDF 並安裝到您的專案中。

使用 NuGet 網站安裝

如需 IronPDF 的詳細概述,包括其功能、相容性和其他下載選項,請造訪 NuGet 網站上的 IronPDF 頁面,網址為 https://www.nuget.org/packages/IronPdf

透過 DLL 安裝

另外,您也可以使用 IronPDF 的 DLL 檔案,直接將 IronPDF 納入您的專案中。從此 DLL 下載頁面下載包含 DLL 的 ZIP 檔案。 解壓縮,並將 DLL 包含在您的專案中。

執行轉換邏輯

當使用者按下"轉換為 PDF"按鈕時,您的應用程式應擷取 WebView2 控件中顯示的 URL 或 HTML 內容。 利用 IronPDF 的功能將此網頁內容轉換成 PDF。 以下是一個範例方法:

1.擷取目前內容:當使用者啟動轉換時,從 WebView2 控件擷取目前的內容。 這可以是 URL 或直接是 HTML 內容。 2.使用 IronPDF 生成 PDF:使用 IronPDF 從擷取的網頁內容建立 PDF。 ChromePdfRendererRenderUrlAsPdf 方法可以將目前的網頁渲染為 PDF 文件。 3.儲存與通知:將產生的 PDF 儲存至預先定義的位置,或提示使用者選擇儲存位置。 儲存 PDF 之後,通知使用者轉換成功,可能的方式是透過訊息方塊。

private void ConvertToPdfButton_Click(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString());
    pdf.SaveAs("ConvertedWebPage.pdf");
    MessageBox.Show("PDF conversion successful!");
}
private void ConvertToPdfButton_Click(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString());
    pdf.SaveAs("ConvertedWebPage.pdf");
    MessageBox.Show("PDF conversion successful!");
}
Private Sub ConvertToPdfButton_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderUrlAsPdf(webView.CoreWebView2.Source.ToString())
	pdf.SaveAs("ConvertedWebPage.pdf")
	MessageBox.Show("PDF conversion successful!")
End Sub
$vbLabelText   $csharpLabel

以下是 UI 的輸出:

Webview2 C# Example (How it Works For Developers):圖 3 - 網頁轉換為 PDF

當您按下轉換按鈕時,會將網頁轉換成 PDF,並顯示以下訊息方塊:

Webview2 C# Example (How it Works For Developers):圖 4 - 轉換確認

結論

Webview2 C# Example (How it Works For Developers):圖 5 - 授權

當我們結束對 WebView2 和 IronPDF 在 C# 開發領域的探索時,很明顯這兩種技術之間的協同作用為創建動態和多用途應用程式提供了豐富的功能。

透過整合 WebView2,您可以將先進的網頁技術直接嵌入 C# 應用程式,強化其功能與使用者體驗。 IronPdf 提供的工具可將這些基於 Web 的介面和內容轉換為可存取的 PDF 文件,非常適合報告、文件和資料分享,從而與此相輔相成。

透過 免費試用 IronPDF 體驗 IronPDF 的全部潛力,並透過 $799 開始的授權解鎖全部功能。

常見問題解答

什麼是 WebView2,為什麼它對 C# 開發人員很重要?

WebView2 是微軟最新的網頁檢視技術,以 Chromium 引擎為基礎。它允許 C# 開發人員在應用程式中嵌入 HTML、CSS 和 JavaScript 等網頁技術,從而創建動態內容和複雜的使用者介面。

如何將 WebView2 整合到 C# 應用程式中?

要將 WebView2 整合到 C# 應用程式中,您需要透過 NuGet 新增 WebView2 SDK。這提供了在您的應用程式中嵌入 Web 內容所需的函式庫,適用於 Windows 窗體或 WPF 專案。

如何在 C# 應用程式中將 WebView2 中顯示的 HTML 內容轉換為 PDF?

您可以使用 IronPDF 將 WebView2 中顯示的 HTML 內容轉換為 PDF。從 WebView2 擷取內容或 URL,然後使用 IronPDF 的 RenderUrlAsPdfRenderHtmlAsPdf 方法將其轉換成 PDF 文件。

與 C# 中傳統的網頁檢視技術相比,使用 WebView2 有哪些優點?

WebView2 的優勢包括支援現代網頁標準、使用 Chromium 引擎進行可靠的渲染,以及將網頁內容無縫整合至本機應用程式,從而提升效能與使用者體驗。

我可以在 Windows 窗體和 WPF 應用程式中使用 WebView2 嗎?

是的,WebView2 可以在 Windows 窗體和 WPF 應用程式中實作,是在這些類型的 C# 應用程式中渲染網頁內容的多功能容器。

IronPDF 如何增強使用 WebView2 的應用程式的功能?

IronPDF 透過允許使用 WebView2 的應用程式將顯示的網頁內容轉換成 PDF 文件來增強功能。這對於報告和直接從應用程式產生文件等功能非常有用。

使用 NuGet 在 C# 專案中安裝 IronPDF 的步驟為何?

要使用 NuGet 安裝 IronPDF,請開啟 Visual Studio,右鍵按一下專案,選擇「管理 NuGet 套件...」,搜尋 IronPDF,然後按一下「安裝」。或者,使用套件管理員控制台,執行指令 Install-Package IronPdf

IronPDF 可以在 C# 應用程式中將線上 URL 轉換為 PDF 嗎?

是的,IronPDF 可以將線上 URL 轉換成 PDF 文件。您可以使用 RenderUrlAsPdf 方法從 URL 抓取網頁並將其轉換為 PDF,同時保留其佈局和樣式。

在 WebView2 for C# 中載入網頁內容的簡單範例是什麼?

一個簡單的範例是:建立 WebView2 的新實例,將其來源設定為 URL,然後在 C# 應用程式中顯示網頁,並允許嵌入網頁內容。

開發人員如何從結合 WebView2 與 IronPDF 的應用程式中獲益?

透過結合 WebView2 與 IronPDF,開發人員可以建立顯示網頁內容並將其轉換為 PDF 的應用程式,強化動態內容管理、報表和文件產生等功能。

Jacob Mellor, Team Iron 首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技術官,作為 C# PDF 技術的先鋒工程師。作為 Iron Software 核心代碼的原作者,他自開始以來塑造了公司產品架構,與 CEO Cameron Rimington 一起將其轉變為一家擁有超過 50 名員工的公司,為 NASA、特斯拉 和 全世界政府機構服務。

Jacob 持有曼徹斯特大學土木工程一級榮譽学士工程學位(BEng) (1998-2001)。他於 1999 年在倫敦開設了他的第一家軟件公司,並於 2005 年製作了他的首個 .NET 組件,專注於解決 Microsoft 生態系統內的複雜問題。

他的旗艦產品 IronPDF & Iron Suite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。