使用 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。

快速入門:在 VB.NET 中建立您的第一個 PDF

使用 IronPDF 在 VB.NET 中入門,只需兩行程式碼即可建立您的第一個 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

as-heading:3(最小工作流程(5 個步驟))

1.下載 VB.NET PDF 函式庫

  1. 使用 VB.NET 庫建立 PDF 文檔
  2. 自訂 PDF 文件樣式
  3. 選擇建立動態內容的方法
  4. 使用 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 並安裝最新版本。 按一下彈出的任何對話方塊中的"確定"。

這適用於任何 C# .NET Framework 項目,包括 Framework 4 及更高版本或 .NET Core 2 及更高版本。 它也適用於VB.NET專案。

Install-Package IronPdf

NuGet 套件 - IronPdf

透過 DLL 安裝:

或者,從IronPDF 下載頁面下載 IronPDF DLL,然後手動安裝到專案或 GAC 中。

使用 IronPDF 時,請將以下語句加入任何VB.NET類別檔案的頂部:

Imports IronPdf

操作教學課程

2. 使用 VB.NET 建立 PDF

iTextSharp等具有專有設計 API 的函式庫相比,使用 IronPDF 首次使用Visual Basic ASP.NET建立 PDF 檔案出乎意料地容易。

我們可以使用 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 Fonts。 我們也可以使用DataURI 將圖像和資源作為字串嵌入到 HTML 中

對於高階設計,我們採用兩階段流程:

  1. 完美地開發和設計 HTML,這可能需要內部設計人員的參與。
  2. 使用 VB.NET 和我們的 PDF 程式庫將該檔案渲染為 PDF。

將 HTML 檔案渲染成 PDF 的 VB.NET 程式碼:

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 內部使用 Google 的 Chromium HTML 引擎和 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:兩種方法

從歷史上看,PDF"模板化"一直是軟體工程師的艱鉅任務。 由於報告中的內容類型和長度各不相同,將內容直接複製到 PDF 範本中很少能成功。 幸運的是,HTML 非常擅長處理動態資料。

為此,我們有兩種前進的方向:

  1. 使用 .NET 對 HTML 進行字串模板化,然後轉換為 PDF。
  2. 將內容渲染為 ASP.NET 網頁,然後將該網頁渲染為 PDF

4.1. 方法一 - ASP.NET - 使用 VB.NET Web Forms 將 ASPX 檔案轉換為 PDF 文件

幸運的是,這個解決方法出乎意料地簡單。 可以使用 VB.NET 程式碼隱藏檔案中的 Page_Load 子程式中的 VB.NET 程式碼,將任何版本的 .NET Web 窗體(包括 Razor)渲染成 PDF 文件。

PDF 文件可以設定內容處置方式,使其在瀏覽器中顯示或作為文件下載。

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

4.2. 方法二 - 使用字串模板將 HTML 轉換為 PDF

若要建立包含特定實例資料的動態 PDF 文檔,請建立一個 HTML 字串,以符合您希望呈現為 PDF 的資料。

這可能是 VB.NET 中 HTML 轉 PDF 解決方案的最大優勢——能夠透過"即時"建立 HTML 來輕鬆直觀地建立動態 PDF 文件和報告。

使用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. 在VB中將多個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. 在VB中為頁面新增額外的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 和 C# MSDN 風格 API 參考 -一篇關於如何使用 VB.NET 和 C# 將 ASPX 轉換為 PDF 的教學課程 -一篇關於如何使用 VB.NET 和 C# 將 HTML 渲染為 PDF 的深入教學


結論

在本教程中,我們探索了使用 VB.NET 作為我們選擇的程式語言來實作 VB.NET 到 PDF 轉換結果的 6 種方法。

將 HTML 字串轉換為 PDF

  • 使用 HTML 字串定義內容,在 VB.NET 中建立 PDF 文件
  • 將現有 URL 渲染為 PDF 文件
  • 從 HTML 檔案產生 PDF
  • 在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 中建立 PDF 一個簡單的"Hello World"項目,示範如何使用 IronPDF 在 VB.NET 中將 HTML 渲染成 PDF 使用 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 中透過 NuGet 安裝 IronPDF,方法是搜尋「IronPDF」並將其新增至您的專案。或者,您可以從 IronPDF 網站下載 DLL 文件,並在專案中手動引用它。

我可以使用該程式庫從 ASP.NET 頁面建立 PDF 嗎?

是的,IronPDF 可以直接將 ASP.NET 網頁渲染為 PDF 文件。這是透過渲染頁面 URL 並使用RenderUrlAsPdf方法將其轉換為 PDF 來實現的。

如何將 CSS 樣式套用至從 HTML 建立 PDF 時?

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 時插入 JavaScript。這有助於為 PDF 添加互動式元素或動態內容。

在哪裡可以找到更多關於使用VB.NET PDF庫的資源或範例?

您可以在 IronPDF 文件、GitHub 程式碼庫和可下載的 Visual Studio 專案中找到更多資源和範例。這些資源為 VB.NET 中的各種用例提供了全面的指導。

如何在PDF文件中新增頁首和頁尾?

在 IronPDF 中,您可以透過設定PrintOptions.HeaderPrintOptions.Footer屬性並傳入 HTML 內容,為 PDF 新增頁首和頁腳,從而實現動態和樣式化的頁首和頁尾。

IronPDF 是否完全相容於 VB.NET 專案中的 .NET 10?

是的。 IronPDF 完全相容於 .NET 10,並且可以在 VB.NET 專案中無縫運行。它支援所有現代 .NET 版本,包括 .NET 10,涵蓋桌面、Web、控制台和雲端應用程序,讓您無需任何特殊設定即可使用最新的運行時、語言改進和效能增強功能。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布