Webview2 C# 範例(面向開發者的工作原理)
微軟最新推出的網頁視圖技術WebView2基於 Chromium 引擎,該引擎也用於驅動流行的 Microsoft Edge 瀏覽器。 固定版本分發允許 C# 開發人員將超文本標記語言、CSS 和 JavaScript 等 Web 技術直接嵌入到他們的原生應用程式中。 這種整合開啟了無限可能,從顯示動態內容到建構複雜的使用者介面,無所不能。
IronPDF 概述提供了在 C# 應用程式中產生、操作和渲染 PDF 文件的功能。 無論是將線上內容轉換為 PDF,還是從頭開始建立文檔,IronPDF 都提供了一種簡單直接的方法來處理 PDF 以及基於 Web 的資料和介面。
本教學將指導您如何在 C# 應用程式中整合 WebView2 和 IronPDF。從基本設定到進階功能,我們將探討如何協同使用這些工具來增強應用程式的功能。
WebView2簡介
WebView2 由基於 Chromium 的 Microsoft Edge 瀏覽器提供支持,代表了在 C# 應用程式中嵌入 Web 內容的重大進步。 這項技術使開發人員能夠將現代網路的全部功能融入他們的 Windows 應用程式中,從而提高效能、相容性和功能性。
鉻合金優勢
基於 Chromium: WebView2 利用與 Microsoft Edge 相同的引擎,與舊版 Web 視圖控制項相比,能夠更一致、更可靠地渲染 Web 內容。
現代 Web 標準:透過支援最新的 Web 標準,開發人員可以確保其 Windows 應用程式中的 Web 內容與目前的 Web 技術保持同步。
WebView2 入門指南
在 C# 專案中設定 WebView2
將 WebView2 整合到 C# 專案中是一個簡單的流程。 這涉及到透過 NuGet(微軟的 .NET 套件管理器)添加 WebView2 SDK。 該 SDK 提供必要的程式庫和工具,以便使用 WebView2 將 Web 內容嵌入到您的應用程式中。
在 Windows Forms 和 WPF 中實作 WebView2
WebView2 可用於不同類型的 C# 應用程序,包括 Windows Forms (WinForms) 和 Windows Presentation Foundation (WPF)。 每個框架在實作方面都有其細微差別,但核心概念保持不變:WebView2 充當應用程式內 Web 內容的容器。
載入網頁內容的基本範例
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
}
}在這段程式碼片段中,建立了 WebView2 的新實例,並將 IronPDF 的網站載入到其中。 這說明如何在 C# 應用程式中使用 WebView2 來渲染網頁。
嵌入基本網頁內容
在 WebView2 中顯示 HTML、CSS 和 JS
WebView2 使 C# 應用程式能夠嵌入和顯示標準 Web 內容。 這包括 HTML 頁面、用於樣式設定的層疊樣式表 (CSS) 和用於互動的 JavaScript。 控制功能類似於嵌入在應用程式中的 Web 瀏覽器,它會像在 Microsoft Edge 中一樣呈現 Web 內容。
在 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
}這段程式碼將 WebView2 控制項導覽到指定的網頁,並在應用程式中顯示該網頁。
與 JavaScript 交互
WebView2 允許與嵌入的網頁內容中的 JavaScript 進行互動。 這意味著您可以從 C# 應用程式執行 JavaScript 程式碼,反之亦然,從而實現動態內容更新和響應式使用者介面。
客製化網路體驗
使用 WebView2,您可以控制網頁內容的顯示方式,並且可以自訂大小、可見度和使用者互動設定等各個方面。 這種自訂功能可以將網頁內容無縫整合到應用程式的原生使用者介面中。
整合 WebView2 和 IronPDF
IronPDF 專門用於將HTML 轉換為 PDF ,並精確保留原始佈局和樣式。 此功能對於從基於 Web 的內容(例如報告、發票和文件)產生 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");
}
}結合使用 WebView2 和 IronPDF
在 C# 專案中將 WebView2 和 IronPDF 結合使用,可以帶來令人興奮的可能性。 雖然 WebView2 在顯示和與 Web 內容互動方面表現出色,但 IronPDF 在將這些內容轉換為 PDF 格式方面表現卓越。 這種整合使開發人員能夠創建不僅可以顯示網頁內容,而且還能將網頁內容轉換為 PDF 文件的應用程式。
使用 IronPDF 擷取 WebView2 內容
建立一個包含 WebView2 的 Windows 窗體應用程序,可讓使用者在應用程式內瀏覽網路。首先,將 WebView2 控制項新增至窗體。 此控制項應佔據表單的大部分空間,為網頁瀏覽提供充足的空間。 此外,還應包含網址列和按鈕等導航控件,以提供完整的瀏覽體驗。
新增 PDF 轉換功能
在表單上新增一個名為"轉換為 PDF"的按鈕。使用者點擊此按鈕後,即可使用 IronPDF 將目前瀏覽的網頁轉換為 PDF 文件。
安裝 IronPDF 庫
使用 NuGet 套件管理器安裝
若要使用 NuGet 套件管理器將 IronPDF 整合到 WebView2 專案中,請依照下列步驟操作:
- 開啟 Visual Studio,在解決方案資源管理器中,以滑鼠右鍵按一下您的專案。
- 從上下文選單中選擇"管理 NuGet 套件…"。
- 前往瀏覽標籤並蒐尋 IronPDF。
- 從搜尋結果中選擇 IronPDF 庫,然後按一下安裝按鈕。
- 接受任何許可協議提示。
如果要透過套件管理器控制台將 IronPDF 新增至專案中,請在套件管理器控制台中執行下列命令:
Install-Package IronPdf
它會將 IronPDF 取得並安裝到您的專案中。
使用 NuGet 網站安裝
如需詳細了解 IronPDF,包括其功能、相容性和其他下載選項,請造訪 NuGet 網站上的 IronPDF 頁面。https://www.nuget.org/packages/IronPdf 。
透過 DLL 安裝
或者,您也可以使用 IronPDF 的 DLL 檔案將其直接整合到您的專案中。請從此DLL 下載頁面下載包含該 DLL 的 ZIP 檔案。 解壓縮文件,並將 DLL 文件包含在您的專案中。
實作轉換邏輯
當使用者點擊"轉換為 PDF"按鈕時,您的應用程式應該會捕獲 WebView2 控制項中顯示的 URL 或 HTML 內容。 利用 IronPDF 的功能將此網頁內容轉換為 PDF 檔案。 以下是一個範例方法:
1.取得目前內容:當使用者啟動轉換時,從 WebView2 控制項取得目前內容。 這可以是網址,也可以是直接的HTML內容。 2.使用 IronPDF 產生 PDF:使用 IronPDF 從捕獲的網頁內容建立 PDF。 ChromePdfRenderer的RenderUrlAsPdf方法可以將目前網頁渲染成 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!");
}以下是使用者介面輸出:
Webview2 C# 範例(開發者使用指南):圖 3 - 網頁轉 PDF
點擊"轉換"按鈕後,網頁內容將轉換為 PDF 格式,並顯示以下訊息方塊:
結論
Webview2 C# 範例(開發者使用指南):圖 5 - 許可證
當我們結束對 WebView2 和 IronPDF 在 C# 開發領域的探索時,很明顯,這兩種技術的協同作用為創建動態和多功能的應用程式提供了一系列豐富的功能。
透過整合 WebView2,您可以將進階 Web 技術直接嵌入到您的 C# 應用程式中,從而增強其功能和使用者體驗。 IronPDF 提供了將這些基於 Web 的介面和內容轉換為易於存取的 PDF 文件的工具,從而完善了這項功能,非常適合用於報告、文件和資料共享。
透過IronPDF 的免費試用版體驗 IronPDF 的全部潛力,並以$799起的授權解鎖全部功能。
常見問題解答
WebView2是什麼?它對C#開發人員為何如此重要?
WebView2 是微軟基於 Chromium 核心的最新 Web 視圖技術。它允許 C# 開發人員將 HTML、CSS 和 JavaScript 等 Web 技術嵌入到他們的應用程式中,從而創建動態內容和複雜的使用者介面。
如何將 WebView2 整合到 C# 應用程式中?
要將 WebView2 整合到 C# 應用程式中,您需要透過 NuGet 新增 WebView2 SDK。這提供了必要的程式庫,可在應用程式中嵌入 Web 內容,無論是 Windows Forms 專案還是 WPF 專案。
如何在 C# 應用程式中將 WebView2 中顯示的 HTML 內容轉換為 PDF?
您可以使用 IronPDF 將 WebView2 中顯示的 HTML 內容轉換為 PDF。從 WebView2 擷取內容或 URL,然後使用 IronPDF 的RenderUrlAsPdf或RenderHtmlAsPdf方法將其轉換為 PDF 文件。
在 C# 中使用 WebView2 相比傳統的 Web 視圖技術有哪些優點?
WebView2 具有許多優勢,例如支援現代 Web 標準、使用 Chromium 引擎進行可靠渲染,以及將 Web 內容無縫整合到原生應用程式中,從而提升效能和使用者體驗。
我可以在 Windows Forms 和 WPF 應用程式中都使用 WebView2 嗎?
是的,WebView2 可以在 Windows Forms 和 WPF 應用程式中實現,作為在這些類型的 C# 應用程式中渲染 Web 內容的多功能容器。
IronPDF 如何增強使用 WebView2 的應用程式的功能?
IronPDF 透過允許使用 WebView2 的應用程式將顯示的網頁內容轉換為 PDF 文檔,從而增強了應用程式的功能。這對於報表產生和直接從應用程式產生文件等功能非常有用。
如何使用 NuGet 在 C# 專案中安裝 IronPDF?
若要使用 NuGet 安裝 IronPDF,請開啟 Visual Studio,右鍵點擊您的項目,選擇“管理 NuGet 套件...”,搜尋 IronPDF,然後按一下“安裝”。或者,使用程式包管理器控制台,執行命令Install-Package IronPdf 。
IronPDF能否在C#應用程式中將線上網址轉換為PDF?
是的,IronPDF 可以將線上 URL 轉換為 PDF 文件。您可以使用RenderUrlAsPdf方法從 URL 取得網頁並將其轉換為 PDF,同時保留其佈局和樣式。
請舉一個在 C# 的 WebView2 中載入網頁內容的簡單範例?
一個簡單的例子是建立一個新的 WebView2 實例,將其來源設定為 URL,然後在 C# 應用程式中顯示該網頁,從而允許嵌入 Web 內容。
開發者如何在應用程式中結合使用 WebView2 和 IronPDF 來獲得哪些好處?
透過將 WebView2 和 IronPDF 結合起來,開發人員可以建立顯示 Web 內容並將其轉換為 PDF 的應用程序,從而增強動態內容管理、報告和文件生成等功能。







