跳過到頁腳內容
使用IRONPDF

如何選擇.NET中正確的PDF SDK

許多尋找 PDF SDK 的.NET開發人員都會遇到同樣的問題:庫需要大量的設置,許可層級不透明,而且 API 顯然是圍繞 PDF 規範而不是開發人員的人體工學設計的。 IronPDF是一個.NET PDF 程式庫,旨在消除這種摩擦。 它透過一個可在.NET Framework、 .NET Core和.NET 10 上執行的NuGet套件提供 PDF 建立、編輯、表單處理和文件安全功能。

立即開始免費試用,加入 NASA、特斯拉和 3M 等公司團隊的行列,他們都依賴IronPDF來管理文件工作流程。

選擇.NET PDF SDK 時需要考慮哪些標準?

選擇用於生產環境的 PDF 庫需要權衡各種利弊,而簡單的NuGet安裝測試無法揭示這些弊端。 有四個標準能夠始終區分合格的庫和可用於生產的庫。

渲染精度和HTML引擎質量

最重要的選擇是該庫使用真正的瀏覽器引擎(Chromium 或 WebKit)還是自訂的 HTML 到 PDF 渲染器。 自訂渲染器支援 CSS2 子集——基本排版和浮動有效,但 flexbox、CSS Grid 和 JavaScript 渲染的內容失敗。 基於 Chromium 的引擎能夠像 Chrome 一樣精確地渲染 HTML,因此現有的Razor視圖、報表範本和客戶端JavaScript無需手動調整佈局即可產生準確的輸出。 為了測試渲染準確性,渲染一個使用 CSS Grid 和 JavaScript 產生的內容的文件; CSS 支援有限的函式庫會錯位元素或回退到無樣式輸出。

跨平台和 Linux 容器支持

.NET PDF SDK 必須在 Linux 上執行,而無需 Microsoft Office 或 COM 自動化。 將 HTML 渲染委託給 Word 互通的函式庫無法在 Linux Docker 容器中運作。 基於 Chromium 的函式庫將渲染引擎作為原生二進位提供,在 Debian 或 Ubuntu 主機上只需要標準系統軟體包(fontconfig)。 .NET文件中關於跨平台部署的內容涵蓋了以 Linux 或 Alpine Docker 映像檔相關的執行時間識別碼約定。

ASP.NET Core中的執行緒安全性和並發性

許多 PDF 庫僅在腳註中記錄線程安全性。 對於透過 HTTP 請求產生 PDF 的ASP.NET Core應用程式來說,這一點至關重要。 IronPDF 的 ChromePdfRenderer 不是線程安全的-每個並發任務都必須擁有自己的實例。 使用 Parallel.ForEach,每次迭代使用一個渲染器並設定並發限制,可以避免爭用,並且符合非同步和多執行緒操作指南中的指導。 對於批次作業,每個工作執行緒一個渲染器,其數量與 CPU 核心數呈線性關係。

許可模式調整

許可結構會對規模化的總擁有成本產生影響。 按開發者數量計費的許可證(IronPDF、Syncfusion)根據建置和部署應用程式的開發者數量收費。 AGPL 許可證(iText 核心)要求分發應用程式原始碼,除非購買商業許可證。 麻省理工學院 授權(QuestPDF、PDFsharp)不會施加任何散佈限制,但不提供商業支援。 對於需要長期存檔的受監管環境,符合ISO 19005 PDF/A 標準與授權模式是不同的要求-需要單獨驗證。

用例決策指南

如果主要需求是將現有的 HTML 範本或Razor視圖轉換為 PDF,那麼基於 Chromium 的庫是正確的選擇。為 Web 完成的佈局工作可以直接轉換為 PDF,無需單獨的設計流程。

如果要求是根據資料產生結構化文件而無需任何 HTML 模板,QuestPDF(麻省理工學院 許可)對於小批量內部工具來說是一個合理的選擇。 它不支援 HTML 輸入,也不能讀取或編輯現有的 PDF 文件,但它消除了對 Chromium 運行時的依賴。

如果要求是操作現有的 PDF 文件——合併、分割、編輯或簽署其他系統產生的文件——大多數商業.NET PDF 庫都能很好地處理這種情況。 差別在於授權成本和 API 的易用性,而不是渲染能力。

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

透過NuGet套件管理器將IronPDF新增至專案只需不到一分鐘。 在 Visual Studio 中開啟程式包管理器控制台並執行:

PM> Install-Package IronPdf
PM> Install-Package IronPdf
SHELL

或者,透過NuGet GUI 搜尋 IronPdf 來新增該套件。 該軟體包面向.NET Standard 2.0,因此可與.NET Framework 4.6.2 及更高版本、 .NET Core 2.0 及更高版本以及.NET 10 及之前的每個現代.NET版本配合使用。

安裝完成後,請在渲染前套用許可證密鑰。 如需評估,請在應用程式啟動時呼叫 IronPdf.License.LicenseKey = "IRONPDF-TRIAL-KEY";,或使用IronPDF網站提供的免費試用授權。開發期間在本機運行庫無需許可證密鑰。

IronPDF提供了一個預先建置的 Chromium 引擎,作為原生二進位提供。 引擎首次在新機器上初始化時,會將運行時提取到臨時資料夾,這需要幾秒鐘。 後續調用速度很快。在 Linux 和 Docker 上,請確保已安裝 libgdiplus 和字型套件-Linux 部署指南涵蓋了特定發行版的要求。

如何在 C# 中從 HTML 建立 PDF?

HTML 轉 PDF 是.NET PDF SDK 工作流程中最常見的起點。 IronPDF使用基於 Chromium 的渲染引擎將 HTML 字串、本機檔案或即時 URL 轉換為像素精確的 PDF,保留 CSS3 佈局、Google 字體和 JavaScript 渲染的內容。

using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

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

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

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

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
$vbLabelText   $csharpLabel

渲染選項和頁面佈局

ChromePdfRenderer 類別公開了一個RenderingOptions屬性,該屬性控制 PDF 佈局的各個方面。 將 PaperSize 設定為任何標準 ISO 或 ANSI 尺寸,或使用 CustomPaperWidthCustomPaperHeight 定義以毫米為單位的自訂尺寸。 邊距值以毫米為單位指定,且 PrintHtmlBackgrounds 確保背景顏色和影像正確渲染。

對於 URL 到 PDF 的轉換,請將目標位址傳遞給 RenderUrlAsPdf。 此渲染器可以處理 cookie、HTTP 標頭和自訂使用者代理,因此適用於經過驗證的頁面和單頁應用程式。 HTML 轉 PDF 指南詳細介紹了身份驗證、 JavaScript等待條件和延遲載入內容。

 IronPDF使用 C# 將 HTML 發票渲染成 PDF,並保持 CSS3 佈局的準確性 IronPDF ChromePdfRenderer 輸出:HTML 範本渲染為 A4 PDF,並保留了 CSS3 樣式。

從檔案路徑和 URL 進行渲染

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
$vbLabelText   $csharpLabel

RenderUrlAsPdfAsync 方法返回 Task<PdfDocument>,因此它可以直接與ASP.NET Core控制器和後台服務中的 await 模式整合。 非同步渲染指南解釋了高吞吐量場景下的執行緒安全性和連接池配置。

如何轉換影像並擷取PDF內容?

許多.NET應用程式需要將圖像檔案轉換為 PDF,或從現有文件中提取圖像和文字。 IronPDF可以處理雙向傳輸,無需中間文件格式或外部工具。

using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
$vbLabelText   $csharpLabel

使用 ImageToPdfConverter 和文字擷取

ImageToPdfConverter類別預設保留原始影像尺寸,但您可以透過指定 IronPdf.Imaging.ImageBehavior.CenterImageFitToPage 將影像縮放到目標紙張尺寸。 支援 JPEG、PNG、GIF、TIFF、BMP 和 WebP 格式。

透過 ExtractAllText() 進行文本提取,可以從原生 PDF 和基於圖像(掃描)的文件中返回機器可讀的文本,前提是 PDF 包含嵌入式文字層。 對於沒有文字層的掃描 PDF,將IronPDF與IronOCR結合使用,只需一次NuGet安裝即可新增光學字元辨識功能。 ExtractAllImages() 方法傳回一個 AnyBitmap 物件集合,這些物件可以保存、調整大小或直接傳遞給其他影像處理庫。

IronPDF ImageToPdfConverter 將 PNG 和 JPEG 檔案轉換為多頁 PDF 檔案。 ImageToPdfConverter 的輸出結果:三個來源影像檔案合併成一個多頁 PDF 文件。

如何使用密碼和數位簽章保護PDF文件?

企業級 PDF 工作流程通常需要加密文件、數位簽章或兩者兼備。 IronPDF透過 SecuritySettings 屬性和 PdfSignature 類別公開這些功能。

using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.不Edit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.不Edit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
$vbLabelText   $csharpLabel

安全設定和權限控制

SecuritySettings 屬性直接對應到PDF 1.7 規格中定義的 PDF 權限。 單獨設定 OwnerPassword 會限制 PDF 閱讀器等級的編輯與列印; 新增 UserPassword 需要密碼才能開啟檔案。

數位簽章使用 X.509 證書,格式為 .pfx,與 Windows 證書儲存和大多數證書頒發機構使用的格式相同。 簽名包含聯絡資訊、地點和原因字段,這些字段可在 Adob​​e Acrobat 的簽名面板中查看,滿足許多電子簽名合規性要求。 對於可能包含腳本或嵌入式元資料的 PDF 文檔,存在安全隱患,清理方法會在分發前移除JavaScript、嵌入式文件和隱藏的元資料。

 IronPDF數位簽名已應用於 PDF 合同,並在 Adob​​e Acrobat 中顯示已驗證的簽名 IronPDF PdfSignature 結果:已將 X.509 憑證應用於合同,簽名面板在 Adob​​e Acrobat 中可見。

如何填寫和讀取PDF表單欄位?

在保險、醫療保健和法律文件工作流程中,經常需要處理 AcroForm 和 XFA 表單。 IronPDF可以從現有表單中讀取欄位名稱,並以程式設計方式寫入值,而無需 Acrobat 或任何 PDF 檢視器。

using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
$vbLabelText   $csharpLabel

使用 AcroForms 進行程式化表單處理

IronPDF 的表單 API 使用欄位名稱作為標識符,因此程式碼可以直接對應到 Acrobat 中可見的欄位結構。 Flatten() 方法將互動式欄位轉換為靜態內容,產生適合存檔或傳輸的唯讀 PDF。 有關表單類型、單選按鈕群組和下拉清單的完整詳細信息,請參閱PDF 表單指南

若要從頭開始產生新表單,請使用帶有 <select><textarea> 元素的 HTML。 Chromium 渲染器會自動將標準 HTML 表單元素轉換為 AcroForm 字段,這表示 Web 應用程式中使用的現有 HTML 表單無需任何結構變更即可產生可填寫的 PDF。 建立 PDF 表單的操作指南詳細介紹了完整的流程,包括單選按鈕、日期選擇器和多選欄位。

IronPDF與其他.NET PDF 程式庫相比如何?

開發人員在評估適用於.NET 的PDF SDK 時,通常會考慮渲染品質、API 可存取性、部署複雜性和授權條款。 下表根據這些標準,將IronPDF相對於常見的.NET替代方案進行了排名。

依關鍵開發人員標準比較.NET PDF 函式庫
圖書館 HTML 轉 PDF .NET 10 支持 表單處理 數位簽名 許可模式
IronPDF 基於 Chium 內核(完整 CSS3/JS) 是的 AcroForm + XFA 是的(.pfx) 按開發者計費,免版稅
QuestPDF 否(程式碼優先佈局引擎) 是的 麻省理工學院(社區),商業
iText 核心 僅透過插件 是的 AcroForm 是的 AGPL 或商業
Syncfusion PDF 部分(CSS2 子集) 是的 AcroForm 是的 按開發者人數或收入計費
PDFsharp 是的(v6+) 有限的 麻省理工學院

IronPDF 的許可頁面涵蓋了 SaaS 部署、OEM 再分發以及Iron Suite套裝,該套裝包含IronPDF以及IronOCRIronBarcodeIronXL,與單獨購買每個產品相比,折扣力度相當大。

IronPDF的主要優勢在於 HTML 渲染品質。 圍繞底層 PDF 繪圖 API 建立的程式庫需要開發人員手動複製 CSS 佈局邏輯。 當現有的 HTML 範本或Razor視圖已經定義了文件結構時,直接將其轉換為 PDF 比使用程式碼優先的繪圖 API 重建佈局更快、更易於維護。

.NET PDF SDK 應具備哪些關鍵功能?

為生產應用程式選擇 PDF 庫不僅僅是確認它能夠創建 PDF 文件那麼簡單。 文件密集型應用程式需要特定的功能,而這些功能只有在最初的概念驗證工作開始擴展到真實的資料量和部署環境時才會顯現出來。

跨平台部署

生產級的.NET PDF SDK 必須在 Windows Server、Linux 容器和 macOS 開發機器上執行,而無需特定於平台的程式碼路徑。 IronPDF開箱即用,支援這三種功能; 同一個NuGet套件可以部署到Azure 應用程式服務AWS Lambda和 Docker,應用程式程式碼中無需進行任何平台切換。

PDF/A 和 PDF/UA 標準符合性

政府、金融和醫療保健等受監管行業通常要求長期存檔必須符合 PDF/A 標準ISO 19005 PDF/A 標準定義了 PDF/A-1b 和 PDF/A-3b,它們限制了嵌入式JavaScript和非嵌入式字體,從而確保文件在沒有原始應用程式的情況下仍然可讀。 IronPDF將現有的 PDF 文件轉換為 PDF/A 格式,並驗證其合規性,傳回一個標誌,指示輸出是否符合標準。 對於必須符合 WCAG 或第 508 條要求的文檔,也提供 PDF/UA(無障礙)合規性。

批次和記憶體管理

按計畫產生數千個 PDF 檔案或處理上傳佇列需要可預測的記憶體行為。 IronPDF 的混合柵格內容 (MRC) 壓縮可減少包含文字和高解析度影像的文件的檔案大小。 對於大批量作業,多執行緒指南示範如何使用 Parallel.ForEachChromePdfRenderer 實例 - 渲染器不是執行緒安全的,因此每個任務都應該擁有自己的實例。

DOCX 和 Excel 轉 PDF

除了 HTML 之外, IronPDF還可以將 Word 文件 (.docx) 和電子表格直接轉換為 PDF,從而消除了對 Microsoft Office 互通或 COM 自動化文件匯出工作流程的依賴。 將IronPDF與IronXL結合使用,無需在伺服器上安裝任何 Office,即可實現完整的電子表格到 PDF 轉換流程。

下一步計劃是什麼?

IronPDF將複雜的 PDF 工作流程轉換為可維護的 C# 程式碼。 從 HTML 到 PDF(具有完整的 CSS3 保真度),再到數位簽章、表單處理和 PDF/A 歸檔,該程式庫在一個NuGet包中涵蓋了文件的整個生命週期。

首先造訪IronPDF文件中心,瀏覽教學課程、操作指南和API 參考範例庫提供了最常見的 PDF 任務的可運行程式碼,包括合併 PDF新增浮水印新增頁首和頁尾以及編輯敏感內容

購買許可證即可進行生產部署,或開始免費試用,無需任何承諾即可評估所有功能。

立即開始在您的項目中使用 IronPDF 並免費試用。

第一步:
green arrow pointer

常見問題解答

哪一個是.NET開發人員的最佳PDF SDK?

IronPDF是.NET開發人員需要支持完整CSS3和JavaScript的HTML到PDF轉換的強力選擇。它作為單個NuGet套件(IronPdf)安裝,支持.NET 10和.NET Framework 4.6.2+,在Windows、Linux、macOS、Azure、AWS和Docker上運行,而不需要配置更改。對於不使用HTML的代碼優先佈局生成,QuestPDF是一個免費的MIT許可替代方案,儘管它不支持閱讀或編輯現有PDF。

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

在Visual Studio套件管理員主控台中運行 'Install-Package IronPdf',或在NuGet GUI中搜尋 'IronPdf'。這個套件針對.NET Standard 2.0進行設計,因此可用於.NET Framework 4.6.2+、.NET Core 2.0+,以及.NET 5至.NET 10。

IronPDF能將HTML轉換為具有CSS3和JavaScript支持的PDF嗎?

可以。IronPDF使用基於Chromium的引擎來渲染具有完整CSS3版面支持、Google字體、flexbox、網格和JavaScript的HTML。將HTML字串傳遞給ChromePdfRenderer.RenderHtmlAsPdf,或將URL傳遞給RenderUrlAsPdf或RenderUrlAsPdfAsync。

IronPDF是否支援數位簽章?

是的。使用帶有.pfx證書文件的PdfSignature類。設置SigningContact、SigningLocation和SigningReason,然後調用PdfDocument.Sign(signature)。生成的簽章在Adobe Acrobat的簽章面板中可見,滿足許多電子簽章合規要求。

如何使用IronPDF在C#中填寫PDF表單欄位?

使用PdfDocument.FromFile載入PDF文件,然後使用form.Form.FindFormField("fieldName").Value設置值。在保存之前調用form.Form.Flatten()將互動欄位轉換為靜態內容。IronPDF支持AcroForm文字欄位、複選框、單選按鈕和下拉選單。

IronPDF提供哪些PDF安全功能?

IronPDF的SecuritySettings屬性支持AES-256加密,分別具有擁有者與使用者密碼。您可以獨立限制列印、編輯和複製貼上。Sanitize方法在文件分發前移除JavaScript、嵌入文件和元數據。

IronPDF是否支援PDF/A以符合存檔要求?

是的。IronPDF可以將現有PDF轉換為PDF/A-1b或PDF/A-3b格式並檢驗合規性。在ironpdf.com/how-to/pdf-a-compliance/上使用如何引導獲得轉換API和合規標誌。

IronPDF與iText對比如何?

IronPDF和iText Core都支持AcroForm處理和數位簽章。主要差異是授權和HTML渲染。iText Core是AGPL許可(需要商業許可以用於專有應用程式),並使用附加組件進行HTML轉換。IronPDF則是商業授權,以每開發者定價,並使用內建的Chromium引擎進行具有完整CSS3支持的HTML到PDF轉換。

IronPDF可以在Linux和Docker上運行嗎?

可以。同一個NuGet套件可以運行在Ubuntu、Debian、CentOS和基於Alpine的Docker映像上。在Linux上,安裝libgdiplus和字體套件(如fontconfig, libfreetype6)。在ironpdf.com/get-started/linux/的Linux部署指南上列出具體發行版的套件要求。

如何使用IronPDF將圖像轉換為PDF?

使用ImageToPdfConverter.ImageToPdf(imageFileList)將JPEG、PNG、TIFF、BMP、GIF或WebP文件合併為單一多頁PDF。指定IronPdf.Imaging.ImageBehavior.FitToPage或CenterImage來控制縮放行為。

Curtis Chau
技術作家

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me