跳過到頁腳內容
使用IRONPDF

如何創建 ASP.NET Core PDF 檢視器

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

在本文中,我們將引導您了解如何在 ASP.NET Core 專案中產生和檢視 PDF 文檔,展示如何建立可以顯示任何 PDF 的 PDF 檢視器應用程式。

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

IronPDF 是一款 ASP.NET Core PDF 檢視器,使用戶無需將文件下載到裝置即可直接在 Web 應用程式中檢視 PDF 文件。它摒棄了基於 JavaScript 的文檔檢視器元件,採用了一種簡潔高效的方案:它使用 Chrome 的渲染引擎在伺服器端生成高品質的 PDF 文件,然後添加正確的頭部信息,使瀏覽器能夠自動內聯顯示 PDF 文件。

這種伺服器端方法意味著您的 ASP.NET Core PDF 檢視器可以在所有瀏覽器上一致地運行,而無需像 Adobe Acrobat Reader 這樣的額外插件。 由於 IronPDF 使用的是與數百萬瀏覽器相同的 Chrome 引擎,因此您的 PDF 文件將完全按照預期呈現,保留 CSS 樣式、JavaScript 互動和複雜佈局。 ASP.NET Core PDF 整合可處理從 HTML 到 PDF 轉換的所有操作,並提供安全文件交付和長期支援。

如何在 Web 應用程式中安裝 IronPDF?

在 .NET Core Web 應用程式中安裝 IronPDF 只需要一條 NuGet 套件管理器指令。 在 Visual Studio 中開啟程式包管理器控制台並執行:

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
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ChromePdfRenderer類別負責處理轉換過程,將您的 HTML 轉換為 PDF 文件。 將Content-Disposition標頭設定為"inline"會告訴瀏覽器顯示 PDF 而不是下載它,從而創建無縫的 PDF 檢視器體驗,使用者可以在其 Web 應用程式中直接查看 PDF 檔案。

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

如何建立 ASP.NET Core PDF 檢視器:圖 1 - 瀏覽器中的 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");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

如何建立 ASP.NET Core PDF 檢視器:圖 2 - 從 URL 渲染的 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");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

結論

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

伺服器端生成與瀏覽器端檢視相結合,為您的 Web 應用程式提供了支援、效能和使用者體驗的完美平衡。 無論您需要顯示 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 在 Web 應用程式中顯示 PDF 有哪些好處?

IronPDF 提供可靠、高效的方式在 Web 應用程式中顯示 PDF,提供伺服器端 PDF 產生以及與 ASP.NET Core 應用程式無縫整合等功能。

IronPDF 是否需要使用第三方瀏覽器外掛程式?

不會,IronPDF 利用瀏覽器內建的 PDF 檢視器功能,因此不需要第三方瀏覽器外掛程式來顯示 PDF 檔案。

使用 ASP.NET Core PDF 檢視器可以顯示哪些類型的 PDF 文件?

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

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

是的,IronPDF 支援伺服器端 PDF 製作,確保文件在瀏覽器中顯示前,能準確且有效率地呈現出來。

IronPDF 如何確保完美的 PDF 渲染效果?

IronPdf 透過使用先進的演算法和技術,忠實再現伺服器端產生的文件外觀,以確保呈現像素般完美的 PDF。

使用 IronPDF 建置 ASP.NET Core PDF 閱讀器使用何種程式語言?

ASP.NET Core PDF 檢視器使用 C# 和 ASP.NET Core Framework 建立,利用 IronPDF for .NET 來處理 PDF 處理和顯示。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。