跳過到頁腳內容
USING IRONPDF

How to Create a .NET Core PDF Generator

如何建立 .NET Core PDF 產生器

IronPDF 提供了一個基於 Chrome 的渲染引擎,可以將 HTML、CSS 和 JavaScript 轉換為 .NET Core 應用程式中的 PDF 文檔,支援跨 Windows、Linux 和 Docker 容器的跨平台部署,並且可以透過簡單的 NuGet 安裝進行安裝。

什麼因素決定了.NET Core PDF產生器的可靠性?

在 .NET Core 應用程式中建立 PDF 文件需要一個能夠處理 HTML 內容、保持格式並支援跨平台部署的 PDF 程式庫。 如果您正在開發 ASP.NET Core Web API 或控制台應用程序,那麼強大的 .NET Core PDF 產生器可以簡化從各種來源建立文件的整個過程。 這能節省大量時間。

立即開始免費試用,了解為什麼開發人員選擇 IronPDF 來產生生產環境中的關鍵 PDF 檔案。

IronPDF 是一款功能全面的 .NET Core PDF 庫,表現突出。 它使用 Chrome 渲染引擎建立像素級精確度的 PDF 文件。 這種方法意味著您無需學習複雜的 PDF API 或處理佈局問題; 您可以利用現有的 HTML 和 CSS 技能來產生 PDF 檔案。 該庫提供了豐富的文件程式碼範例,使實作變得簡單易行。

IronPDF 如何簡化 PDF 文件的產生 .NET Core 中?

IronPDF 將傳統上複雜的 PDF 生成任務轉化為任何 .NET 開發人員都可以實現的簡單程式碼。 該程式庫使用ChromePdfRenderer類別將 HTML 字串、文件或 URL 直接轉換為 PDF 格式。 這種流暢的 API 方法提供了廣泛的自訂選項,同時在不同平台上保持了高效能。

為什麼基於 HTML 的 PDF 產生對開發人員很重要?

IronPDF真正的強大之處在於它如何處理將HTML內容轉換為專業的PDF文件。 開發者無需手動定位或繪製元素,只需編寫帶有 CSS 樣式的標準 HTML,該程式庫即可無縫處理轉換。 生成的 PDF 文件並非僅僅是文字圖像; 它們是功能齊全的文檔,使用者可以選擇和搜尋文字。 對於容器化部署,這種方法消除了字體管理UTF-8 字元編碼的常見問題,這對於Docker 環境至關重要。

有哪些進階編輯功能可用?

除了基本的 PDF 產生功能外,您還可以使用 IronPDF 的高級編輯工具來編輯 PDF 文件。 使用這些功能,您可以合併文件、新增浮水印註解等等。 該庫支援數位簽章進行文件認證,並支援PDF 壓縮以優化網路傳輸的檔案大小。 請查看相關教程,以獲取這些工具的更多範例原始程式碼。 對於DevOps團隊而言,這些功能可實現無需外部相依性的自動化文件處理工作流程。

如何透過 NuGet 套件管理器安裝 IronPDF?

在 Visual Studio 中開始使用 IronPDF 只需要安裝一個 NuGet 套件。 開啟 NuGet 套件管理器控制台,確保在"預設項目"下拉清單中選擇了您的專案名稱,然後執行以下命令:

Install-Package IronPdf

NuGet 套件包含哪些內容?

這個 NuGet 套件提供了在 .NET Core 應用程式中建立、編輯和產生 PDF 檔案所需的所有功能。 該安裝程式會自動配置您的項目,以便在WindowsLinuxDocker 環境中產生 PDF 檔案。 它還提供對各種 .NET 版本的支持,包括 .NET Framework 4.6.2+、.NET Core 3.1+ 和 .NET Standard 2.0+。 對於容器化部署,該軟體包包含針對最小鏡像大小最佳化的原生依賴項。 IronPdf.Slim版本為對鏡像大小有嚴格限制的環境提供了更大的部署彈性。

如何從 HTML 建立我的第一個 PDF 文件?

讓我們以一個實際的發票文件範例來建立 PDF 文件。 本文示範如何從 HTML 內容產生具有正確格式和資料綁定的 PDF 檔案:

using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
using IronPdf;
using System.IO;
using System.Text;
// Initialize the Chrome renderer
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
// Create HTML content for invoice
var htmlBuilder = new StringBuilder();
htmlBuilder.Append(@"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>");
// Example of dynamically adding table rows with a for loop
for (int i = 0; i < 3; i++)
{
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>");
}
htmlBuilder.Append(@"
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>");
// Generate PDF from HTML string
PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF file
pdfObject.SaveAs("invoice.pdf");
Imports IronPdf
Imports System.IO
Imports System.Text

' Initialize the Chrome renderer
Dim renderer As New ChromePdfRenderer()

' Configure rendering options
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Create HTML content for invoice
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; font-size: 14px; }
            .invoice-header { background: #f0f0f0; padding: 20px; }
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
        </style>
    </head>
    <body>
        <div class='invoice-header'>
            <h1>Invoice #INV-2024-001</h1>
            <p>Date: " & DateTime.Now.ToString("MM/dd/yyyy") & "</p>
        </div>
        <table>
            <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>")

' Example of dynamically adding table rows with a for loop
For i As Integer = 0 To 2
    htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>")
Next

htmlBuilder.Append("
        </table>
        <p><strong>This is a new paragraph with a summary.</strong></p>
    </body>
    </html>")

' Generate PDF from HTML string
Dim pdfObject As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())

' Save the PDF file
pdfObject.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

這段程式碼透過將 HTML 標記與動態資料結合,產生專業的發票文件。 請注意,我們在 CSS 中新增了自訂字體大小,並使用 for 迴圈動態產生了表格行。我們還新增了一個新的段落元素。 RenderHtmlAsPdf方法傳回一個PdfDocument對象,讓您可以完全控制產生的檔案。如需了解更多進階 HTML 轉 PDF 場景,請參閱HTML 轉 PDF 教學渲染選項提供了對邊距紙張尺寸視窗設定的廣泛控制。

產生的PDF輸出檔是什麼樣子的?

下面的螢幕截圖顯示了我們的範例發票完美地渲染成 PDF 文件格式。

! PDF 檢視器顯示發票文檔,發票號碼為 INV-2024-001,顯示一個表格,其中包含三種產品,每種產品的價格為 25.00 美元,該文檔使用 .NET Core 從 HTML 生成。

如何從網址和網頁產生PDF文件?

IronPDF 擅長將現有網頁轉換為 PDF 檔案。 當從報表儀表板或基於 Web 的表單產生 PDF 文件時,此功能非常寶貴:

// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
// For containerized environments, consider using environment variables
string outputPath = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH") ?? "/app/output";
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"));
// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();
// Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
// Convert a URL to PDF
PdfDocument pdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___");
// Save to file path
string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf");
pdfDocument.SaveAs(filePath);
// For containerized environments, consider using environment variables
string outputPath = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH") ?? "/app/output";
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"));
' Create a new ChromePdfRenderer instance
Dim renderer As New ChromePdfRenderer()
' Set custom page size and margins
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
' Convert a URL to PDF
Dim pdfDocument As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_51___")
' Save to file path
Dim filePath As String = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf")
pdfDocument.SaveAs(filePath)
' For containerized environments, consider using environment variables
Dim outputPath As String = Environment.GetEnvironmentVariable("PDF_OUTPUT_PATH")
If String.IsNullOrEmpty(outputPath) Then
    outputPath = "/app/output"
End If
pdfDocument.SaveAs(Path.Combine(outputPath, "webpage.pdf"))
$vbLabelText   $csharpLabel

為什麼 JavaScript 支援對 URL 轉換很重要?

該函式庫負責處理 JavaScript 執行,載入圖片和樣式表等外部資源,並在轉換過程中保持響應式佈局。 這使其非常適合從現有 Web 應用程式建立報告。 WaitFor 設定確保所有動態內容在渲染之前載入完畢。 對於需要驗證的網站,IronPDF 支援cookieHTTP 標頭TLS 網站登入。 請參閱詳細指南,以了解有關將 URL 轉換為 PDF 的更多資訊。

這是 維基百科首頁的截圖,已轉換為 PDF 格式,顯示了包含特色文章、新聞版塊和導航元素的主頁佈局。

哪些進階PDF功能支援複雜報表?

專業PDF文件通常除了基本內容外,還需要其他元素。 IronPDF 提供多種方法來增強您的 PDF 文檔,包括新增頁首、頁尾和浮水印。 頁首和頁尾 API提供對文件呈現方式的完全控制:

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
// Add metadata for document management systems
formDocument.MetaData.Author = "Automated System";
formDocument.MetaData.CreationDate = DateTime.Now;
formDocument.SaveAs("form-document.pdf");
// Create renderer with advanced options
var renderer = new ChromePdfRenderer();
// Add headers and footers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div>Page {page} of {total-pages}</div>"
};
// Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
string formHtml = @"
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>";
PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml);
// Add metadata for document management systems
formDocument.MetaData.Author = "Automated System";
formDocument.MetaData.CreationDate = DateTime.Now;
formDocument.SaveAs("form-document.pdf");
' Create renderer with advanced options
Dim renderer As New ChromePdfRenderer()
' Add headers and footers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center'>Company Report</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div>Page {page} of {total-pages}</div>"
}
' Generate PDF with form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim formHtml As String = "
    <form>
        <label>Name: <input type='text' name='name' /></label>
        <label>Email: <input type='email' name='email' /></label>
        <button type='submit'>Submit</button>
    </form>"
Dim formDocument As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
' Add metadata for document management systems
formDocument.MetaData.Author = "Automated System"
formDocument.MetaData.CreationDate = DateTime.Now
formDocument.SaveAs("form-document.pdf")
$vbLabelText   $csharpLabel

頁眉和表單如何提升專業文件的品質?

本範例示範如何在 PDF 文件的所有頁面中新增一致的頁眉,以及如何在 PDF 文件中建立互動式表單欄位。 系統自動處理頁碼表單欄位渲染。 對於複雜的表單,您也可以透過程式設計方式填寫現有的 PDF 表單元資料屬性支援與文件管理系統整合。

PDF 文件顯示了一個簡單的表單,標題為"公司報告",包含姓名和電子郵件輸入欄位以及"提交"按鈕。

如何在 ASP.NET Core 中最佳化非同步操作的效能?

對於處理多個 PDF 生成請求的 Web 應用程序,非同步操作可以提高回應速度:

public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
// Health check endpoint for monitoring
[HttpGet("/health/pdf-generator")]
public async Task<IActionResult> HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Test</p>");
        return Ok(new { status = "healthy", renderer = "operational" });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
public async Task<byte[]> GeneratePdfAsync(string htmlContent)
{
    var renderer = new ChromePdfRenderer();
    // Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
    // Generate PDF asynchronously
    PdfDocument pdf = await renderer.RenderHtmlAsPdfAsync(htmlContent);
    // Return as byte array for API responses
    return pdf.BinaryData;
}
// Usage in ASP.NET Core controller
[HttpPost]
public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data)
{
    string html = BuildInvoiceHtml(data);
    byte[] pdfBytes = await GeneratePdfAsync(html);
    return File(pdfBytes, "application/pdf", "invoice.pdf");
}
// Health check endpoint for monitoring
[HttpGet("/health/pdf-generator")]
public async Task<IActionResult> HealthCheck()
{
    try
    {
        var renderer = new ChromePdfRenderer();
        var testPdf = await renderer.RenderHtmlAsPdfAsync("<p>Test</p>");
        return Ok(new { status = "healthy", renderer = "operational" });
    }
    catch (Exception ex)
    {
        return StatusCode(503, new { status = "unhealthy", error = ex.Message });
    }
}
Public Async Function GeneratePdfAsync(htmlContent As String) As Task(Of Byte())
    Dim renderer = New ChromePdfRenderer()
    ' Configure for optimal performance
    renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
    ' Generate PDF asynchronously
    Dim pdf As PdfDocument = Await renderer.RenderHtmlAsPdfAsync(htmlContent)
    ' Return as byte array for API responses
    Return pdf.BinaryData
End Function

' Usage in ASP.NET Core controller
<HttpPost>
Public Async Function CreateInvoice(<FromBody> data As InvoiceData) As Task(Of IActionResult)
    Dim html As String = BuildInvoiceHtml(data)
    Dim pdfBytes As Byte() = Await GeneratePdfAsync(html)
    Return File(pdfBytes, "application/pdf", "invoice.pdf")
End Function

' Health check endpoint for monitoring
<HttpGet("/health/pdf-generator")>
Public Async Function HealthCheck() As Task(Of IActionResult)
    Try
        Dim renderer = New ChromePdfRenderer()
        Dim testPdf = Await renderer.RenderHtmlAsPdfAsync("<p>Test</p>")
        Return Ok(New With {Key .status = "healthy", Key .renderer = "operational"})
    Catch ex As Exception
        Return StatusCode(503, New With {Key .status = "unhealthy", Key .error = ex.Message})
    End Try
End Function
$vbLabelText   $csharpLabel

為什麼非同步模式對 Web 應用程式至關重要?

這種模式使得 ASP.NET Core 應用程式能夠有效率地產生 PDF 文件,而不會阻塞線程,這相比以往文件生成通常很繁瑣的舊版 Web 技術來說,是一項巨大的改進。 對於需要直接向客戶端傳回檔案的 API 端點來說,位元組數組輸出非常適用。 對於大批量場景,可以探索並行 PDF 生成多執行緒渲染技術。 健康檢查端點為容器化部署提供必要的監控。

Controllers 中如何處理檔案回應?

請注意 File() 方法如何傳回具有正確 application/pdf 內容類型的 PDF,從而確保瀏覽器正確處理回應。 處理大型 PDF 文件或多個並發請求時,這種非同步方法可以保持最佳的系統效能。 對於記憶體受限的環境,您可以直接串流 PDF 文件,而無需儲存到磁碟。 有關非同步模式的更多信息,請參閱官方 ASP.NET Core 文件

生產環境部署的關鍵考量有哪些?

IronPDF 支援哪些平台和環境?

IronPDF支援跨多種環境部署。 對於 Docker 容器,請確保您按照Docker 部署指南中的說明,在 Dockerfile 中包含必要的依賴項。 該程式庫可在 Windows Server、Linux 發行版以及AzureAWS等雲端平台上無縫運作。 每個環境可能需要對字體和渲染進行特定配置,但核心 API 保持一致。 對於 Kubernetes 部署,請考慮使用遠端引擎配置將 PDF 渲染與應用程式 pod 分開。 微軟關於 .NET Core 部署的文檔提供了更多針對生產環境的最佳實踐。

# Example multi-stage Dockerfile for IronPDF
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /source

# Copy and restore
COPY *.csproj .
RUN dotnet restore

# Copy and publish
COPY . .
RUN dotnet publish -c Release -o /app

# Runtime image
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .

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

EXPOSE 80
ENTRYPOINT ["dotnet", "YourApp.dll"]

準備好今天就開始建立您的 PDF 產生器了嗎?

IronPDF 將 .NET Core 中的 PDF 產生從複雜的挑戰轉變為簡單的實作。 它支援 HTML 內容,功能豐富,並且具有一致的跨平台行為,是需要可靠地產生 PDF 文件的開發人員的理想選擇。 此程式庫的效能最佳化功能可確保在容器化環境中有效利用資源,而對 Linux ARM 的原生支援則使其能夠在現代化雲端基礎架構上部署。

準備好實現您自己的 PDF 文件產生器了嗎? 首先進行免費試用,即可無限制地體驗所有功能。 該文件提供了大量的範例和指南,可幫助您建立符合您特定要求的專業 PDF 文件。 無論您是建立發票系統、產生複雜報告,或是轉換現有 Web 內容,IronPDF 都能提供對應的工具,幫助您獲得像素級完美的結果。 查看演示,了解實際應用案例。

對於生產環境部署,請探索適合您專案規模的授權選項。 投資高品質的 PDF 庫可以獲得豐厚的回報,包括縮短開發時間,以及在所有 .NET 應用程式中獲得一致、專業的輸出。 考慮購買許可延期服務,以獲得長期支援和升級,從而始終使用最新功能。

常見問題解答

可靠的 .NET Core PDF 生成器有哪些主要功能?

可靠的 .NET Core PDF 生成器應提供 HTML 至 PDF 轉換、支援各種檔案格式、高品質渲染以及輕鬆生成發票和報告等功能。IronPDF 提供這些功能,可確保像素完美的 PDF 輸出。

如何在 .NET Core 中將 HTML 轉換為 PDF?

您可以利用 IronPDF for .NET 的 HTML 至 PDF 渲染功能,在 .NET Core 中使用 IronPDF 將 HTML 轉換為 PDF。這可讓您精確地將網頁、HTML 字串或本機 HTML 檔案轉換為 PDF 文件。

我可以在 .NET Core 中使用 IronPDF 製作發票嗎?

是的,您可以在 .NET Core 中使用 IronPDF 創建發票。IronPDF 提供從 HTML 模板產生 PDF 文件的功能,讓您輕鬆設計並製作專業發票。

是否可以在 .NET Core 中使用 IronPDF 生成报告?

絕對可以。IronPDF for .NET Core 可將 HTML 內容轉換為 PDF 格式,從而生成詳細的報告,確保您的報告既具有視覺吸引力,又方便分享。

IronPDF 是否支持像素完美渲染?

是的,IronPDF 支持像素完美渲染,确保创建的 PDF 与原始 HTML 设计和布局完美匹配。這對於維持文件呈現的完整性至關重要。

IronPDF for .NET Core 可以處理哪些檔案格式?

IronPDF 可以處理 .NET Core 中的各種檔案格式,包括將 HTML、圖片和 ASPX 檔案轉換為 PDF。它可針對不同的專案需求提供彈性。

IronPDF 如何確保高品質的 PDF 輸出?

IronPDF 採用先進的渲染技術,並支援多種字型和樣式,可確保高品質的 PDF 輸出,進而產生專業且精確的 PDF 文件。

IronPDF 是否適合用 .NET Core 製作行銷資料?

是的,IronPDF 適合在 .NET Core 中製作行銷資料。它能夠將豐富的 HTML 內容(包括 CSS 風格的元素)轉換為 PDF,因此非常適合製作小冊子和傳單。

我可以自訂 IronPDF 所產生 PDF 文件的版面嗎?

IronPdf 允許使用 HTML 和 CSS 對 PDF 文件佈局進行廣泛的自訂,讓您可以控制 PDF 文件的設計和結構。

在 .NET Core 中使用 IronPDF 生成 PDF 有哪些優點?

在 .NET Core 中使用 IronPDF 生成 PDF 的優點包括易用性、全面的說明文件、對 HTML 到 PDF 轉換的強大支援,以及高效製作專業品質文件的能力。

IronPDF 是否與 .NET 10 完全相容?

IronPDF for .NET 可在 .NET 10 上無縫運行,提供與 .NET 6、7、8 和 9 等早期版本相同的豐富 PDF 生成、編輯和渲染功能。它支援新的 .NET 10 效能改進和專案類型,包括 Web、Desktop、Console 和 MAUI。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。