跳過到頁腳內容
使用IRONPDF

適用於.NET Core的PDF API:在C#中生成和編輯PDF

IronPDF .NET Core PDF API 概述,並排顯示程式碼編輯器、HTML 到 PDF 轉換和輸出文件。

IronPDF 是一款適用於 .NET Core 和 .NET 10 的 PDF API,可透過 C# 程式碼生成、轉換及編輯 PDF 文件。 安裝 NuGet 套件,建立一個 ChromePdfRenderer 實例,然後只需幾行程式碼即可從 HTML 字串、即時 URL 或現有檔案產生 PDF。

在 .NET Core 應用程式中,生成 PDF 文件是開立發票、製作報告、簽訂合約以及處理合規文件時的標準需求。 挑戰在於尋找一款能精準渲染 HTML、與 ASP.NET Core 和 Blazor 無縫整合、在 Windows、Linux 和 macOS 上產生一致輸出,且無需額外工具即可處理數位簽章和密碼保護等進階操作的函式庫。 本指南將逐步引導您了解 IronPDF 的 .NET Core PDF API,內容涵蓋從安裝到最常見的文件操作,並附有可運作的 C# 程式碼範例。

如何在 .NET Core 中開始使用 IronPDF?

請透過套件管理主控台或 .NET CLI 從 NuGet 安裝 IronPDF:

# Package Manager Console
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
# Package Manager Console
Install-Package IronPdf

# .NET CLI
dotnet add package IronPdf
SHELL

安裝完成後,請在應用程式啟動時在 Program.cs 中新增您的許可證金鑰:

using IronPdf;

// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
using IronPdf;

// Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronPdf

' Configure your license key before any IronPDF operations
License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

提供免信用卡的免費試用版供評估使用。 IronPDF 支援 .NET 10、.NET 9、.NET 8、.NET Framework 4.6.2 以上版本,以及所有主要 .NET Core 版本。 此函式庫可在 Windows、macOS 和 Linux 上運行,無需額外的執行時依賴項,因此適合用於容器化部署及包含 Azure、Docker 和 AWS 在內的雲端環境。

對於ASP.NET Core項目,在建立應用程式之前,在 Program.cs 中註冊 IronPDF 服務,然後透過標準依賴注入容器注入 ChromePdfRenderer。 IronPDF 可與 ASP.NET Core 專案類型整合,包括 Web API、MVC、Razor Pages 及 Blazor Server。 此 NuGet 套件安裝時僅需單一依賴項,無需額外的原生執行階段函式庫或外部可執行檔,讓您的 CI 建置流程與容器映像檔保持簡潔明瞭。 在 Linux 或 macOS 環境中部署時,除標準的 .NET Standard SDK 外,無需進行任何額外設定。

因為 ChromePdfRenderer 是線程安全的,所以你可以將其註冊為單例並在請求處理程序之間共享它。 在高吞吐量場景中,建立渲染器實例池或使用非同步渲染方法(RenderHtmlAsPdfAsyncRenderUrlAsPdfAsync)以避免在 PDF 產生執行時間阻塞請求執行緒。 IronPDF 的授權頁面涵蓋了生產環境中的部署席位及同時執行執行緒的限制。

如何在 C# 中將 HTML 轉為 PDF?

HTML 轉 PDF 是 .NET PDF API 最常見的應用場景。 IronPDF 的 ChromePdfRenderer 可轉換 HTML 字串、本地檔案或即時網址,同時保留 CSS 樣式、字型、JavaScript 輸出及圖片,使其呈現效果與在 Chrome 中的渲染效果一致。

using IronPdf;

// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
    <style>
        body { font-family: Arial; font-size: 14px; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        table { border-collapse: collapse; width: 100%; margin-top: 16px; }
        td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
        th { background: #3498db; color: white; }
    </style>
</head>
<body>
    <h1>Sales Report - Q4 2025</h1>
    <p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
    <table>
        <tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
        <tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
        <tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
    </table>
</body>
</html>";

var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
using IronPdf;

// Create the renderer and define HTML content with full CSS support
var renderer = new ChromePdfRenderer();
var html = @"<html>
<head>
    <style>
        body { font-family: Arial; font-size: 14px; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        table { border-collapse: collapse; width: 100%; margin-top: 16px; }
        td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
        th { background: #3498db; color: white; }
    </style>
</head>
<body>
    <h1>Sales Report - Q4 2025</h1>
    <p>Generated on: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
    <table>
        <tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
        <tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
        <tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
    </table>
</body>
</html>";

var document = renderer.RenderHtmlAsPdf(html);
document.SaveAs("sales-report.pdf");
Imports IronPdf

' Create the renderer and define HTML content with full CSS support
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<html>
<head>
    <style>
        body { font-family: Arial; font-size: 14px; margin: 40px; }
        h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }
        table { border-collapse: collapse; width: 100%; margin-top: 16px; }
        td, th { border: 1px solid #ddd; padding: 10px; text-align: left; }
        th { background: #3498db; color: white; }
    </style>
</head>
<body>
    <h1>Sales Report - Q4 2025</h1>
    <p>Generated on: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
    <table>
        <tr><th>Product</th><th>Units Sold</th><th>Revenue</th></tr>
        <tr><td>Widget A</td><td>1,200</td><td>$24,000</td></tr>
        <tr><td>Widget B</td><td>850</td><td>$17,000</td></tr>
    </table>
</body>
</html>"

Dim document = renderer.RenderHtmlAsPdf(html)
document.SaveAs("sales-report.pdf")
$vbLabelText   $csharpLabel

輸出 PDF 文件

Visual Studio 專案正在執行 IronPDF HTML 轉 PDF 轉換,產生具有樣式資料表的格式化銷售報告

ChromePdfRenderer 傳回一個 PdfDocument 對象,您可以將其儲存到檔案路徑,匯出至 byte[] 以進行 HTTP 回應,或寫入 MemoryStream 以進行記憶體處理。 渲染器遵循所有 CSS 屬性,包括自訂字體、flexbox、網格佈局、媒體查詢以及用於邊距和頁面大小控制的 @page 規則。 對於與 CSS 和圖像資源一起儲存在磁碟上的 HTML 模板,請使用檔案路徑呼叫 RenderHtmlFileAsPdf,而不是傳遞內聯字串。 IronPDF 會根據檔案所在目錄解析相對資產路徑,因此連結的樣式表和本機圖片將在輸出中自動顯示,無需額外設定。

對於需要擷取即時網頁的應用程式,可以使用RenderUrlAsPdfAsync在執行 JavaScript 時截取任何 URL 的螢幕截圖:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");

// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a live URL including all JavaScript-rendered content
var document = await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report");
document.SaveAs("monthly-report.pdf");

// Return PDF bytes in an ASP.NET Core controller
byte[] pdfBytes = document.BinaryData;
return File(pdfBytes, "application/pdf", "report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render a live URL including all JavaScript-rendered content
Dim document = Await renderer.RenderUrlAsPdfAsync("https://example.com/monthly-report")
document.SaveAs("monthly-report.pdf")

' Return PDF bytes in an ASP.NET Core controller
Dim pdfBytes As Byte() = document.BinaryData
Return File(pdfBytes, "application/pdf", "report.pdf")
$vbLabelText   $csharpLabel

URL 渲染會在擷取前等待 JavaScript 執行完畢,這能確保動態載入的圖表、表格及資料視覺化內容在輸出 PDF 中正確顯示。 您可以設定渲染選項,以調整頁面邊距、紙張尺寸、紙張方向以及 JavaScript 執行超時。 在渲染前,亦可將驗證 Cookie 和自訂 HTTP 標頭注入請求中,此功能支援擷取需登入會話的網頁。

如何設定 PDF 頁面版面配置與渲染選項?

RenderingOptions 屬性控制頁面尺寸、邊距、方向以及在任何渲染呼叫執行之前 JavaScript 的等待行為。 在渲染器實例上設定這些屬性一次,它們便會套用至該實例產出的每份文件。

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);

var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 15;
renderer.RenderingOptions.MarginBottom = 15;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500);

var document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>");
document.SaveAs("landscape-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure page layout before rendering
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 15
renderer.RenderingOptions.MarginBottom = 15
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Wait for dynamic JavaScript content before capturing
renderer.RenderingOptions.WaitFor.RenderDelay(500)

Dim document = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Body content here.</p>")
document.SaveAs("landscape-report.pdf")
$vbLabelText   $csharpLabel

紙張尺寸值涵蓋標準格式,包括 A4、A3、Letter、Legal,以及以毫米為單位指定的自訂尺寸。 邊距屬性接受以毫米為單位的數值,並分別套用至每個邊緣。 WaitFor API 控制 JavaScript 執行時間,這在 HTML 在渲染圖表或計算表格值之前非同步載入資料時非常有用。 對於使用 CSS 規則的頁面,IronPDF 會尊重這些聲明並直接套用它們。 請參閱完整的渲染選項參考,以查看包含 Zoom 比例、背景顏色及 PDF 版本選取等完整屬性清單。

如何將 DOCX 檔案和圖片轉換為 PDF?

除了 HTML 之外,IronPDF 還能將 DOCX 文件、常見的圖像格式以及 Markdown 檔案轉換為 PDF。 這支援可接受多種輸入類型的處理管道。

using IronPdf;

// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");

// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
using IronPdf;

// Convert a Word document to PDF while preserving its formatting
var docxPdf = new DocxToPdfRenderer().RenderDocxAsPdf("contract.docx");
docxPdf.SaveAs("contract.pdf");

// Combine multiple images into a single multi-page PDF
var images = new[] { "page1.png", "page2.png", "page3.png" };
var imagePdf = ImageToPdfConverter.ImageToPdf(images);
imagePdf.SaveAs("scanned-document.pdf");
Imports IronPdf

' Convert a Word document to PDF while preserving its formatting
Dim docxPdf = New DocxToPdfRenderer().RenderDocxAsPdf("contract.docx")
docxPdf.SaveAs("contract.pdf")

' Combine multiple images into a single multi-page PDF
Dim images = {"page1.png", "page2.png", "page3.png"}
Dim imagePdf = ImageToPdfConverter.ImageToPdf(images)
imagePdf.SaveAs("scanned-document.pdf")
$vbLabelText   $csharpLabel

DOCX 輸入範例 vs. PDF 輸出範例

並排比較原始 Word 文件和 IronPDF 轉換後的 PDF 輸出,顯示表格格式和樣式得以保留。

DOCX 轉 PDF 功能可完整保留原始 WORD 文件中的段落樣式、表格、頁首、頁尾、嵌入圖片及清單。 此圖片轉 PDF 轉換器支援 JPEG、PNG、TIFF、BMP 及 GIF 格式,可自動優化輸出檔案大小,並支援將多張圖片合併為單一的分頁文件。 這兩個轉換器都傳回一個標準的 PdfDocument 實例,因此您可以將它們與合併、簽名或浮水印等編輯操作連結。 針對由 WORD 產生的 DOCX 檔案,此轉換器能處理複雜的表格結構與嵌入式圖片,同時維持原始段落與標題的層級結構。

如何新增數位簽章和表單欄位?

生產文件的工作流程通常需要加密簽名以確保真實性,並需透過互動式表單欄位進行資料收集。 IronPDF 透過相同的 API 提供數位簽章PDF 表單支援

using IronPdf;
using IronPdf.Signing;

// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);

// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";

pdf.SaveAs("signed-agreement.pdf");
using IronPdf;
using IronPdf.Signing;

// Load an existing PDF and apply a digital signature using an X.509 certificate
var pdf = PdfDocument.FromFile("agreement.pdf");
var signature = new PdfSignature("certificate.pfx", "pfx-password");
pdf.Sign(signature);

// Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation";
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd");
pdf.Form.FindFormField("Amount").Value = "$12,500.00";

pdf.SaveAs("signed-agreement.pdf");
Imports IronPdf
Imports IronPdf.Signing

' Load an existing PDF and apply a digital signature using an X.509 certificate
Dim pdf = PdfDocument.FromFile("agreement.pdf")
Dim signature = New PdfSignature("certificate.pfx", "pfx-password")
pdf.Sign(signature)

' Populate named form fields with dynamic application data
pdf.Form.FindFormField("CustomerName").Value = "Acme Corporation"
pdf.Form.FindFormField("ContractDate").Value = DateTime.Now.ToString("yyyy-MM-dd")
pdf.Form.FindFormField("Amount").Value = "$12,500.00"

pdf.SaveAs("signed-agreement.pdf")
$vbLabelText   $csharpLabel

已驗證簽名範例

Adobe Acrobat 顯示了使用 IronPDF 的 PdfSignature API 簽署的 PDF 文件上的已驗證數位簽章面板

數位簽名採用 PFX 格式的 X.509 憑證,並符合 Adobe Acrobat 及其他 PDF 檢視器所認可的 PDF 簽名標準。 Acrobat 中的簽名面板會確認憑證簽發者、簽署時間及完整性狀態。 PDF 表單 API 支援文字欄位、核取方塊、單選按鈕及下拉式選單。 您可以透過程式設計建立表單範本,在執行階段填入資料,並從已填寫的文件中讀取提交的欄位值。 此模式適用於合約管理、人力資源入職流程,以及自動化資料收集管道等情境,在這些情境中,同一份 PDF 範本會被重複用於多筆交易,但各筆交易的欄位值各不相同。

對於基於時間戳記的簽名,請傳遞一個配置了時間戳伺服器 URI 的 PdfSignature 實例,以便由受信任的第三方而不是本機系統時脈來認證簽名時間。 簽署指南涵蓋可見簽名影像、多位連續簽署者,以及憑證驗證選項。

如何編輯與處理現有的 PDF 文件?

IronPDF 讓您無需從 HTML 重新建構 PDF 檔案,即可直接修改 PDF 檔案。 透過程式設計方式新增頁首、頁尾、浮水印、註解,或執行頁面合併與分割。

using IronPdf;

var document = PdfDocument.FromFile("report.pdf");

// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
    rotation: 30, opacity: 50);

// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});

// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);

document.SaveAs("final-report.pdf");

// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
using IronPdf;

var document = PdfDocument.FromFile("report.pdf");

// Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>",
    rotation: 30, opacity: 50);

// Add a branded header to every page
document.AddHtmlHeaders(new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
});

// Append supplementary pages from a second document
var appendix = PdfDocument.FromFile("appendix.pdf");
document.AppendPdf(appendix);

document.SaveAs("final-report.pdf");

// Export to bytes for HTTP streaming
byte[] pdfBytes = document.BinaryData;
Imports IronPdf

Dim document = PdfDocument.FromFile("report.pdf")

' Add a semi-transparent watermark using HTML
document.ApplyWatermark("<h2 style='color:red; opacity:0.4; transform:rotate(-30deg)'>CONFIDENTIAL</h2>", rotation:=30, opacity:=50)

' Add a branded header to every page
document.AddHtmlHeaders(New HtmlHeaderFooter With {
    .HtmlFragment = "<div style='text-align:right; font-size:10px; color:#666'>Internal Use Only - Page {page} of {total-pages}</div>"
})

' Append supplementary pages from a second document
Dim appendix = PdfDocument.FromFile("appendix.pdf")
document.AppendPdf(appendix)

document.SaveAs("final-report.pdf")

' Export to bytes for HTTP streaming
Dim pdfBytes As Byte() = document.BinaryData
$vbLabelText   $csharpLabel

範例輸出

附有 IronPDF 機密浮水印和品牌頁首的 PDF 文檔,頁首顯示頁碼和附錄頁。

HTML 頁首和頁尾 API支援範本變量,包括 {page}{total-pages}{date},用於動態內容。 自訂浮水印方法接受 HTML 片段,讓您能透過單次呼叫,在所有頁面套用經過樣式設定、旋轉且半透明的覆蓋圖層。 您亦可依據頁碼範圍分割 PDF 檔案合併多個文件,並從任何 PDF 中擷取嵌入的圖片與文字內容。 文字擷取功能能保留各欄位與表格的閱讀順序,這有助於簡化後續的搜尋索引、內容遷移或資料驗證工作流程。

如何設定密碼保護與安全性設定?

使用密碼和權限標記保護 PDF 文件,是財務報告、法律文件及人事檔案的一項標準要求。

using IronPdf;
using IronPdf.Security;

var pdf = PdfDocument.FromFile("financial-report.pdf");

// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";

// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;

pdf.SaveAs("protected-report.pdf");
using IronPdf;
using IronPdf.Security;

var pdf = PdfDocument.FromFile("financial-report.pdf");

// Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password";
pdf.SecuritySettings.OwnerPassword = "admin-password";

// Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserFormData = false;

pdf.SaveAs("protected-report.pdf");
Imports IronPdf
Imports IronPdf.Security

Dim pdf = PdfDocument.FromFile("financial-report.pdf")

' Set passwords: UserPassword controls opening, OwnerPassword controls editing
pdf.SecuritySettings.UserPassword = "viewer-password"
pdf.SecuritySettings.OwnerPassword = "admin-password"

' Configure fine-grained permissions
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.PrintLowResolution
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserFormData = False

pdf.SaveAs("protected-report.pdf")
$vbLabelText   $csharpLabel

PDF 安全性設定 API 採用 128 位元或 256 位元 AES 加密。 設定 UserPassword 要求讀者在任何 PDF 檢視器中開啟檔案時輸入密碼。 設定 OwnerPassword 限製程式修改和擁有者層級的操作。 權限標記可獨立控制列印品質、文字選取、註解以及表單欄位的存取權限。 套用安全設定後,BinaryData 屬性會傳回加密的 PDF 位元組,以便儲存或透過 HTTP 傳輸。 這些設定符合 PDF 規格的存取控制模型,因此受保護的文件可在 Adobe Acrobat、瀏覽器內建的 PDF 檢視器以及行動閱讀應用程式中正確開啟。

若要移除您擁有的文件的保護,請載入該文件,並將擁有者密碼作為參數傳遞給 PdfDocument.FromFile,然後在不套用安全設定的情況下儲存。 這使得在伺服器端工作流程中能夠進行程式化的文件處理,當受密碼保護的檔案作為輸入傳入時,必須在重新分發前進行轉換。

下一步計劃是什麼?

IronPDF for .NET Core PDF API 支援透過 C# 處理完整的文件生命週期:從 HTML 字串和 URL 生成文件、轉換 DOCX 和圖像檔案、設定頁面版面配置與渲染選項、編輯浮水印、頁首和頁尾、套用數位簽章,以及透過加密保護文件。 所有操作在 Windows、macOS 和 Linux 系統上的 .NET 8、.NET 9 及 .NET 10 版本中均採用一致的 API。

立即開始免費試用,使用您自己的文件來評估 IronPDF。 如需其他應用情境,請參閱 HTML 轉 PDF 渲染選項指南PDF 壓縮與優化,以及完整的 IronPDF 功能概覽。 請檢視用於生產環境部署的授權選項

常見問題解答

什麼是 IronPDF 的 .NET Core PDF API?

IronPDF 是一個 .NET 程式庫,可在 C# 應用程式中生成、轉換和編輯 PDF 文件。它作為單一的 NuGet 套件安裝,支持 .NET 10、.NET 9、.NET 8 和 .NET Framework 4.6.2 或更高版本。

如何在 .NET Core 中從 HTML 生成 PDF?

創建一個 ChromePdfRenderer 實例,並使用 HTML 字串調用 RenderHtmlAsPdf,或使用 URL 調用 RenderUrlAsPdfAsync。渲染器將 HTML、CSS 和 JavaScript 輸出轉換為 PdfDocument 物件,您可以保存或串流它。

如何在 IronPDF 中配置頁面大小和邊距?

在調用渲染方法前,於 renderer.RenderingOptions 中設置屬性。使用 PaperSize 設定標準格式,PaperOrientation 設定橫向或縱向,MarginTop、MarginBottom、MarginLeft、MarginRight 設定以毫米為單位的邊距。

IronPDF 能否在 .NET Core 中將 DOCX 文件轉換為 PDF?

可以。使用 DocxToPdfRenderer.RenderDocxAsPdf 和文件路徑。轉換器保留來源 Word 文檔中的段落樣式、表格、頁眉、頁腳和嵌入的圖像。

如何在 C# 中為 PDF 添加數位簽名?

使用 PdfDocument.FromFile 加載 PDF,創建帶有 PFX 證書路徑和密碼的 PdfSignature,然後調用 pdf.Sign(signature)。結果文件在 Adobe Acrobat 和符合標準的 PDF 查看器中顯示為已驗證。

如何使用 IronPDF 為 PDF 設置密碼保護?

設置 pdf.SecuritySettings.UserPassword 為開啟密碼,設置 pdf.SecuritySettings.OwnerPassword 為擁有者密碼。使用 AllowUserPrinting、AllowUserCopyPasteContent 和相關標誌來控制個別權限。

如何在 ASP.NET Core 中將生成的 PDF 作為 HTTP 響應返回?

訪問 PdfDocument 實例上的 BinaryData 屬性以取得 PDF 的字節數組,然後返回 File(pdfBytes, 'application/pdf', 'filename.pdf') 作為 ASP.NET Core 控制器動作中的一部分。

IronPDF 是否支持 .NET Core 應用程序的 Linux 和 macOS?

支持。IronPDF 可在 Windows、macOS 和 Linux 上運行,無需額外的本機運行時依賴項。它支持 Docker、Azure 和 AWS 的容器化部署,無需平台特定的配置。

如何使用 IronPDF 為 PDF 添加頁眉和頁腳?

調用 document.AddHtmlHeaders,並傳入包含頁眉標記的 HtmlHeaderFooter 對象,其 HtmlFragment 使用模板變量 {page}、{total-pages} 和 {date} 作為動態值。相同的 API 也適用於頁腳。

IronPDF 是否在 ASP.NET Core 中的使用是線程安全的?

ChromePdfRenderer 是線程安全的,並且可以作為單例註冊到依賴注入容器中。對於高吞吐量的工作負載,使用非同步渲染方法(RenderHtmlAsPdfAsync, RenderUrlAsPdfAsync)以避免阻塞請求線程。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

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