IRONSOFTWAREHOME
使用IRONPDF

適用於.NET的PDF API:使用IronPDF生成、編輯和保護文件

Curtis Chau
Curtis Chau
Updated: 2026年7月12日

要在ASP.NET Core中實現PDF查看器,請使用IronPDF從HTML、URL或Razor視圖生成PDF。 為它們提供正確的標頭以供瀏覽器內嵌顯示,提供流暢的文件查看體驗,無需外部插件或下載。

.NET中的Web應用程式通常需要直接在瀏覽器中顯示PDF文件。 無論是發票、報告或互動式PDF表單,使用者都希望有流暢的文件查看器體驗,而不需要Adobe Acrobat Reader或其他第三方瀏覽器工具。

在本教程中,您將學習如何使用IronPDF為ASP.NET和.NET Core實現PDF查看器。 這個可靠的PDF查看器控件允許開發者在.NET應用程式中建立、渲染和顯示PDF文件,提供解決關鍵業務文件的專業解決方案。 這裡描述的方法適用於.NET 10和所有早期的.NET Core版本。

在ASP.NET Core中PDF查看如何工作?

現代瀏覽器作為內建的PDF查看器。 當您以正確的MIME型別(application/pdf)提供PDF文件時,瀏覽器會自動內嵌顯示,這意味著您不需要外部插件來查看PDF文件或顯示PDF文件。 關鍵在於生成高質量的PDF並配置正確的響應標頭。

IronPDF是一個經常更新的.NET PDF程式庫,擅長從HTML、Razor視圖或現有文件建立像素完美的PDF頁面。 其基於Chrome的渲染引擎確保精確的CSS、JavaScript和圖像支持,為使用者提供可比擬桌面PDF查看器的查看體驗。 您可以在IronPDF功能頁上查看完整的功能列表。

當請求到達您的ASP.NET Core控制器時,工作流程很簡單:使用IronPDF生成(或載入)PDF,將application/pdf,然後返回二進位資料。 瀏覽器自動處理渲染——不需要JavaScript PDF.js設置,也不依賴瀏覽器擴展。

及早了解這個模式可節省開發時間。不是整合複雜的JavaScript查看程式庫,而是將渲染工作委託給瀏覽器,並僅在伺服器端使用IronPDF進行生成和操作。ASP.NET Core文件中的文件響應解釋了在這些模式中使用的底層FileResult型別。

如何設置ASP.NET Core專案?

首先建立一個新的ASP.NET Core MVC應用程式。 打開終端並運行:

dotnet new mvc -n PdfViewerApp
cd PdfViewerApp
SHELL

這會啟動帶有MVC支持的基本.NET應用程式。 MVC結構為您提供控制器以處理PDF生成請求和構建前端介面的視圖。 一個專門的PdfController讓與PDF相關的邏輯保持組織化和易於維護,隨著應用程式的增長。

如何安裝和配置IronPDF?

安裝IronPDF只需幾個步驟。 在Visual Studio中的NuGet Package Manager控制台或.NET CLI中使用:

# Package Manager Console (Visual Studio)
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
SHELL

然後在Program.cs中配置程式庫:

using IronPdf;

// Set license key at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

在任何PDF操作之前在Program.cs中設置您的授權密鑰。 開發和評估時可選用免費試用授權。 IronPDF文件提供不同部署環境的其他配置範例,包括Azure和Docker。

如何生成用於查看的PDF?

IronPDF可讓您從原始HTML字串、在線網頁或Razor視圖建立PDF文件。 生成的PDF文件可以用幾行C#程式碼內嵌顯示。

這種方法避免強制下載,讓使用者能夠直接在瀏覽器內查看、列印、搜索和儲存PDF——無需使用者端額外的查看元件。

如何從HTML字串建立PDF?

最簡單的方法是直接將HTML字串轉換為PDF。 使用此模式生成動態內容,如報告或發票:

using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <html>
    <head>
        <style>
            body { font-family: Arial; padding: 20px; }
            h1 { color: #333; }
        </style>
    </head>
    <body>
        <h1>Sample PDF Document</h1>
        <p>This PDF was generated using IronPDF in ASP.NET Core.</p>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);

// Return PDF to browser for inline viewing
return File(pdf.BinaryData, "application/pdf");

建立一個ChromePdfRenderer,它使用Chromium引擎進行精確渲染。 HTML(具有內聯CSS)被傳遞給PdfDocument。 將文件返回application/pdf MIME型別可確保瀏覽器內嵌顯示。想深入了解這種轉換方法,請參閱HTML字串到PDF指南。

如何從URL生成PDF?

將現有網頁轉換為PDF同樣簡單。 這對於存檔在線內容或生成以網頁形式發布的報告快照非常有用:

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var pdf = renderer.RenderUrlAsPdf("https://example.com/report");
Response.Headers.Add("Content-Disposition", "inline; filename=webpage.pdf");

return File(pdf.BinaryData, "application/pdf");

RenderUrlAsPdf方法抓取網頁,應用樣式和腳本,並輸出一個精美的PDF。 將inline使文件在瀏覽器的PDF查看器中打開。 JavaScript渲染選項可確保動態內容在捕捉之前正確載入。

顯示IronPDF for .NET文件的PDF查看器Web應用程式,頂部有從HTML生成、從URL生成和列印按鈕

如何將Razor視圖轉換為PDF?

Razor視圖是理想的結構化文件模板,如發票,因為同一模板可以服務於網頁和PDF輸出。 將視圖渲染為HTML字串,然後傳遞至IronPDF:

using IronPdf;

// Render the Razor view to an HTML string first
var htmlContent = await RenderViewToString("Invoice", invoiceModel);

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);

return File(pdf.BinaryData, "application/pdf");

首先使用輔助方法將視圖渲染為HTML字串,然後使用RenderHtmlAsPdf轉換。 這種方法讓您可以重用Razor模板進行網頁顯示和PDF生成,確保輸出在各種格式中保持一致。 HTML到PDF指南涵蓋了其他Razor整合模式。

如何在瀏覽器中內嵌顯示PDF?

內嵌顯示PDF(而不是觸發下載)的關鍵在於設置正確的響應標頭。 當內容型別和狀態配置正確時,現代瀏覽器支持內嵌PDF查看。

設置Content-Disposition: attachment會提示下載對話框。 區別在於一個標頭的值變化,但它對使用者體驗有重大影響。

您還可以增強顯示的文件,使用頁眉和頁腳進行頁碼和品牌標識,或新增自訂浮水印以將文件標記為草稿或機密。

如何啟用動態PDF載入?

對於需要在無需整頁刷新間切換多個文件的應用程式,請使用iframe結合控制器端點:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

// Controller action to list available PDFs
[HttpGet]
public IActionResult GetPdfList()
{
    var pdfs = new List<object>
    {
        new { id = 1, name = "Report 1" },
        new { id = 2, name = "Report 2" }
    };
    return Json(pdfs);
}

// Controller action to generate and return a specific PDF
[HttpGet]
public IActionResult GetPdf(int id)
{
    var renderer = new ChromePdfRenderer();
    string html = $"<h1>Report {id}</h1><p>Content for report {id}.</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    Response.Headers.Add("Content-Disposition", $"inline; filename=report-{id}.pdf");
    return File(pdf.BinaryData, "application/pdf");
}

在使用者端,使用Razor視圖中的一段簡短JavaScript片段更新iframe源,以在無需頁面重新載入的情況下載入不同的PDF。 控制器按需生成PDF,保持響應大小預測。 對於大型文件,將此模式與IronPDF的合併和拆分功能結合使用,以分段提供文件。

PdfViewerApp的截圖顯示一個PDF查看器顯示'Hello World'文字及導航控制和操作按鈕,用於從HTML生成、從URL生成和列印

如何處理部署和性能?

IronPDF可在ASP.NET、ASP.NET Core和Blazor Server專案中運行。 您可以在Windows Server上託管、部署至Azure或使用Docker進行容器化。 由於它支持.NET 10及早期版本,它可以整合到現代和遺留應用程式中。

如何部署到Azure?

部署到Azure App Service時,IronPDF需要的配置最小化。 確保您的App Service計畫至少是B1級以達到最佳性能。 IronPDF自動處理Chrome渲染引擎的部署。

對於Linux上的容器化部署,請在Dockerfile中新增所需的系統依賴項:

RUN apt-get update && apt-get install -y libgdiplus
SHELL

IronPDF文件詳細介紹了特定平台的Linux要求。 如果不需要完整的Chrome渲染引擎,考慮使用IronPDF Slim以減少容器映像大小。

有哪些關鍵性能考量?

PDF服務應用程式的性能取決於PDF生成的頻率和大小。 以下是適用於大多數生產部署的做法:

  • 在基礎內容變動不頻繁時使用記憶體流或分布式快取快取生成的PDF
  • 使用非同步控制器操作以避免在PDF生成過程中阻塞執行緒
  • 為包含繁重JavaScript的複雜HTML頁面設置適當的渲染超時
  • 應用浮水印和壓縮以在服務前減少文件大小
  • 啟用PDF轉換為圖像以生成預覽縮圖,而不是在文件列表中載入完整的PDF
  • 使用文字提取來構建伺服器端搜索索引,而不是依賴於瀏覽器內建的PDF搜索

您如何排除常見PDF顯示問題?

為什麼PDF在下載而不是顯示?

如果PDF下載而不是內嵌顯示,請核實響應標頭是否正確設置。 請檢查MIME型別是正確的attachment:

Response.Headers.Add("Content-Disposition", "inline; filename=document.pdf");
return File(pdf.BinaryData, "application/pdf");

一些代理和負載均衡器會刪除或修改響應標頭——用開發者工具確認標頭到達瀏覽器。 對於跨來源場景,將CORS標頭新增到Program.cs中,而不是單個響應,以保持配置集中。 如果PDF包含敏感資料,比起僅依賴CORS限制,應應用PDF簽名和密碼保護。

如何處理大型PDF文件?

對於大型文件,流式傳輸可減少伺服器的記憶體壓力。 使用FileStreamResult而不是返回原始位元組資料:

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(largeHtmlContent);

var stream = new MemoryStream(pdf.BinaryData);
return new FileStreamResult(stream, "application/pdf");

對於非常大的文件,考慮使用IronPDF的合併和拆分功能將它們分成幾個部分,並在使用者介面中實施分頁。 這使個別PDF響應較小且載入速度快。 Microsoft的ASP.NET Core大型文件指導也涵蓋了與PDF交付相關的緩衝策略。

您如何更深入使用IronPDF?

在ASP.NET Core中構建PDF查看器不需要複雜的第三方查看程式庫。 通過將IronPDF的伺服器端渲染引擎與瀏覽器的內建PDF支持結合起來,您可以獲得一個專業的文件查看解決方案,具有良好的擴展能力而且需要的使用者端設置最少。 IronPDF主頁提供完整的程式庫概述和入門資源。

從這裡起,您可以向多個方向擴展實施:

請存取IronPDF文件獲取完整的API參考。 今日開始構建,立即獲取IronPDF免費試用——不需要信用卡。

第一步:
arrow pointer
Curtis Chau
技術作家

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

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起