跳至頁尾內容
.NET幫助

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

WebView2,是Microsoft最新的網頁檢視技術,基於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:由於使用與Microsoft Edge相同的引擎,WebView2提供了相較於舊的網頁檢視控制項更一致且可靠的網頁內容呈現。

現代網頁標準:支援最新的網頁標準,開發者可以確保其Windows應用程式中的網頁內容隨著現行的網頁技術保持更新。

開始使用WebView2

在C#專案中設置WebView2

在C#專案中整合WebView2是一個簡單的過程。 需要通過NuGet,即Microsoft的.NET包管理器,新增WebView2 SDK。 這個SDK提供了嵌入網頁內容到應用程式所需的程式庫和工具。

Webview2 C#範例(對開發者的運作方式): 圖1 - WebView2

在Windows Forms和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#範例(對開發者的運作方式): 圖2 - IronPDF

嵌入基本網頁內容

在WebView2中顯示HTML、CSS和JS

WebView2允許C#應用程式嵌入和顯示標準的網頁內容。 這包括HTML頁面,用於樣式設計的層疊樣式表(CSS)和用於互動的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

在C#專案中結合使用WebView2和IronPDF打開了一個令人興奮的可能性。 雖然WebView2在顯示和互動網頁內容方面表現優異,IronPDF則在將這些內容轉換為PDF格式方面出色。 這一整合允許開發者建立應用程式,不僅顯示網頁內容,還提供生成HTML而得的PDF文件功能

用IronPDF截取WebView2內容

建立一個包含WebView2的Windows Forms應用程式,允許使用者在您的應用中瀏覽互聯網。從在您的表單上新增WebView2控件開始。 這個控件應該佔據表單的一個重要部分,提供充足的空間供網頁瀏覽。 另外,包含像地址欄和按鈕等導航控制元件,以完成瀏覽體驗。

新增PDF轉換功能

在您的表單上引入一個標註為"轉換為PDF"的按鈕。這個按鈕將會是觸發使用者將當前查看的網頁轉換為使用IronPDF進行PDF文件轉換的觸發點。

安裝 IronPDF 程式庫

使用 NuGet 包管理器安裝

要通過NuGet包管理器將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文件。從此DLL下載頁面下載包含DLL的ZIP文件。 解壓縮後,將包含的DLL納入您的專案。

實踐轉換邏輯

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

  1. 捕捉當前內容: 當使用者啟動轉換時,從WebView2控件中獲取當前內容。 這可以是URL或者直接是HTML內容。
  2. 用IronPDF生成PDF: 使用IronPDF從捕捉的網頁內容建立PDF。 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
$vbLabelText   $csharpLabel

以下是使用者介面輸出:

Webview2 C#範例(對開發者的運作方式): 圖3 - 網頁到PDF轉換

當您按下轉換按鈕時,它將網頁轉換為PDF並顯示以下消息框:

Webview2 C#範例(對開發者的運作方式): 圖4 - 轉換確認

結論

Webview2 C#範例(對開發者的運作方式): 圖5 - 授權

隨著我們對WebView2和IronPDF進行的探索得出結論,這兩項技術間的協同能提供豐富的能力,讓您建立具有動態和多功能的應用程式。

通過整合WebView2,您可以將先進的網頁技術直接嵌入到您的C#應用程式中,增強其功能和使用者體驗。 IronPDF則提供工具來將這些基於網頁的接口和內容轉換成可存取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的RenderUrlAsPdfRenderHtmlAsPdf方法將其轉換成PDF文件。

使用WebView2相較於傳統網頁視窗技術在C#中的優勢是什麼?

WebView2提供了如現代網頁標準的支持、可靠的Chromium引擎渲染,以及網頁內容無縫整合到本機應用中等優勢,提升了性能和使用者體驗。

我可以在Windows Forms和WPF應用中使用WebView2嗎?

是的,WebView2可以在Windows Forms和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,保留其佈局和樣式。

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

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

開發者如何受益於在他們的應用中結合WebView2和IronPDF?

通過結合WebView2和IronPDF,開發者可以建立顯示網頁內容並將其轉換為PDF的應用,提高動態內容管理、報告和文件生成等功能。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話