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 相同的引擎,與舊版 Web 視圖控制項相比,能夠更一致、更可靠地渲染 Web 內容。
現代 Web 標準:透過支援最新的 Web 標準,開發人員可以確保其 Windows 應用程式中的 Web 內容與目前的 Web 技術保持同步。
開始使用 WebView2
在 C# 專案中設定 WebView2
將 WebView2 整合到 C# 專案中是一個簡單直接的過程。 這涉及到透過微軟的 .NET 套件管理員 NuGet 來新增 WebView2 SDK。 本 SDK 提供必要的函式庫和工具,以便使用 WebView2 將 Web 內容嵌入到您的應用程式中。

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

嵌入基本 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
此代碼會將 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
一起使用 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。 RenderUrlAsPdf 的 ChromePdfRenderer 方法可以將目前網頁渲染成 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
以下是 UI 的輸出:

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

結論

當我們結束對 WebView2 和 IronPDF 在 C# 開發領域的探索時,很明顯這兩種技術之間的協同作用為創建動態和多用途應用程式提供了豐富的功能。
透過整合 WebView2,您可以將先進的網頁技術直接嵌入 C# 應用程式,強化其功能與使用者體驗。 IronPDF 提供的工具可將這些基於 Web 的介面和內容轉換為可存取的 PDF 文件,非常適合報告、文件和資料分享,從而與此相輔相成。
透過IronPDF 的免費試用版體驗 IronPDF 的全部潛力,並從 $999 起解鎖全部功能。
常見問題解答
什麼是 WebView2,為什麼它對 C# 開發人員很重要?
WebView2 是微軟最新的網頁檢視技術,基於 Chromium 引擎。它允許 C# 開發人員將 HTML、CSS 和 JavaScript 等網頁技術嵌入到他們的應用程式中,從而實現動態內容和複雜的使用者界面。
如何將 WebView2 集成到 C# 應用程式中?
要將 WebView2 集成到 C# 應用程式中,您需要通過 NuGet 添加 WebView2 SDK。這提供了將網頁內容嵌入到您的應用程式中所需的庫,無論是 Windows Forms 還是 WPF 項目。
如何在 C# 應用程式中將 WebView2 中顯示的 HTML 內容轉換為 PDF?
您可以使用 IronPDF 將 WebView2 中顯示的 HTML 內容轉換為 PDF。從 WebView2 捕獲內容或 URL,然後使用 IronPDF 的 RenderUrlAsPdf 或 RenderHtmlAsPdf 方法將其轉換為 PDF 文檔。
在 C# 中使用 WebView2 相較於傳統網路瀏覽技術有什麼優勢?
WebView2 的優勢包括支持現代網路標準、使用 Chromium 引擎進行可靠的渲染,以及網頁內容的無縫整合到本機應用程式中,從而提升性能和用戶體驗。
我可以在 Windows Forms 和 WPF 應用程式中使用 WebView2 嗎?
是的,WebView2 可以在 Windows Forms 和 WPF 應用程式中實施,作為這些類型的 C# 應用程式中渲染網頁內容的多功能容器。
IronPDF 如何加強使用 WebView2 的應用程式功能?
IronPDF 通過允許使用 WebView2 的應用程式將顯示的網頁內容轉換為 PDF 文檔來增強其功能。這對於像報告和直接從應用程式生成文檔等功能很有用。
使用 NuGet 安裝 IronPDF 到 C# 項目的步驟是什麼?
要使用 NuGet 安裝 IronPDF,請打開 Visual Studio,右鍵單擊您的項目,選擇“管理 NuGet 軟件包...”,搜索 IronPDF,然後點擊“安裝”。或者,使用包管理器控制台並輸入命令 Install-Package IronPDF。
IronPDF 可以在 C# 應用程式中將在線 URL 轉換為 PDF 嗎?
是的,IronPDF 可以將在線 URL 轉換為 PDF 文檔。您可以使用 RenderUrlAsPdf 方法來獲取並將網址中的網頁轉換為 PDF,保留其佈局和樣式。
在 C# 中加載 WebView2 網頁內容的簡單示例是什麼?
一個簡單的示例是創建 WebView2 的新實例,將其來源設置為一個 URL,然後在您的 C# 應用程式中顯示網頁,允許嵌入的網頁內容。
開發人員如何從將 WebView2 和 IronPDF 結合在其應用程式中獲益?
通過將 WebView2 和 IronPDF 結合使用,開發人員可以創建顯示網頁內容並將其轉換為 PDF 的應用程式,增強功能如動態內容管理、報告和文檔生成。



