跳至頁尾內容
使用IRONPDF

如何使用C#在ASP.NET中生成PDF

如何在ASP.NET Core查看器中顯示、儲存和列印PDF

IronPDF通過在伺服器端生成PDF並利用瀏覽器內建的PDF查看器來實現ASP.NET Core應用程式中的無縫PDF查看,無需插件,並支持在Docker容器和雲環境中跨平臺部署。

在現代ASP.NET Core網頁應用程式中,直接在網頁瀏覽器中顯示PDF文件已成為一項基本要求。 無論您是在生成發票、報告,還是合同,使用者都希望無需下載文件或安裝Adobe Acrobat Reader即可無縫查看PDF。 本教程展示了IronPDF如何通過其強大的基於Chrome的渲染引擎,簡化在ASP.NET Core檢視器中顯示、儲存和列印PDF。

瀏覽器如何在ASP.NET Core中處理PDF查看?

現代瀏覽器內建的PDF查看器會在接收到具有正確MIME型別的PDF文件時啟動(application/pdf)。 當您的ASP.NET Core應用程式返回具有適當標頭的PDF文件時,瀏覽器會自動內嵌顯示它。這樣就不需要外部插件、Adobe Acrobat Reader或複雜的JavaScript庫。 根據MDN Web Docs,正確的標頭配置對於控制瀏覽器如何處理文件下載和顯示至關重要。

IronPDF利用這一瀏覽器功能,通過其ChromePdfRenderer類別在伺服器端生成高品質PDF。 渲染器使用完整的Chrome引擎,確保您的文件顯示完全符合預期,並完全支持現代CSSJavaScript數位簽名,和網頁字體。 不同於簡單的文件查看器,IronPDF提供對PDF處理和渲染的全面控制。

在ASP.NET Core中顯示/查看PDF文件需要哪些工具?

在您的ASP.NET Core專案中設置IronPDF只需幾個步驟。 首先,在Visual Studio或通過命令行建立一個新專案。打開Visual Studio並選擇ASP.NET Core網頁應用程式專案範本:

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

如何在您的.NET專案中安裝IronPDF?

在專案中通過NuGet套件管理器安裝IronPDF:

Install-Package IronPdf

或者在解決方案管理器中,右鍵單擊您的專案並選擇"管理NuGet套件"。選擇適當的套件來源並搜尋IronPDF。

這就是所需的所有設置。 IronPDF與ASP.NET Core 3.1及之後的版本(長期支持版本)無縫工作,包括.NET 6、7和8。該程式庫定期更新以確保與最新框架的相容性。 欲獲取詳細的安裝說明,請存取IronPDF安裝指南。 該套件包含所有必要的組件,用於PDF生成編輯和處理。 對於Docker部署,IronPDF提供了優化的容器映像,這減少了部署的複雜性,是DevOps工程師管理容器化環境時的關鍵考慮。

如何使用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");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function ViewPdf() As IActionResult
        Dim 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
        Dim 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>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        ' Return PDF for inline viewing in the browser
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

程式碼建立了一個ChromePdfRenderer實例,並配置它以包含背景顏色,並將HTML表單轉換為PDF表單RenderHtmlAsPdf方法將HTML字串轉換為PDF。 使用application/pdfMIME型別返回PDF告訴瀏覽器內嵌顯示,而不是下載它。 這種伺服器端方法確保在所有瀏覽器和平臺上一致渲染—這對於維持Azure部署AWS Lambda環境的可靠性至關重要。

輸出

PDF檢視器介面顯示一個簡單的發票文件,發票號碼12345,日期為2025年10月30日。ASP.NET Core PDF檢視器成功顯示帶有頁面導航控制和工具欄中的縮放選項的渲染發票文件。

對於現有的HTML文件或Razor頁面,您可以使用替代的渲染方法:

// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___");
// 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");
// For containerized applications, use environment-specific paths
var basePath = Environment.GetEnvironmentVariable("APP_BASE_PATH") ?? "wwwroot";
var pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html");
// Render from URL - useful for complex pages
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___");
// 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");
// For containerized applications, use environment-specific paths
var basePath = Environment.GetEnvironmentVariable("APP_BASE_PATH") ?? "wwwroot";
var pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html");
' Render from URL - useful for complex pages
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_58___")
' Render from HTML file in the same location
pdf = renderer.RenderHtmlFileAsPdf("Views/Invoice.html")
' Render from wwwroot folder
pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report.html")
' For containerized applications, use environment-specific paths
Dim basePath = If(Environment.GetEnvironmentVariable("APP_BASE_PATH"), "wwwroot")
pdf = renderer.RenderHtmlFileAsPdf($"{basePath}/templates/report.html")
$vbLabelText   $csharpLabel

這些方法在您獲取HTML內容的方式上提供靈活性,同時保持高品質的PDF輸出。 您還可以載入現有的PDF文件編輯PDF,並使用IronPDF的全面功能處理Word(DOCX文件)和Excel格式。 在文件中了解更多關於HTML到PDF轉換選項的資訊。 欲了解高級處理和編輯功能,請查看API參考

對於DevOps工程師管理微服務架構,IronPDF的本地與遠端引擎架構提供了部署靈活性。 遠端引擎選項允許您將PDF渲染分離到專用服務中,提高資源利用率並實現水平擴展。

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

要允許使用者下載而不是內嵌查看PDF,修改Content-Disposition標頭。 此功能對於需要離線存取的應用程式至關重要:

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");
}

// Health check endpoint for container orchestration
[HttpGet("/health/pdf-generator")]
public IActionResult HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
        return Ok(new { status = "healthy", timestamp = DateTime.UtcNow });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
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");
}

// Health check endpoint for container orchestration
[HttpGet("/health/pdf-generator")]
public IActionResult HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>");
        return Ok(new { status = "healthy", timestamp = DateTime.UtcNow });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
Public Function DownloadPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    ' Create PDF with CSS styling and images
    Dim html = "<h1>Download Me</h1>
                <img src='logo.png' width='100' />"
    Dim pdf = renderer.RenderHtmlAsPdf(html, "wwwroot/images")
    ' Force download with custom filename
    Return File(pdf.BinaryData, "application/pdf", "invoice-2024.pdf")
End Function

' Health check endpoint for container orchestration
<HttpGet("/health/pdf-generator")>
Public Function HealthCheck() As IActionResult
    Try
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<p>Health Check</p>")
        Return Ok(New With {Key .status = "healthy", Key .timestamp = DateTime.UtcNow})
    Catch ex As Exception
        Return StatusCode(503, New With {Key .status = "unhealthy", Key .error = ex.Message})
    End Try
End Function
$vbLabelText   $csharpLabel

新增filename參數會自動將Content-Disposition標頭設置為"attachment",提示瀏覽器下載文件。使用者還可以使用其瀏覽器的儲存功能(Ctrl+S 或PDF查看器工具欄)儲存內嵌顯示的PDF。 上面顯示的健康檢查端點對於Kubernetes部署和容器調度平臺至關重要,以確保您的PDF服務保持快速回應。

輸出

PDF檢視器顯示含Download Me文字的文件和IronPDF for .NET圖標,顯示在100%放大的瀏覽器中。 PDF檢視器成功顯示生成的發票文件,通過IronPDF for .NET啟用下載功能。

為什麼大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");
}

// Async streaming for better resource utilization
public async Task<IActionResult> StreamPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000; // 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute

    var html = await LoadHtmlTemplateAsync();
    var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));

    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "async-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");
}

// Async streaming for better resource utilization
public async Task<IActionResult> StreamPdfAsync()
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000; // 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500; // Allow JS to execute

    var html = await LoadHtmlTemplateAsync();
    var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));

    var stream = pdf.Stream;
    stream.Position = 0;
    return File(stream, "application/pdf", "async-document.pdf");
}
Imports System.Threading.Tasks

Public Function StreamPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    ' Load and process HTML with images
    Dim html = "<h1>Streamed Content</h1>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    ' Stream the PDF file to the browser
    Dim stream = pdf.Stream
    stream.Position = 0
    Return File(stream, "application/pdf", "document.pdf")
End Function

' Async streaming for better resource utilization
Public Async Function StreamPdfAsync() As Task(Of IActionResult)
    Dim renderer = New ChromePdfRenderer()
    ' Configure for optimal container performance
    renderer.RenderingOptions.Timeout = 60000 ' 60 seconds for complex documents
    renderer.RenderingOptions.RenderDelay = 500 ' Allow JS to execute

    Dim html = Await LoadHtmlTemplateAsync()
    Dim pdf = Await Task.Run(Function() renderer.RenderHtmlAsPdf(html))

    Dim stream = pdf.Stream
    stream.Position = 0
    Return File(stream, "application/pdf", "async-document.pdf")
End Function
$vbLabelText   $csharpLabel

此方法通過直接將PDF流式傳輸到回應中而不是建立中間字節陣列來減少記憶體消耗。 您還可以從wwwroot文件夾載入現有的PDF,編輯它們,並流式傳輸已修改的版本。 欲了解高級PDF文件操作圖像處理,請探索PdfDocument API參考。 該組件支持各種編輯操作,包括文字選擇表單填寫和新增數位簽名

對於容器部署,異步PDF生成方法避免了阻塞執行緒並提高了應用程式的吞吐量,對於在調度環境中維持響應的服務至關重要。

使用者可以直接從ASP.NET Core網頁應用程式列印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");
}

// Container-optimized configuration
public IActionResult ConfigureForContainer()
{
    var renderer = new ChromePdfRenderer();
    // Disable GPU for container compatibility
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 0; // No artificial delays
    renderer.RenderingOptions.Timeout = 30000; // 30 second timeout

    // Use environment variables for configuration
    var printDpi = int.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") ?? "300");
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    return Ok("Configured for container environment");
}
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");
}

// Container-optimized configuration
public IActionResult ConfigureForContainer()
{
    var renderer = new ChromePdfRenderer();
    // Disable GPU for container compatibility
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 0; // No artificial delays
    renderer.RenderingOptions.Timeout = 30000; // 30 second timeout

    // Use environment variables for configuration
    var printDpi = int.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") ?? "300");
    renderer.RenderingOptions.PrintHtmlBackgrounds = true;

    return Ok("Configured for container environment");
}
Imports System

Public Class PdfController
    Public Function PrintablePdf() As IActionResult
        Dim renderer As 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
        Dim html As String = "<h1>Print-Optimized Document</h1>
                              <p>This document is optimized for printing.</p>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        ' Return the PDF file for viewing and printing
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    ' Container-optimized configuration
    Public Function ConfigureForContainer() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Disable GPU for container compatibility
        renderer.RenderingOptions.EnableJavaScript = True
        renderer.RenderingOptions.RenderDelay = 0 ' No artificial delays
        renderer.RenderingOptions.Timeout = 30000 ' 30 second timeout

        ' Use environment variables for configuration
        Dim printDpi As Integer = Integer.Parse(Environment.GetEnvironmentVariable("PDF_PRINT_DPI") Or "300")
        renderer.RenderingOptions.PrintHtmlBackgrounds = True

        Return Ok("Configured for container environment")
    End Function
End Class
$vbLabelText   $csharpLabel

設置Print應用列印專用的CSS樣式,確保文件列印時看起來正確。 頁邊距設置為紙張提供了適當的間隔。 使用者可以使用標準列印對話框從其瀏覽器的PDF查看器中直接列印PDF,完全控制印表機選擇和設置。 了解更多關於PDF渲染選項,以微調您的輸出。

PDF檢視器介面顯示一份列印優化的文件,中央顯示此文件已優化以供列印字樣。 當文件已被優化以供列印時,PDF檢視器顯示確認資訊,確保使用者知道他們的文件已準備好進行高品質輸出。

IronPDF如何支持跨平臺和容器部署?

IronPDF在Windows、Linux、macOS、Docker容器和如Azure、AWS的雲平臺上無縫運行。 這種跨平臺的相容性確保了您的ASP.NET Core PDF檢視器解決方案無論部署環境如何均能一致運作。 該程式庫處理平臺特定的渲染細節,使得您的程式碼在各處運行而無需修改。

跨平臺支持圖展示.NET在多個版本、操作系統、雲平臺和開發環境中的相容性。 IronPDF的全面跨平臺支持包括與.NET 9至Framework 4.6.2+的相容性,運行於Windows、Linux、Mac,並整合重大雲供應商和開發工具。

伺服器端處理確保所有平臺上的一致PDF生成。 無論是在Windows伺服器上部署還是Linux容器上,該組件保持相同的渲染質量。 該程式庫自動管理操作系統之間的路徑差異,正確地處理wwwroot文件夾或其他位置的文件。 對於容器化部署,請查看Docker部署指南。 該套件包含了各個平臺所需的所有依賴項,除了標準ASP.NET Core需求之外,無需額外配置。

對於生產容器部署,考慮這個Dockerfile範例:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 80

# Install IronPDF dependencies for Linux
RUN apt-get update && apt-get install -y \
    libgdiplus \
    libc6-dev \
    libx11-6 \
    && rm -rf /var/lib/apt/lists/*

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY ["PdfViewerApp.csproj", "./"]
RUN dotnet restore "PdfViewerApp.csproj"
COPY . .
RUN dotnet build "PdfViewerApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "PdfViewerApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "PdfViewerApp.dll"]

開始使用免費試用,今天就提升您的文件查看功能。

使用IronPDF進行ASP.NET Core PDF查看的主要好處是什麼?

IronPDF通過將伺服器端生成與瀏覽器原生查看結合起來,改變了ASP.NET Core應用程式中的PDF處理。 只需幾行程式碼,您就能從HTML建立專業的PDF,內嵌顯示,啟用下載,並優化列印。 基於Chrome的渲染引擎確保像素級精確度,消除使用Adobe Acrobat Reader或第三方查看器的需要。

此ASP.NET Core PDF檢視器解決方案提供全面的功能,包括表單填寫文字選擇數位簽名,以及編輯PDF的能力。 該組件還支持將Word文件(DOCX文件)、Excel試算表和圖像轉換為PDF。 無論您正在構建一個簡單的文件查看器還是複雜的文件管理系統,IronPDF都提供了您所需的工具。

該程式庫的標籤輔助整合和全面的文件使得實施變得簡單明瞭。 您的專案可以直接顯示PDF,同時後端處理較為複雜的PDF生成任務。 無論是從wwwroot文件夾載入、動態生成,還是從外部來源檢索,檢視器保持一致行為。 通過內建主題支持和可定制寬度設置,您可以完美匹配應用程式的設計。 對於DevOps團隊,IronPDF Slim套件提供了減小的部署大小,針對調度環境中的容器大小限制。

準備好在您的.NET Core網頁應用程式中實施PDF查看了嗎?

對於生產用途,授權起價為$999,並包括全面支持和更新。 存取文件以獲取詳細的API參考和高級功能。 參考我們的全面程式碼範例,快速在您的ASP.NET Core專案中實施PDF功能。

IronPDF授權頁面顯示四個永久授權等級(Lite、Plus、Professional和Unlimited)以及價格、開發者限制,還有IronPDF和Iron Suite選項之間的切換。 IronPDF提供了多種授權選擇,範圍從$999給單個開發者到$3,999的無限使用,所有授權都包括1年支持和更新。

常見問題

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

您可以在ASP.NET Core應用程式中使用IronPDF顯示PDF文件,該工具可直接在您的應用程式中渲染PDF文件。

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

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

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

可以,IronPDF允許您使用其渲染和列印功能直接從您的ASP.NET Core應用程式中列印PDF文件。

在ASP.NET Core中使用IronPDF的優勢是什麼?

IronPDF與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文件,將其整合到您的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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

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

Iron 支援團隊

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