在 VB.NET 和 C# 中创建 PDF - IronPDF 教程。

This article was translated from English: Does it need improvement?
Translated
View the article in English

本教程将逐步指导您如何在 VB.NET 中创建和编辑 PDF 文件。 此技术同样适用于 ASP.NET web 应用 以及 控制台应用程序Windows 服务桌面程序。 我们将使用 VB.NET 创建目标为 .NET Framework 4 或 .NET Core 2 的 PDF 项目。您只需要一个 Visual Basic .NET 开发环境,例如 Microsoft Visual Studio Community。

标题:2(快速入门: 在 VB.NET 中创建您的第一个 PDF)

在 VB.NET 中,使用 IronPDF 创建您的第一个 PDF 仅需两行代码即可开始。 本快速入门指南展示了 IronPDF 如何轻松集成到您的 .NET 应用程序中,使您能够快速生成 PDF 文档。 使用 IronPDF,您可以轻松将 HTML 内容转换为专业质量的 PDF 文件。 遵循这个简单的示例,看看您可以多快地生成第一个 PDF,并探索 IronPDF 为您的项目提供的灵活功能。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronPDF

    PM > Install-Package IronPdf

  2. 复制并运行这段代码。

    Dim PDF As New IronPdf.PdfDocument() 
    PDF.SaveAs("output.pdf")
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronPDF,免费试用!
    arrow pointer

标题:3(最小工作流程(5 步))

  1. 下载 VB.NET PDF 库
  2. 使用 VB.NET 库创建 PDF 文档
  3. 自定义您的 PDF 文档样式
  4. 选择创建动态内容的方法
  5. 从 VB.NET 库编辑您的 PDF 文件

使用 IronPDF 创建和编辑 PDF 的 VB .NET 代码

使用 VB.NET 将 HTML 渲染为 PDF,应用样式,利用动态内容,并轻松编辑您的文件。 创建 PDF 非常简单且兼容 .NET Framework 4,.NET Core 3.1,.NET 6 和 5。无需专有文件格式或不同的 API。

本教程提供文档,逐步指导您使用开发免费且受到开发者青睐的 IronPDF 软件 完成每个任务。 VB.NET 代码示例特定于您的使用案例,因此您可以在熟悉的环境中轻松看到步骤。 这款 VB.NET PDF 库具备全面的创建和设置功能,适用于任何项目,无论是在 ASP.NET 应用程序、控制台还是桌面中。

随 IronPDF 包含

  • 直接获得来自我们 .NET PDF 库开发团队的票务支持(真人!)
  • 兼容 HTML、ASPX 表单、MVC 视图、图像和您已经使用的所有文档格式
  • 使用 Microsoft Visual Studio 安装进行快速设置
  • 无限制的免费开发,许可证上线价始于 $799

第 1 步

1. 从 IronPDF 免费下载 VB .NET PDF 库

通过 NuGet 安装:

在 Visual Studio 中,右键单击您的项目解决方案资源管理器并选择"管理 NuGet 包..."。 从那里搜索 IronPDF 并安装最新版本。 单击出现的任何对话框的确定按钮。

这将适用于任何来自 Framework 4 及以上或 .NET Core 2 及以上的 C# .NET Framework 项目。 它也适用于 VB.NET 项目。

Install-Package IronPdf

NuGet软件包 - IronPdf

通过 DLL 安装:

或者,从 IronPDF 下载下载 IronPDF DLL,并手动安装到项目或 GAC 中。

在使用 IronPDF 的任何 VB.NET 类文件顶部添加以下语句:

Imports IronPdf

操作指南

2. 使用 VB.NET 创建 PDF

使用 Visual Basic ASP.NET 创建 PDF 文件与具有专有设计 API 的库(如 iTextSharp)相比,通过 IronPDF 变得出奇的简单。

我们可以使用 HTML(基于 Google Chromium 的像素完美渲染引擎)来定义我们的 PDF 内容,然后简单地将其渲染为文件。

在 VB.NET 中创建 PDF 的最简单代码:

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-1.cs

通过使用 System.Diagnostics.Process.Start 方法,我们打开操作系统的默认 PDF 查看器中的 PDF 以使项目更有意义。

从 URL 渲染任何现有网页为 PDF:

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-3.cs

要在 PDF/A 格式 中生成您的 PDF,首先在 IronPDF 中渲染,然后使用 Ghostscript 将其转换为 PDF/A。


3. 为 VB.NET PDF 应用样式

要在 VB.NET 中为 PDF 内容应用样式,我们可以充分利用 CSS、JavaScript 和图像。 我们可以链接到本地资产或基于远程/CDN 的资产,例如 Google 字体。 我们还可以使用 DataURIs 将图像和资产作为字符串嵌入到您的 HTML 中

对于高级设计,我们使用两步流程:

  1. 完美开发和设计 HTML,这可能涉及内部设计人员。
  2. 使用 VB.NET 和我们的 PDF 库将该文件渲染为 PDF。

VB.NET 代码将 HTML 文件渲染为 PDF:

Imports IronPdf

Module Module3
    Sub Main()
        ' Initialize PDF renderer
        Dim Renderer = New HtmlToPdf()

        ' Set rendering options
        Renderer.PrintOptions.CssMediaType = IronPdf.Rendering.PdfPrintOptions.PdfCssMediaType.Print
        Renderer.PrintOptions.EnableHtmlBackgrounds = False
        Renderer.PrintOptions.PaperOrientation = IronPdf.Rendering.PdfPrintOptions.PdfPaperOrientation.Landscape
        Renderer.PrintOptions.RenderDelay = 500 ' milliseconds

        ' Render the HTML file as a PDF
        Dim PDF = Renderer.RenderHtmlFileAsPdf("yourfile.html")

        ' Save PDF file
        PDF.SaveAs("styled_output.pdf")
    End Sub
End Module

示例 HTML 文件

此 HTML 创建动态、支持移动的幻灯片,位于 https://github.com/leemark/better-simple-slideshow

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-6.cs
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>A simple DIY responsive slideshow made with HTML5, CSS3, and JavaScript</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href='http://fonts.googleapis.com/css?family=Open+Sans|Open+Sans+Condensed:700' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="demo/css/demostyles.css">
        <link rel="stylesheet" href="css/simple-slideshow-styles.css">
    </head>
    <body>
        <!--[if lt IE 8]>
            <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
        <![endif]-->
        <header>
            <h1>A Better Simple Slideshow</h1>
            <p><span class="desc">A simple DIY responsive JavaScript slideshow.</span> [<a href="https://github.com/leemark/better-simple-slideshow">GitHub<span> repo</span></a>]</p>
        </header>
        <div class="bss-slides num1" tabindex="1" autofocus="autofocus">
            <figure>
              <img src="demo/img/medium.jpg" width="100%" /><figcaption>"Medium" by <a href="https://www.flickr.com/photos/thomashawk/14586158819/">Thomas Hawk</a>.</figcaption>
            </figure>
            <figure>
              <img src="demo/img/colorado.jpg" width="100%" /><figcaption>"Colorado" by <a href="https://www.flickr.com/photos/stuckincustoms/88370744">Trey Ratcliff</a>.</figcaption>
            </figure>
            <figure>
              <img src="demo/img/monte-vista.jpg" width="100%" /><figcaption>"Early Morning at the Monte Vista Wildlife Refuge, Colorado" by <a href="https://www.flickr.com/photos/davesoldano/8572429635">Dave Soldano</a>.</figcaption>
            </figure>
            <figure>
              <img src="demo/img/sunrise.jpg" width="100%" /><figcaption>"Sunrise in Eastern Colorado" by <a href="https://www.flickr.com/photos/35528040@N04/6673031153">Pam Morris</a>.</figcaption>
            </figure>
            <figure>
              <img src="demo/img/colorado-colors.jpg" width="100%" /><figcaption>"colorado colors" by <a href="https://www.flickr.com/photos/cptspock/2857543585">Jasen Miller</a>.</figcaption>
            </figure>
        </div> <!-- // bss-slides -->
<div class="content">
<h2>What is it?</h2>
<p>It's a fairly basic slideshow, written in javascript. This is a dual-purpose project, it's meant to be something you can drop right into your page and use if you so choose, but it's also meant as an example/tutorial script showing how to build a simple DIY slideshow from scratch on your own. <a href="http://themarklee.com/2014/10/05/better-simple-slideshow/">Here is a tutorial/walkthrough</a>.</p>
<h2>Features</h2>
<ul>
    <li>fully responsive</li>
    <li>option for auto-advancing slides, or manually advancing by user</li>
    <li>multiple slideshows per-page</li>
    <li>supports arrow-key navigation</li>
    <li>full-screen toggle using HTML5 fullscreen api</li>
    <li>swipe events supported on touch devices (requires <a href="https://github.com/hammerjs/hammer.js">hammer.js</a>)</li>
    <li>written in vanilla JS--this means no jQuery dependency (much &hearts; for <a href="https://github.com/jquery/jquery">jQuery</a> though!)</li>
</ul>
<h2>Getting Started</h2>
<ol>
<li><p>HTML markup for the slideshow should look basically like this, with a container element wrapping the whole thing (doesn't have to be a <span class="code">&lt;div&gt;</span>) and each slide is a <span class="code">&lt;figure&gt;</span>.</p>
<script src="https://gist.github.com/leemark/83571d9f8f0e3ad853a8.js"></script> </li>
<li>Include the script: <span class="code">js/better-simple-slideshow.min.js</span> or <span class="code">js/better-simple-slideshow.js</span></li>
<li>Include the stylesheet <span class="code">css/simple-slideshow-styles.css</span></li>
<li>Initialize the slideshow:
<script src="https://gist.github.com/leemark/479d4ecc4df38fba500c.js"></script>
</li>
</ol>
<h2>Options</h2>
To customize functionality, create an options object, then pass it into <span class="code">makeBSS()</span> as the second argument, as seen below:
<script src="https://gist.github.com/leemark/c6e0f5c47acb7bf9be16.js"></script>
<h2>Demo/Examples</h2>
    <h3>Example #1 (slideshow at top of this page)</h3>
    <p>HTML markup:</p>
    <script src="https://gist.github.com/leemark/19bafdb1abf8f6b4e147.js"></script>
    <p>JavaScript code:</p>
    <script src="https://gist.github.com/leemark/a09d2726b5bfc92ea68c.js"></script>
    <h3>Example #2 (below)</h3>
        <div class="bss-slides num2" tabindex="2">
           <figure>
              <img src="http://themarklee.com/wp-content/uploads/2013/12/snowying.jpg" width="100%" /><figcaption>"Snowying" by <a href="http://www.flickr.com/photos/fiddleoak/8511209344/">fiddleoak</a>.</figcaption>
           </figure>
            <figure>
                <img src="http://themarklee.com/wp-content/uploads/2013/12/starlight.jpg" width="100%" /><figcaption>"Starlight" by <a href="http://www.flickr.com/photos/chaoticmind75/10738494123/in/set-72157626146319517">ChaoticMind75</a>.</figcaption>
           </figure>
           <figure>
              <img src="http://themarklee.com/wp-content/uploads/2013/12/snowstorm.jpg" width="100%" /><figcaption>"Snowstorm" by <a href="http://www.flickr.com/photos/tylerbeaulawrence/8539457508/">Beaulawrence</a>.</figcaption>
           </figure>
            <figure>
              <img src="http://themarklee.com/wp-content/uploads/2013/12/misty-winter-afternoon.jpg" width="100%" /><figcaption>"Misty winter afternoon" by <a href="http://www.flickr.com/photos/22746515@N02/5277611659/">Bert Kaufmann</a>.</figcaption>
           </figure>
            <figure>
              <img src="http://themarklee.com/wp-content/uploads/2013/12/good-morning.jpg" width="100%" /><figcaption>"Good Morning!" by <a href="http://www.flickr.com/photos/frank_wuestefeld/4306107546/">Frank Wuestefeld</a>.</figcaption>
           </figure>
        </div> <!-- // bss-slides -->
<p>HTML markup:</p>
<script src="https://gist.github.com/leemark/de90c78cb73673650a5a.js"></script>
<p>JavaScript code:</p>
<script src="https://gist.github.com/leemark/046103061c89cdf07e4a.js"></script>
</div> <!-- // content -->
<footer>Example photos are property of their respective owners, all code is <a href="https://github.com/leemark/better-simple-slideshow/blob/gh-pages/LICENSE">freely licensed for your use</a>. <br>Made especially for you by <a href="http://themarklee.com">Mark Lee</a> aka <a href="http://twitter.com/@therealmarklee">@therealmarklee</a> <br><span>&#9774; + &hearts;</span></footer>
<script src="demo/js/hammer.min.js"></script><!-- for swipe support on touch interfaces -->
<script src="js/better-simple-slideshow.min.js"></script>
<script>
var opts = {
    auto : {
        speed : 3500,
        pauseOnHover : true
    },
    fullScreen : false,
    swipe : true
};
makeBSS('.num1', opts);
var opts2 = {
    auto : false,
    fullScreen : true,
    swipe : true
};
makeBSS('.num2', opts2);
</script>
</body>
</html>
HTML

如您所见,此示例使用了完整的 HTML 网页功能组合。 渲染由 IronPDF 使用 Chromium HTML 引擎和 Google 的 v8 JavaScript 引擎在内部执行。 它们无需安装在您的系统上,整个包在您使用 IronPDF 时自动添加到您的项目中。

3.1. 添加页眉和页脚

完成美观的 PDF 渲染后,您可能希望添加吸引人的页眉和页脚。

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-7.cs

您可以例如在 VB.NET PDF 开发者 API 在线参考中描述的那样添加基于 HTML 的页眉和页脚。

可以下载并探索 该"VB.NET HTML 到 PDF"项目的源代码,作为 VB.NET Visual Studio 项目。


4. 使用动态内容创建 PDF:2 种方法

历史上,PDF '模板化' 对于软件工程师来说是一项沉重的任务。 由于报告中内容类型和长度不同,向 PDF 模板中添加内容通常行不通。 幸运的是,HTML 处理动态数据的能力非常强。

为此,我们有两种方法可以前进:

  1. 使用 .NET 将 HTML 的字符串模板化然后转换为 PDF
  2. 将内容渲染为 ASP.NET 网页,然后将页面渲染为 PDF

4.1. 方法 1 - ASP.NET - 使用 VB.NET Web Forms 将 ASPX 转换为 PDF

幸运的是,这个解决方案出奇的简单。 任何版本的 .NET Web 表单(包括 Razor)都可以在 VB.NET 代码中的 Page_Load 子例程中渲染为 PDF 文档。

可以设置 PDF 文档的内容显示为内联浏览或下载文件。

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-8.cs

4.2. 方法 2 - 使用字符串模板化的 HTML 转换为 PDF

要创建包含实例特定数据的动态 PDF 文档,请创建一个 HTML 字符串以匹配您希望渲染为 PDF 的数据。

这可能是 VB.NET 中 HTML 转换为 PDF 解决方案的最大优势——能够轻松直观地创建动态 PDF 文档和报告,随时创建 HTML。

使用 VB.NET 的 String.Format 方法的最简单版本:

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-9.cs

随着 PDF 越来越复杂,字符串将变得更加复杂。 可考虑使用 StringBuilder 甚至模板框架,如 HandleBars.NETRazor: https://github.com/rexm/Handlebars.Net


5. 用 VB.NET 编辑 PDF 文件

IronPDF for VB.NET 允许编辑、加密、水印 PDF 文档,甚至将其恢复为纯文本:

5.1. 将多个 PDF 文件合并为一个文档

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-10.cs

5.2. 为 PDF 添加封面页

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-11.cs

5.3. 从 PDF 中删除最后一页

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-12.cs

5.4. 使用 128 位加密对 PDF 进行加密

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-13.cs

5.5. 将附加的 HTML 内容印到页面上

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-14.cs

5.6. 使用 HTML 为 PDF 添加分页符

最简单的方法是使用 HTML 和 CSS

:path=/static-assets/pdf/content-code-examples/tutorials/vb-net-pdf-15.cs
<div style='page-break-after: always;'>&nbsp;</div>
HTML

6. 更多 .NET PDF 教程

您可能还会对以下内容感兴趣:


结论

在本教程中,我们探讨了通过 VB.NET 作为我们的编程语言在 VB.NET 到 PDF 结果的 6 种实现方式。

  • HTML 字符串到 PDF
  • 使用 HTML 字符串定义其内容的 VB.NET 中创建 PDF
  • 渲染现有 URL 为 PDF 文件
  • 生成 PDF 初始化 HTML 文件
  • VB.NET 中的 HTML 模板化和转换为动态 PDF 文件
  • 使用活数据转换 ASP.NET 页面,例如 ASPX 转 PDF 文件

对于每一个,我们使用流行的 IronPDF VB.NET 库,在 .NET 项目中直接将 HTML 转换为 PDF 文档。


教程快速访问

Brand Visual Studio related to 教程快速访问

下载本教程的源代码

本教程的完整免费 VB.NET HTML 转 PDF 源代码可作为压缩的 Visual Studio 项目文件下载。

下载

在 GitHub 上探索此教程

您可能还会对我们在 GitHub 上提供的大量 VB.NET PDF 生成和操作示例库感兴趣。探索源代码是最快的学习方式,而 Github 则是在线学习的最佳途径。 希望这些示例能帮助您在 VB 项目中掌握 PDF 相关功能。

使用 VB.NET 和 C# 源代码在 ASP.NET 中创建 PDFS 使用 IronPDF 在 VB.NET 中将 HTML 渲染为 PDF 的简单 Hello World 项目 使用 VB.NET 深入探索 HTML 转 PDF
Github Icon related to 教程快速访问
Html To Pdf Icon related to 教程快速访问

下载 C# PDF 快速入门指南

为了让您在 .NET 应用程序中开发 PDF 更容易,我们将快速入门指南编译成 PDF 文档。这份 "小抄 "提供了在 C# 和 VB.NET 中快速访问生成和编辑 PDF 的常用函数和示例--将节省您在.NET 项目中开始使用 IronPDF 的时间。

下载

查看 API 参考

探索 IronPDF 的 API 参考,概述 IronPDF 的所有功能、命名空间、类、方法字段和枚举的详细信息。

查看 API 参考
Documentation related to 教程快速访问

常见问题解答

如何在 VB.NET 中将 HTML 转换为 PDF?

您可以使用 IronPDF 中的 HtmlToPdf 类的 RenderHtmlAsPdf 方法将 HTML 字符串转换为 PDF。 此方法允许您包含 CSS 和 JavaScript 用于样式和动态内容。

设置 VB.NET PDF 库需要哪些步骤?

要设置 VB.NET PDF 库,您需要通过在 Visual Studio 中搜索 'IronPDF' 并将其添加到您的项目中来通过 NuGet 安装 IronPDF。 或者,您可以从 IronPDF 网站下载 DLL 并在项目中手动引用它。

我可以使用该库从 ASP.NET 页面创建 PDF 吗?

是的,IronPDF 可以直接将 ASP.NET 网页渲染为 PDF 文档。 这是通过渲染页面 URL 并使用 RenderUrlAsPdf 方法将其转换为 PDF 来实现的。

如何在从 HTML 创建 PDF 时应用 CSS 样式?

IronPDF 支持在将 HTML 渲染为 PDF 时应用 CSS 样式。 您可以直接在 HTML 字符串中包含 CSS,或引用外部样式表,以确保您的 PDF 保持所需的样式。

可以向 PDF 文档添加水印吗?

是的,您可以使用 IronPDF 向 PDF 文档添加水印。 您可以在 PDF 的每一页上覆盖文本或图像,在文档创建过程中充当水印。

如何将多个 PDF 合并为一个文件?

使用 IronPDF 中的 PdfDocument.Merge 方法将多个 PDF 文件合并为一个统一的文档。 这对于整合各种报告或文档非常有用。

有哪些选项可用于加密 PDF 文档?

IronPDF 提供 PdfSecurity 类来启用 PDF 文档的加密。 您可以设置密码和加密选项以在保存 PDF 之前确保其安全。

我可以在从 HTML 创建的 PDF 中包含 JavaScript 吗?

是的,IronPDF 允许您在将 HTML 转换为 PDF 时在 HTML 内容中包含 JavaScript。 这对于向 PDF 添加交互元素或动态内容非常有帮助。

在哪里可以找到有关使用 VB.NET PDF 库的更多资源或示例?

您可以在 IronPDF 文档、GitHub 存储库和可下载的 Visual Studio 项目中找到其他资源和示例。 这些资源为 VB.NET 中的各种用例提供全面的指导。

如何向 PDF 文档添加页眉和页脚?

在 IronPDF 中,您可以通过将 HTML 内容设置为 PrintOptions.HeaderPrintOptions.Footer 属性,将页眉和页脚添加到您的 PDF 中,从而实现动态和样式化的页眉和页脚。

IronPDF 在 VB.NET 项目中是否完全兼容 .NET 10?

是的。IronPDF 完全兼容 .NET 10,并且可以在 VB.NET 项目中无缝运行。它支持所有现代 .NET 版本,包括 .NET 10,涵盖桌面、Web、控制台和云应用程序,让您无需任何特殊设置即可使用最新的运行时、语言改进和性能增强功能。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 17,012,929 | 版本: 2025.12 刚刚发布