跳至頁尾內容
使用IRONPDF

How to Print a VB.NET Form to PDF

建立ASP.NET Core PDF檢視器不應該需要複雜的JavaScript程式庫或第三方瀏覽器插件。 現代網頁應用需要一個可靠的方式直接在瀏覽器中顯示PDF檔案,無論是用於發票、報表或互動式PDF文件。 IronPDF簡化了這個過程,通過利用瀏覽器內建的PDF檢視器功能,同時在伺服器端生成像素完美的PDF。

本文將帶您了解如何在您的ASP.NET Core項目中生成和檢視PDF文件,展示如何建立可以顯示任何PDF的PDF檢視器應用。

什麼是ASP.NET Core PDF檢視器?

ASP.NET Core PDF檢視器允許使用者直接在網頁應用中檢視PDF文件,而無需將文件下載到裝置。與其鬥爭於基於JavaScript的文件檢視器組件,IronPDF採取了一種耳目一新的簡單方法:它使用Chrome的渲染引擎在伺服器端生成高品質PDF文件,然後附上正確標頭提供給瀏覽器自動內嵌顯示PDF文件。

這種伺服器端方法意味著您的ASP.NET Core PDF檢視器能夠在所有瀏覽器中保持一致性,無需額外插件如Adobe Acrobat Reader。 由於IronPDF使用的是驅動數百萬瀏覽器的同一Chrome引擎,您的PDF文件將會完全按預期呈現,保留CSS樣式、JavaScript互動和複雜佈局。 ASP.NET Core PDF整合處理從HTML到PDF的轉換以及安全文件傳遞,並提供長期支持。

如何在您的網頁應用中安裝IronPDF?

在您的.NET Core網頁應用中安裝IronPDF只需一條NuGet Package Manager命令。 在Visual Studio中打開您的Package Manager Console並運行:

Install-Package IronPdf

安裝後,配置您的Program.cs文件中的IronPDF以設置您的授權金鑰:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Start with a free trial key
$vbLabelText   $csharpLabel

這個簡單的設置使您可以存取IronPDF完整的.NET Core PDF檢視器功能。 該程式庫自動處理Chrome引擎部署並提供一個整潔的API,供您在ASP.NET Core應用程式中生成和顯示PDF文件。

如何建立一個基本的PDF文件檢視器?

建立您的第一個ASP.NET Core PDF檢視器需要的程式碼很少。 下面是一個將HTML內容轉換為可檢視PDF文件的控制器:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewDocument()
    {
        var renderer = new ChromePdfRenderer();

        // Create PDF from HTML string
        var html = @"
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewDocument()
    {
        var renderer = new ChromePdfRenderer();

        // Create PDF from HTML string
        var html = @"
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function ViewDocument() As IActionResult
        Dim renderer = New ChromePdfRenderer()

        ' Create PDF from HTML string
        Dim html = "
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf")
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

ChromePdfRenderer類處理轉換處理,將您的HTML轉換為PDF文件。 將Content-Disposition標頭設置為"inline"會告訴瀏覽器顯示PDF而不是下載它,創造一個無縫的PDF檢視器體驗,使用者可以直接在他們的網頁應用中檢視PDF文件。

在瀏覽器檢視器中輸出PDF文件

如何建立ASP.NET Core PDF檢視器:圖1 - 在我們的瀏覽器PDF檢視器中的PDF

如何顯示來自不同來源的PDF文件?

您的ASP.NET Core PDF檢視器可以從多個包來源生成PDF文件。 這是如何將URL轉換為可檢視PDF的方法:

public IActionResult ViewFromUrl(string websiteUrl)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
    var pdf = renderer.RenderUrlAsPdf(websiteUrl);
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewFromUrl(string websiteUrl)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
    var pdf = renderer.RenderUrlAsPdf(websiteUrl);
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
Imports IronPdf

Public Function ViewFromUrl(websiteUrl As String) As IActionResult
    Dim renderer As New ChromePdfRenderer()

    ' Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = True
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000 ' Wait for content to load
    Dim pdf = renderer.RenderUrlAsPdf(websiteUrl)
    Response.Headers.Add("Content-Disposition", "inline")
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

輸出

如何建立ASP.NET Core PDF檢視器:圖2 - 渲染並顯示在我們的PDF檢視器程式中的PDF

對於儲存在伺服器上的現有PDF文件,您可以輕鬆載入和顯示它們。 這段範例程式碼顯示了如何處理您wwwroot資料夾中的文件:

public IActionResult ViewExistingPdf(string fileName)
{
    // Load PDF from wwwroot folder
    var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
    var pdf = PdfDocument.FromFile(pdfPath);   
    // Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewExistingPdf(string fileName)
{
    // Load PDF from wwwroot folder
    var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
    var pdf = PdfDocument.FromFile(pdfPath);   
    // Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
    return File(pdf.BinaryData, "application/pdf");
}
Public Function ViewExistingPdf(fileName As String) As IActionResult
    ' Load PDF from wwwroot folder
    Dim pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName)
    Dim pdf = PdfDocument.FromFile(pdfPath)
    ' Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>")
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

如何建立ASP.NET Core PDF檢視器:圖3 - 檢視現有PDF(帶我們新增的水印)

這種靈活性意味著您的PDF檢視器可以處理在您wwwroot資料夾或資料庫中儲存的動態生成內容和現有PDF文件。 該組件可以與您的ASP.NET Core架構無縫整合。

如何新增高級PDF檢視器功能?

IronPDF將您的基本PDF檢視器轉變為功能強大的文件檢視器,具備高級功能。 在您的PDF文件中新增表單可實現使用者可以直接填寫的互動功能:

public IActionResult CreateFormPdf()
{
    var html = @"
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult CreateFormPdf()
{
    var html = @"
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
Public Function CreateFormPdf() As IActionResult
    Dim html As String = "
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>"
    Dim renderer As New ChromePdfRenderer()
    renderer.RenderingOptions.CreatePdfFormsFromHtml = True ' Enable form fields
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

具有可填表單的輸出

如何建立ASP.NET Core PDF檢視器:圖4

當使用者在瀏覽器中打開這個PDF時,他們可以直接填寫表單,而不需要外部工具。 您還可以透過新增標頭、頁尾、頁碼或電子簽名來編輯PDF文件。 標籤輔助工具方法使得新增這些功能輕而易舉:

// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
Imports System

' Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    .MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    .MaxHeight = 25
}
$vbLabelText   $csharpLabel

這些功能將您的ASP.NET PDF檢視器轉變為文件管理的全面解決方案,支持從簡單的顯示到包括文字選擇和列印功能的複雜編輯操作。 您甚至可以透過IronPDF的轉換功能使用其他格式,如Excel、Word、DOCX文件和PowerPoint。

結論

使用IronPDF建立ASP.NET Core PDF檢視器,消除基於JavaScript的解決方案的複雜性,同時提供專業級的PDF文件處理。 通過利用瀏覽器的原生功能和Chrome的渲染引擎,您可以僅用幾行程式碼建立、顯示和管理PDF文件—無需預設配置或複雜設置。

伺服器端生成與基於瀏覽器的檢閱相結合,為您的網頁應用提供了完美的支持、性能與使用者體驗的平衡。 無論您需要顯示PDF文件、處理表單、編輯現有文件或列印PDF,IronPDF的簡單API使得實現變得簡單。 該程式庫經常更新以確保與最新的.NET框架和Windows環境相容。

準備好在您的ASP.NET Core專案中建立您自己的PDF檢視器了嗎? 開始時,可以透過免費試用找到合適的方案。 需要幫助開始嗎? 查看這個詳細的教程或瀏覽完整的文件以獲取更多範例。

常見問題

ASP.NET Core PDF 檢視器的目的是什麼?

ASP.NET Core PDF 檢視器允許您直接在瀏覽器中顯示 PDF 文件,使使用者可以輕鬆查看如發票、報告或互動式 PDF 等文件,而無需外部插件。

IronPDF 如何簡化在 ASP.NET Core 中建立 PDF 檢視器的過程?

IronPDF 通過使用瀏覽器的內建 PDF 檢視器功能並在伺服器端生成高像素精確的 PDF,簡化了過程,免去了使用複雜的 JavaScript 程式庫或第三方插件的需求。

IronPDF 能夠處理互動式 PDF 文件嗎?

是的,IronPDF 可以管理互動式 PDF 文件,允許使用者直接在瀏覽器中填寫表單和與 PDF 內容互動。

在網頁應用程式中使用 IronPDF 顯示 PDF 的好處是什麼?

IronPDF 提供了一種可靠且高效的方法來在網頁應用程式中顯示 PDF,提供伺服器端 PDF 生成和與 ASP.NET Core 應用程式的無縫整合等功能。

與 IronPDF 一起使用第三方瀏覽器插件是否必要?

不,IronPDF 利用瀏覽器的內建 PDF 檢視器功能,因此不需要第三方瀏覽器插件來顯示 PDF 文件。

using ASP.NET Core PDF 檢視器可以顯示哪些型別的 PDF 文件?

ASP.NET Core PDF 檢視器可以直接在瀏覽器中顯示各種型別的 PDF 文件,包括發票、報告和互動式表單。

IronPDF 是否支持伺服器端 PDF 生成?

是的,IronPDF 支持伺服器端 PDF 生成,確保文件在瀏覽器中顯示之前能夠被準確高效地呈現。

IronPDF 如何確保高像素精確的 PDF 繪製?

IronPDF 使用先進的算法和技術來準確重現伺服器端生成的文件外觀,確保高像素精確的 PDF 繪製。

using IronPDF 構建 ASP.NET Core PDF 檢視器使用哪種編程語言?

ASP.NET Core PDF 檢視器是使用 C# 和 ASP.NET Core 框架構建的,利用 IronPDF 處理 PDF 的處理和顯示。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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