
.NET PDF建立(使用IronPDF的開發者教程)
建立ASP.NET Core PDF檢視器不應該需要複雜的JavaScript程式庫或第三方瀏覽器插件。 現代網頁應用需要一個可靠的方式直接在瀏覽器中顯示PDF檔案,無論是用於發票、報表或互動式PDF文件。 IronPDF簡化了這個過程,通過利用瀏覽器內建的PDF檢視器功能,同時在伺服器端生成像素完美的PDF。
本文將帶您了解如何在您的ASP.NET Core項目中生成和檢視PDF文件,展示如何建立可以顯示任何PDF的PDF檢視器應用。
什麼是ASP.NET Core PDF檢視器?
ASP.NET Core PDF檢視器允許使用者直接在網頁應用中檢視PDF文件,而無需將文件下載到裝置。與其鬥爭於基於JavaScript的文件檢視器組件,IronPDF採取了一種耳目一新的簡單方法:它使用Chrome的渲染引擎在伺服器端生成高品質PDF文件,然後附上正確標頭提供給瀏覽器自動內嵌顯示PDF文件。
這種伺服器端方法意味著您的ASP.NET Core PDF檢視器能夠在所有瀏覽器中保持一致性,無需額外插件如Adobe Acrobat Reader。 由於IronPDF使用的是驅動數百萬瀏覽器的同一Chrome引擎,您的PDF文件將會完全按預期呈現,保留CSS樣式、JavaScript互動和複雜佈局。 ASP.NET Core PDF整合處理從HTML到PDF的轉換以及安全文件傳遞,並提供長期支持。
如何在您的網頁應用中安裝IronPDF?
在您的.NET Core網頁應用中安裝IronPDF只需一條NuGet Package Manager命令。 在Visual Studio中打開您的Package Manager Console並運行:
安裝後,配置您的Program.cs文件中的IronPDF以設置您的授權金鑰:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial keyImports IronPdf
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Start with a free trial key這個簡單的設置使您可以存取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");
}
}Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class PdfController
Inherits Controller
Public Function ViewDocument() As IActionResult
Dim renderer = New ChromePdfRenderer()
' Create PDF from HTML string
Dim 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>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf")
Return File(pdf.BinaryData, "application/pdf")
End Function
End ClassChromePdfRenderer類處理轉換處理,將您的HTML轉換為PDF文件。 將Content-Disposition標頭設置為"inline"會告訴瀏覽器顯示PDF而不是下載它,創造一個無縫的PDF檢視器體驗,使用者可以直接在他們的網頁應用中檢視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");
}Imports IronPdf
Public Function ViewFromUrl(websiteUrl As String) As IActionResult
Dim renderer As New ChromePdfRenderer()
' Configure rendering options
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay = 2000 ' Wait for content to load
Dim pdf = renderer.RenderUrlAsPdf(websiteUrl)
Response.Headers.Add("Content-Disposition", "inline")
Return File(pdf.BinaryData, "application/pdf")
End Function輸出

對於儲存在伺服器上的現有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 Function ViewExistingPdf(fileName As String) As IActionResult
' Load PDF from wwwroot folder
Dim pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName)
Dim 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")
End Function
這種靈活性意味著您的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 Function CreateFormPdf() As IActionResult
Dim html As String = "
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True ' Enable form fields
Dim pdf = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function具有可填表單的輸出

當使用者在瀏覽器中打開這個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
};Imports System
' Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
.MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
.MaxHeight = 25
}這些功能將您的ASP.NET PDF檢視器轉變為文件管理的全面解決方案,支持從簡單的顯示到包括文字選擇和列印功能的複雜編輯操作。 您甚至可以透過IronPDF的轉換功能使用其他格式,如Excel、Word、DOCX文件和PowerPoint。
結論
使用IronPDF建立ASP.NET Core PDF檢視器,消除基於JavaScript的解決方案的複雜性,同時提供專業級的PDF文件處理。 通過利用瀏覽器的原生功能和Chrome的渲染引擎,您可以僅用幾行程式碼建立、顯示和管理PDF文件—無需預設配置或複雜設置。
伺服器端生成與基於瀏覽器的檢閱相結合,為您的網頁應用提供了完美的支持、性能與使用者體驗的平衡。 無論您需要顯示PDF文件、處理表單、編輯現有文件或列印PDF,IronPDF的簡單API使得實現變得簡單。 該程式庫經常更新以確保與最新的.NET框架和Windows環境相容。
準備好在您的ASP.NET Core專案中建立您自己的PDF檢視器了嗎? 開始時,可以透過免費試用找到合適的方案。 需要幫助開始嗎? 查看這個詳細的教程或瀏覽完整的文件以獲取更多範例。

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


