跳過到頁腳內容
使用IRONPDF

如何在 ASP.NET Core 檢視器中顯示、保存和打印 PDF

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF 文件

在網頁瀏覽器中直接顯示 PDF 文件已成為現代 ASP.NET Core Web 應用程式的基本要求。 無論你是產生發票、報告還是合同,用戶都希望能夠無縫查看 PDF 文件,而無需下載 PDF 文件或安裝 Adobe Acrobat Reader 或其他插件。 本教學示範了 IronPDF 如何透過其強大的基於 Chrome 的渲染引擎,簡化 ASP.NET Core PDF 檢視器中 PDF 檔案的顯示、儲存和列印。

瀏覽器在 ASP.NET Core 中如何處理 PDF 檢視?

現代瀏覽器內建了 PDF 檢視器,當收到 MIME 類型正確的 PDF 檔案( application/pdf )時,這些檢視器會自動啟動。 當您的 ASP.NET Core Web 應用程式傳回具有適當頁首的 PDF 文件時,瀏覽器會自動將其內嵌顯示。這無需外部插件、Adobe Acrobat Reader 或複雜的 JavaScript 程式庫。 根據 MDN Web Docs 的說法,正確的標頭配置對於控制瀏覽器如何處理文件下載和顯示至關重要。

IronPDF 利用瀏覽器的這項功能,透過其ChromePdfRenderer類別在伺服器端產生高品質的 PDF 檔案。 這個渲染器底層使用完整的 Chrome 引擎,確保您的 PDF 文件能完全按照預期顯示,並完全支援現代 CSS、JavaScript、數位簽章和 Web 字型。 與簡單的文件檢視器不同,IronPDF 提供了對 PDF 處理和渲染的完全控制。

在 ASP.NET Core 中顯示/檢視 PDF 檔案需要哪些工具?

在 ASP.NET Core PDF 檢視器專案中設定 IronPDF 只需幾個步驟。 首先,在 Visual Studio 中或透過命令列建立一個新專案。開啟 Visual Studio 並選擇 ASP.NET Core Web 應用程式專案範本:

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

安裝 IronPDF .NET 套件

在您的 .NET 專案中透過 NuGet 套件管理器安裝 IronPDF:

Install-Package IronPdf

或者,在解決方案資源管理器中,請右鍵單擊您的項目,然後選擇"管理 NuGet 套件"。選擇對應的程式包來源,然後搜尋 IronPDF。

這就是全部的準備工作了。 IronPDF 可與 ASP.NET Core 3.1 及更高版本(長期支援版本)無縫協作,包括 .NET 6、7 和 8。該庫會經常更新,以確保與最新框架相容。 如需詳細的安裝說明和更多信息,請訪問 IronPDF 安裝指南。該軟體包包含生成、編輯和處理 PDF 文件所需的所有組件。

如何使用 ASP.NET Core 在瀏覽器中顯示 PDF 檔案?

在瀏覽器中建立和顯示 PDF 檔案只需要幾行程式碼。 以下是一個完整的控制器操作,它可以根據 HTML 產生 PDF 文件並將其內聯顯示。此程式碼片段演示了其核心功能:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for the PDF viewer
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
        renderer.RenderingOptions.EnableJavaScript = true;
        // Generate PDF from HTML string
        var html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 20px; }
                    h1 { color: #2c3e50; }
                    .content { line-height: 1.6; width: 100%; }
                </style>
            </head>
            <body>
                <h1>Invoice #12345</h1>
                <div class='content'>
                    <p>Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                    <p>Thank you for your business!</p>
                </div>
            </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        // Return PDF for inline viewing in the browser
        return File(pdf.BinaryData, "application/pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上述程式碼建立了一個ChromePdfRenderer實例,並對其進行配置,使其包含背景顏色並將 HTML 表單轉換為 PDF 表單。 RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF 檔案。以下程式碼顯示如何透過傳回application/pdf MIME 類型的 PDF 文件來指示瀏覽器直接顯示該文件,而不是下載它。 這種伺服器端方法確保在所有瀏覽器和平台上呈現一致的效果。

輸出

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF:圖 5 - PDF 輸出

對於現有的 HTML 檔案或 Razor 頁面,您可以使用其他渲染方法來查看 PDF 內容:

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("https://example.com/invoice");
// Render from HTML file in the same location
var pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html");
// Render from wwwroot folder
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

這些方法讓您可以靈活地取得 HTML 內容,同時保持同樣高品質的 PDF 渲染輸出。 您還可以使用 IronPDF 的全面功能載入現有的 PDF 文件、編輯 PDF 文件,甚至可以處理 Word (DOCX 文件) 和 Excel 格式的文件。 請參閱文檔,以了解更多關於HTML轉PDF轉換選項的資訊。 有關進階處理和編輯功能,請參閱 API 參考文件。

使用者如何透過瀏覽器儲存PDF文件?

若要使用戶能夠下載 PDF 檔案而不是線上查看,請修改Content-Disposition標頭。 對於需要使用者保存文件以供離線存取的 Web 應用程式而言,此功能至關重要:

public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
public IActionResult DownloadPdf()
{
    var renderer = new ChromePdfRenderer();
    // Create PDF with CSS styling and images
    var html = @"<h1>Download Me</h1>
                 <img src='logo.png' width='100' />";
    var pdf = renderer.RenderHtmlAsPdf(html, @"wwwroot/images");
    // Force download with custom filename
    return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

新增檔案名稱參數會自動將Content-Disposition標頭設定為"attachment",從而提示瀏覽器下載檔案。使用者還可以使用瀏覽器內建的儲存功能來保存內嵌顯示的 PDF 文件,該功能可透過 Ctrl+S 或瀏覽器的 PDF 檢視器工具列存取。 預設行為允許使用者選擇他們偏好的資料夾位置。

輸出

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF:圖 6 - 瀏覽器 PDF 輸出

為了在處理大型 PDF 文件時獲得更高的記憶體效率,請使用串流:

public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
public IActionResult StreamPdf()
{
    var renderer = new ChromePdfRenderer();
    // Load and process HTML with images
    var html = "<h1>Streamed Content</h1>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Stream the PDF file to the browser
    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "document.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

這種方法透過將 PDF 檔案直接串流到回應中,而無需建立中間位元組數組,從而減少了記憶體消耗。 以上程式碼示範如何有效率地處理大型文件。 您也可以從 wwwroot 資料夾或其他位置載入現有的 PDF 文件,對其進行編輯,然後串流修改後的版本。 如需更進階的 PDF 文件操作和影像處理,請參閱 PdfDocument API 參考文件。 此元件支援各種編輯操作,包括文字選擇、表單填寫和新增數位簽章。

使用者能否直接從 ASP.NET Core Web 應用程式列印 PDF 文件?

IronPDF 透過配置適當的 CSS 媒體類型和頁面設定來優化 PDF 文件,使其更適合列印。 無論使用者是使用實體印表機列印還是儲存為 PDF 文件,此功能都能確保專業輸出效果:

public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult PrintablePdf()
{
    var renderer = new ChromePdfRenderer();
    // Configure printing options for the PDF viewer
    renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
    renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.MarginLeft = 25;
    renderer.RenderingOptions.MarginRight = 25;
    // Load HTML with print-specific CSS
    var html = @"<h1>Print-Optimized Document</h1>
                 <p>This document is optimized for printing.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    // Return the PDF file for viewing and printing
    return File(pdf.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

CssMediaType設定為Print會套用特定於列印的 CSS 樣式,確保 PDF 文件在列印時看起來正確。 頁邊距設定可為實際紙張提供適當的間距。 以下程式碼顯示了使用者如何使用標準列印對話方塊直接從瀏覽器的 PDF 檢視器列印 PDF 文件,並完全控製印表機選擇和設定。 了解更多 PDF 渲染選項,以微調您的輸出。 核心 PDF 檢視器元件會自動處理所有列印細節。

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF:圖 7 - 列印 PDF 輸出

跨平台和容器支持

IronPDF 可在 Windows、Linux、macOS、Docker 容器以及 Azure 和 AWS 等雲端平台上無縫運作。 這種跨平台相容性可確保您的 ASP.NET Core PDF 檢視器解決方案無論在何種部署環境下都能穩定運作。 該庫在內部處理特定於平台的渲染細節,因此相同的程式碼無需修改即可在任何地方運行。

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF:圖 8 - 跨平台相容性

伺服器端處理確保在所有平台上產生一致的 PDF 檔案。 無論部署在 Windows 伺服器或 Linux 容器上,該元件都能保持相同的渲染品質。 該程式庫會自動管理作業系統之間的路徑差異,因此 wwwroot 資料夾或其他位置中的檔案都能正確處理。 對於容器化部署,請參閱 Docker 部署指南。該軟體包包含每個平台所需的所有依賴項,安裝過程無需除標準 ASP.NET Core 要求之外的任何其他配置。

立即開始免費試用,提升您的文件檢視器功能。

摘要

IronPDF 透過將伺服器端產生與瀏覽器原生檢視相結合,改變了 ASP.NET Core Web 應用程式中的 PDF 處理方式。 只需幾行程式碼,您就可以從 HTML 建立專業的 PDF 文檔,線上顯示 PDF 文件,啟用下載,並針對列印進行最佳化。 基於 Chrome 的渲染引擎可確保在所有平台上實現像素級精確度,無需 Adobe Acrobat Reader 或其他第三方檢視器。

這款 ASP.NET Core PDF 檢視器解決方案提供全面的功能,包括表單填寫、文字選擇、數位簽章和編輯 PDF 檔案的功能。 該元件還支援將 Word 文件(DOCX 文件)、Excel 電子表格和圖像轉換為 PDF。 無論您是建立簡單的文件檢視器還是複雜的文件管理系統,IronPDF 都能提供您所需的工具和支援。

該庫的標籤助理整合和詳盡的文件使實現變得簡單。 您的專案首頁可以直接顯示 PDF 文件,而後端處理則負責複雜的 PDF 產生任務。 無論從 wwwroot 資料夾載入、動態產生或從外部來源檢索,檢視器都保持一致的行為。 內建主題支援和可自訂寬度設置,您可以完美匹配應用程式的設計。

準備好在您的 .NET Core Web 應用程式中實作 PDF 檢視功能了嗎?

生產用途的許可證起價為 749 美元,包括全面的支援和更新。 請造訪文件以取得詳細的 API 參考和進階功能。 請參考我們豐富的程式碼範例,快速在您的 ASP.NET Core 專案中實作 PDF 功能。

如何在 ASP.NET Core 檢視器中顯示、儲存和列印 PDF:圖 9 - 許可

常見問題解答

如何在 ASP.NET Core 應用程式中顯示 PDF?

您可以使用 IronPDF 在 ASP.NET Core 應用程式中顯示 PDF,IronPDF 提供在應用程式中直接呈現 PDF 檔案的功能。

使用 IronPDF for .NET 在 ASP.NET Core 中保存 PDF 的步驟是什麼?

要在 ASP.NET Core 中保存 PDF,您可以使用 IronPDF 的內建方法將文件轉換為 PDF 格式,然後將其寫入檔案系統或串流。

是否可以在 ASP.NET Core 應用程式中列印 PDF?

是的,IronPDF 可讓您使用其渲染和列印功能,直接從 ASP.NET Core 應用程式列印 PDF。

在 ASP.NET Core 中使用 IronPDF 有哪些優勢?

IronPDF for .NET 提供與 ASP.NET Core 的無縫整合,可輕鬆進行 PDF 操作,例如檢視、儲存和列印,且只需最少的設定。

IronPDF 可以在 ASP.NET Core 中處理大型 PDF 文件嗎?

是的,IronPDF 已進行最佳化,可有效率地處理大型 PDF 文件,即使處理複雜的檔案也能確保流暢的效能。

IronPDF 是否支持 ASP.NET Core 中的 PDF 注释和注释?

IronPDF 支援在 PDF 中新增與閱讀註解與註釋,可增強 ASP.NET Core 應用程式中 PDF 文件的互動性與可用性。

如何將 IronPDF 整合到現有的 ASP.NET Core 專案中?

您可以透過安裝 IronPDF NuGet 套件並使用其 API 來管理 PDF,將 IronPDF 整合到您的 ASP.NET Core 專案中。

在 ASP.NET Core 中使用 IronPDF 是否有特定的系統需求?

IronPDF 需要使用 .NET Core 或 .NET 5+ 並支援所有主要作業系統,因此是 ASP.NET Core 專案的靈活選擇。

IronPDF 可以在 ASP.NET Core 中將其他檔案格式轉換為 PDF 嗎?

是的,IronPDF 可以在 ASP.NET Core 環境中將 HTML、圖片和文件等各種檔案格式轉換為 PDF。

IronPDF 為 ASP.NET Core 開發人員提供哪些支援?

IronPDF 提供全面的文件、程式碼範例和回應式支援,協助 ASP.NET Core 開發人員實作 PDF 功能。

Curtis Chau
技術作家

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

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