跳至页脚内容
.NET 帮助

Webview2 C# 示例(开发者如何使用)

WebView2,微软最新的网页视图技术版本,基于Chromium引擎,正是驱动流行的Microsoft Edge浏览器的引擎。 固定版本分发允许C#开发人员将超文本标记语言(HTML)、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

将WebView2集成到C#项目的过程很简单。 它涉及通过NuGet(微软的.NET包管理器)添加WebView2 SDK。 此SDK提供必要的库和工具,用于使用WebView2将网页内容嵌入到您的应用程序中。

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格式。 这种集成允许开发人员创建不仅能够显示网页内容,还提供功能将网页内容转换为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 安装

或者,您可以使用其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

这是用户界面输出:

Webview2 C#示例(它对开发人员的工作原理):图3 - 网页到PDF转换

当你点击转换按钮时,它将网页转换为PDF并显示以下消息框:

Webview2 C#示例(它对开发人员的工作原理):图4 - 转换确认

结论

Webview2 C#示例(它对开发人员的工作原理):图5 - 许可证

在我们完成对WebView2和IronPDF在C#开发领域的探讨时,很显然,这两种技术的协作为创建动态和多功能的应用程序提供了丰富的功能集合。

通过集成WebView2,您可以将先进的网页技术直接嵌入到您的C#应用程序中,增强其功能和用户体验。 IronPDF通过提供工具,将这些基于网络的界面和内容转换为可访问的PDF文档,理想用于报告、文档和数据共享。

通过免费试用IronPDF来体验IronPDF的全部潜力,并购买许可证,起价为$799,以解锁全部功能范围。

常见问题解答

什么是 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 文档。

在 C# 中使用 WebView2 相对于传统网页查看技术有什么优势?

WebView2 的优势包括支持现代网页标准,使用 Chromium 引擎进行可靠渲染,以及将网页内容无缝集成到本地应用中,从而提升性能和用户体验。

我可以在 Windows Forms 和 WPF 应用程序中使用 WebView2 吗?

是的,WebView2 可以在 Windows Forms 和 WPF 应用程序中实现,作为一个多功能容器在这些 C# 应用程序中渲染网页内容。

IronPDF 如何增强使用 WebView2 的应用程序功能?

IronPDF 通过允许使用 WebView2 的应用程序将显示的网页内容转换为 PDF 文档来增强功能。这对于直接从应用程序生成报告和生成文档等功能非常有用。

在 C# 项目中使用 NuGet 安装 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 的应用程序,增强功能,如动态内容管理、报告和文档生成。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。