跳過到頁腳內容
使用IRONPDF

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

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

在本文中,我們會引導您如何在 ASP.NET Core 專案中生成和查看 PDF 文檔,展示如何創建能夠顯示任何 PDF 的 PDF 檢視器應用程序。

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

ASP.NET Core PDF 檢視器允許用戶在 Web 應用程序中直接查看 PDF 文檔,而無需將文件下載到設備上。 IronPDF 使用一種煥然一新的簡單方法:它在伺服器端使用 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 引擎部署並提供生成和顯示 PDF 文件的整潔 API,在 ASP.NET Core 應用程序中使用。

如何創建基礎的 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 檢視器中

如何顯示來自不同來源的 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

輸出 with Fillable Form

如何創建 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 內容互動。

在 Web 應用程式中使用 IronPDF 顯示 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 框架構建,並利用 IronPDF 處理 PDF 處理和顯示。

Curtis Chau
技術作家

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

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