USING IRONPDF Converting HTML to PDF in .NET using IronPDF Curtis Chau 更新:2026年1月22日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 IronPDF 是一款 .NET HTML 轉換 PDF 轉換器,它使用 Chrome 的渲染引擎將 HTML 字串、文件和網頁轉換為高品質的 PDF 文件,並支援精確的 CSS 渲染和 JavaScript 執行。 在 .NET 開發中,將 HTML 轉換為 PDF 是一項複雜的挑戰。 你需要一款能夠處理現代 CSS 佈局、正確執行 JavaScript 並產生高品質文件的 PDF 轉換器——同時還要易於實現。 IronPDF透過基於 Chrome 的渲染來解決這些挑戰,使您能夠以瀏覽器品質的保真度轉換 HTML 檔案、字串和網頁。 本文探討如何在 .NET 應用程式中實現專業的 PDF 生成,從基本轉換到高級功能,例如跨 Windows、Linux 和Azure 的數位簽章和 PDF 操作。 您將學習如何使用非同步操作來提高效能,以及如何使用自訂日誌記錄來進行偵錯。 IronPDF C# PDF 庫主頁橫幅展示了其主要功能,包括 HTML 轉 PDF、PDF 編輯功能、靈活的部署選項以及免費試用。 為什麼選擇 IronPDF 進行 .NET 中的 HTML 轉 PDF 轉換? Chrome渲染在PDF產生有哪些優勢? IronPDF 的 Chrome 渲染引擎可提供卓越的渲染效果。 與使用過時的WebKit快照的庫不同,IronPDF 使用了與 Google Chrome 相同的 Blink 技術。 您的 PDF 檔案與 Chrome 列印預覽中的顯示效果完全一致—沒有樣式缺失或佈局損壞。 了解Chrome 的渲染功能以及與競爭解決方案的比較。 IronPDF如何處理現代網路技術? 現代網頁應用程式使用複雜的 CSS 和 JavaScript。 IronPDF 提供對 CSS3 的原生支持,包括 flexbox、網格系統、變換和動畫。 引擎會在渲染之前處理 JavaScript,以確保動態產生的內容正確顯示。 無論是轉換檔案還是渲染頁面,IronPDF 都能捕捉到最終狀態。 該程式庫支援Bootstrap 佈局、響應式設計和WebGL 內容。 為什麼 API 設計對開發者友善? 該程式庫透過簡潔明了的 API 設計,優先考慮開發者體驗。 你只需使用熟悉的 HTML 和 CSS,IronPDF 就能處理複雜的 HTML 和 CSS。 ChromePdfRenderer 類別提供智慧預設值,並在需要時提供細粒度的控制。 與QuestPDF或Syncfusion相比,IronPDF 提供了更優越的易用性。 如何在.NET 8專案中安裝IronPDF? 透過軟體套件管理器安裝的最快方法是什麼? 安裝 IronPDF 只需幾分鐘。 在 Visual Studio 中使用套件管理器控制台: Install-Package IronPdf 套件管理器控制台顯示 IronPDF NuGet 套件的安裝過程,正在下載多個相依性。 此操作會下載軟體包及其依賴項,並自動配置專案引用。 該軟體包包含在運行時解析的平台特定二進位。對於更進階的場景,請探索Docker 部署或遠端容器。 如何使用 .NET CLI 進行安裝? 命令列安裝: dotnet add package IronPdf 這對於 VS Code、Rider 或自動化管線來說效果很好。 請查閱文件以取得特定於平台的說明,包括F# 支援。 那麼,基於圖形使用者介面的安裝方法呢? Visual Studio 的 NuGet 套件管理器提供了一個可搜尋的介面。 右鍵單擊您的項目,選擇"管理 NuGet 套件",搜尋"IronPdf",然後安裝。 了解企業部署的進階配置。 安裝IronPDF後如何配置? 新增命名空間: using IronPdf; using IronPdf.Rendering; // For rendering options using IronPdf.Editing; // For PDF editing features using IronPdf; using IronPdf.Rendering; // For rendering options using IronPdf.Editing; // For PDF editing features Imports IronPdf Imports IronPdf.Rendering ' For rendering options Imports IronPdf.Editing ' For PDF editing features $vbLabelText $csharpLabel 啟動您的生產許可證: IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Optional: Configure global settings IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf"; IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled; IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Optional: Configure global settings IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf"; IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled; IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Optional: Configure global settings IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf" IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True $vbLabelText $csharpLabel 30 天免費試用期提供全部功能供測試。 有關配置選項,請參閱許可文件。 如何使用 IronPDF 將 HTML 字串轉換為 PDF? HTML字串轉換的基本方法是什麼? 轉換 HTML 字串是最常見的用例。 首先使用RenderHtmlAsPdf進行基本轉換: using IronPdf; // Create the renderer var renderer = new ChromePdfRenderer(); // Configure options renderer.RenderingOptions.MarginTop = 50; renderer.RenderingOptions.MarginBottom = 50; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Convert HTML to PDF var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>"); // Save the PDF pdf.SaveAs("invoice.pdf"); // Get bytes for web response byte[] pdfBytes = pdf.BinaryData; using IronPdf; // Create the renderer var renderer = new ChromePdfRenderer(); // Configure options renderer.RenderingOptions.MarginTop = 50; renderer.RenderingOptions.MarginBottom = 50; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; // Convert HTML to PDF var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>"); // Save the PDF pdf.SaveAs("invoice.pdf"); // Get bytes for web response byte[] pdfBytes = pdf.BinaryData; Imports IronPdf ' Create the renderer Dim renderer As New ChromePdfRenderer() ' Configure options renderer.RenderingOptions.MarginTop = 50 renderer.RenderingOptions.MarginBottom = 50 renderer.RenderingOptions.MarginLeft = 20 renderer.RenderingOptions.MarginRight = 20 ' Convert HTML to PDF Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>") ' Save the PDF pdf.SaveAs("invoice.pdf") ' Get bytes for web response Dim pdfBytes As Byte() = pdf.BinaryData $vbLabelText $csharpLabel 這將產生一個符合無障礙存取標準的、具有正確文字選擇的 PDF 檔案。 探索自訂頁邊距和紙張尺寸選項。 輸出 PDF 檢視器顯示一張簡單的發票,編號為 12345,總金額為 99.99 美元,縮放比例為 100% 。 如何使用 CSS 設定 PDF 樣式? 直接在 HTML 中引入 CSS: var styledHtml = @" <style> @import url('___PROTECTED_URL_73___ body { font-family: 'Roboto', Arial, sans-serif; margin: 40px; line-height: 1.6; } .header { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; } .amount { font-size: 24px; font-weight: bold; color: #059669; } </style> <div class='header'> <h1>Professional Invoice</h1> <p>Invoice Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p> </div> <p class='amount'>$1,234.56</p>"; var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for fonts var pdf = renderer.RenderHtmlAsPdf(styledHtml); pdf.SaveAs("styled-invoice.pdf"); var styledHtml = @" <style> @import url('___PROTECTED_URL_73___ body { font-family: 'Roboto', Arial, sans-serif; margin: 40px; line-height: 1.6; } .header { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; } .amount { font-size: 24px; font-weight: bold; color: #059669; } </style> <div class='header'> <h1>Professional Invoice</h1> <p>Invoice Date: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p> </div> <p class='amount'>$1,234.56</p>"; var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(500); // Wait for fonts var pdf = renderer.RenderHtmlAsPdf(styledHtml); pdf.SaveAs("styled-invoice.pdf"); Imports System Imports IronPdf Dim styledHtml As String = " <style> @import url('___PROTECTED_URL_73___ body { font-family: 'Roboto', Arial, sans-serif; margin: 40px; line-height: 1.6; } .header { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; } .amount { font-size: 24px; font-weight: bold; color: #059669; } </style> <div class='header'> <h1>Professional Invoice</h1> <p>Invoice Date: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p> </div> <p class='amount'>$1,234.56</p>" Dim renderer As New ChromePdfRenderer() renderer.RenderingOptions.EnableJavaScript = True renderer.RenderingOptions.WaitFor.RenderDelay(500) ' Wait for fonts Dim pdf = renderer.RenderHtmlAsPdf(styledHtml) pdf.SaveAs("styled-invoice.pdf") $vbLabelText $csharpLabel CSS 的渲染效果與 Chrome 完全一致。 探索渲染選項和網頁字體。 如何處理圖片等外部資源? 外部資源需要基礎路徑: var htmlWithImage = @" <html> <head> <link rel='stylesheet' href='styles.css' /> </head> <body> <img src='logo.png' alt='Company Logo' /> <h1>Document Title</h1> </body> </html>"; var renderer = new ChromePdfRenderer(); // Set base path for relative URLs var pdf = renderer.RenderHtmlAsPdf(htmlWithImage, @"C:\assets\"); // Alternative: Use web resources var webHtml = "<img src='/images/logo.png' />"; var pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, new Uri("___PROTECTED_URL_74___")); pdf.SaveAs("document-with-assets.pdf"); var htmlWithImage = @" <html> <head> <link rel='stylesheet' href='styles.css' /> </head> <body> <img src='logo.png' alt='Company Logo' /> <h1>Document Title</h1> </body> </html>"; var renderer = new ChromePdfRenderer(); // Set base path for relative URLs var pdf = renderer.RenderHtmlAsPdf(htmlWithImage, @"C:\assets\"); // Alternative: Use web resources var webHtml = "<img src='/images/logo.png' />"; var pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, new Uri("___PROTECTED_URL_74___")); pdf.SaveAs("document-with-assets.pdf"); Dim htmlWithImage As String = " <html> <head> <link rel='stylesheet' href='styles.css' /> </head> <body> <img src='logo.png' alt='Company Logo' /> <h1>Document Title</h1> </body> </html>" Dim renderer As New ChromePdfRenderer() ' Set base path for relative URLs Dim pdf = renderer.RenderHtmlAsPdf(htmlWithImage, "C:\assets\") ' Alternative: Use web resources Dim webHtml As String = "<img src='/images/logo.png' />" Dim pdfFromWeb = renderer.RenderHtmlAsPdf(webHtml, New Uri("___PROTECTED_URL_74___")) pdf.SaveAs("document-with-assets.pdf") $vbLabelText $csharpLabel 了解如何管理資產和Azure Blob 儲存。 輸出 ! PDF 檢視器顯示 IronPDF for .NET 標誌(白色背景),顯示第 1 頁(共 1 頁),縮放比例為 100%。 如何將HTML檔案和URL轉換為PDF? 如何轉換本地HTML檔案? 轉換本地 HTML 檔案使用RenderHtmlFileAsPdf : // Simple conversion var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlFileAsPdf("report-template.html"); pdf.SaveAs("report-output.pdf"); // Advanced conversion var advancedRenderer = new ChromePdfRenderer(); advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4; advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment; advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = true; var advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html"); advancedPdf.MetaData.Title = "Monthly Sales Report"; advancedPdf.SaveAs("advanced-report.pdf"); // Simple conversion var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlFileAsPdf("report-template.html"); pdf.SaveAs("report-output.pdf"); // Advanced conversion var advancedRenderer = new ChromePdfRenderer(); advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4; advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment; advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = true; var advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html"); advancedPdf.MetaData.Title = "Monthly Sales Report"; advancedPdf.SaveAs("advanced-report.pdf"); ' Simple conversion Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlFileAsPdf("report-template.html") pdf.SaveAs("report-output.pdf") ' Advanced conversion Dim advancedRenderer = New ChromePdfRenderer() advancedRenderer.RenderingOptions.PaperSize = PdfPaperSize.A4 advancedRenderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Environment advancedRenderer.RenderingOptions.PrintHtmlBackgrounds = True Dim advancedPdf = advancedRenderer.RenderHtmlFileAsPdf("complex-report.html") advancedPdf.MetaData.Title = "Monthly Sales Report" advancedPdf.SaveAs("advanced-report.pdf") $vbLabelText $csharpLabel 此方法在內部處理文件讀取和連結資源的處理。 對於 ZIP 文件,請參閱"從存檔中取得 HTML" 。 如何轉換線上網頁? 使用RenderUrlAsPdf渲染網頁: // Basic URL conversion var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___"); pdf.SaveAs("website-snapshot.pdf"); // Advanced conversion with authentication var secureRenderer = new ChromePdfRenderer(); secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials { Username = "user@example.com", Password = "secure-password" }; secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500); var securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___"); securePdf.SaveAs("secure-dashboard.pdf"); // Basic URL conversion var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___"); pdf.SaveAs("website-snapshot.pdf"); // Advanced conversion with authentication var secureRenderer = new ChromePdfRenderer(); secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials { Username = "user@example.com", Password = "secure-password" }; secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500); var securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___"); securePdf.SaveAs("secure-dashboard.pdf"); ' Basic URL conversion Dim renderer As New ChromePdfRenderer() Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_75___") pdf.SaveAs("website-snapshot.pdf") ' Advanced conversion with authentication Dim secureRenderer As New ChromePdfRenderer() secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With { .Username = "user@example.com", .Password = "secure-password" } secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500) Dim securePdf = secureRenderer.RenderUrlAsPdf("___PROTECTED_URL_76___") securePdf.SaveAs("secure-dashboard.pdf") $vbLabelText $csharpLabel IronPDF 會執行 JavaScript 並等待內容載入後再產生 PDF 檔案。 了解身份驗證和Cookie 。 如何在PDF中處理響應式設計? 配置響應式網站的視窗: var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280); renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen; renderer.RenderingOptions.ViewPortWidth = 1920; var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___"); pdf.SaveAs("responsive-output.pdf"); var renderer = new ChromePdfRenderer(); renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280); renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen; renderer.RenderingOptions.ViewPortWidth = 1920; var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___"); pdf.SaveAs("responsive-output.pdf"); Dim renderer = New ChromePdfRenderer() renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280) renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen renderer.RenderingOptions.ViewPortWidth = 1920 Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_77___") pdf.SaveAs("responsive-output.pdf") $vbLabelText $csharpLabel 請參閱視口文件和響應式 CSS 指南。 IronPDF 提供哪些進階 PDF 功能? 如何新增專業的頁首和頁尾? 頁首和頁尾可以改善多頁文件: var renderer = new ChromePdfRenderer(); // Configure header renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 50, HtmlFragment = @" <div style='text-align: center; font-size: 12px;'> Annual Report 2024 - Confidential </div>", BaseUrl = new Uri(@"file:///C:/assets/") }; // Configure footer with page numbers renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 30, HtmlFragment = @" <div style='text-align: center; font-size: 10px;'> Page {page} of {total-pages} </div>", DrawDividerLine = true }; renderer.RenderingOptions.MarginTop = 60; renderer.RenderingOptions.MarginBottom = 40; var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>"); pdf.SaveAs("report-with-headers.pdf"); var renderer = new ChromePdfRenderer(); // Configure header renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 50, HtmlFragment = @" <div style='text-align: center; font-size: 12px;'> Annual Report 2024 - Confidential </div>", BaseUrl = new Uri(@"file:///C:/assets/") }; // Configure footer with page numbers renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 30, HtmlFragment = @" <div style='text-align: center; font-size: 10px;'> Page {page} of {total-pages} </div>", DrawDividerLine = true }; renderer.RenderingOptions.MarginTop = 60; renderer.RenderingOptions.MarginBottom = 40; var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>"); pdf.SaveAs("report-with-headers.pdf"); Dim renderer = New ChromePdfRenderer() ' Configure header renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With { .MaxHeight = 50, .HtmlFragment = " <div style='text-align: center; font-size: 12px;'> Annual Report 2024 - Confidential </div>", .BaseUrl = New Uri("file:///C:/assets/") } ' Configure footer with page numbers renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With { .MaxHeight = 30, .HtmlFragment = " <div style='text-align: center; font-size: 10px;'> Page {page} of {total-pages} </div>", .DrawDividerLine = True } renderer.RenderingOptions.MarginTop = 60 renderer.RenderingOptions.MarginBottom = 40 Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1>") pdf.SaveAs("report-with-headers.pdf") $vbLabelText $csharpLabel 特殊佔位符(如{page}和{total-pages}會自動替換。 請查看標題教學。 如何在PDF文件中加入浮水印? 使用浮水印保護文件: var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>"); // Apply text watermark pdf.ApplyWatermark( "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>", rotation: 45, opacity: 30 ); pdf.SaveAs("watermarked-document.pdf"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>"); // Apply text watermark pdf.ApplyWatermark( "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>", rotation: 45, opacity: 30 ); pdf.SaveAs("watermarked-document.pdf"); Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>") ' Apply text watermark pdf.ApplyWatermark( "<div style='font-size: 72px; color: red; opacity: 0.3;'>DRAFT</div>", rotation:=45, opacity:=30 ) pdf.SaveAs("watermarked-document.pdf") $vbLabelText $csharpLabel 了解水印技術和印章選項。 數位簽章需要哪些條件? 添加簽名以證明其真實性: var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>"); // Load certificate var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password"); // Create signature var signature = new PdfSignature(cert) { SigningContact = "John Smith", SigningLocation = "New York, NY", SigningReason = "Contract Approval" }; // Sign the PDF pdf.Sign(signature); pdf.SaveAsRevision("signed-contract.pdf"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>"); // Load certificate var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password"); // Create signature var signature = new PdfSignature(cert) { SigningContact = "John Smith", SigningLocation = "New York, NY", SigningReason = "Contract Approval" }; // Sign the PDF pdf.Sign(signature); pdf.SaveAsRevision("signed-contract.pdf"); Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>") ' Load certificate Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password") ' Create signature Dim signature = New PdfSignature(cert) With { .SigningContact = "John Smith", .SigningLocation = "New York, NY", .SigningReason = "Contract Approval" } ' Sign the PDF pdf.Sign(signature) pdf.SaveAsRevision("signed-contract.pdf") $vbLabelText $csharpLabel 探索基於憑證的簽章和HSM 整合。 如何實現PDF安全功能? 保護敏感資訊: var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); // Set metadata pdf.MetaData.Author = "Corporate Security"; pdf.MetaData.Title = "Confidential Report"; // Apply encryption pdf.SecuritySettings.UserPassword = "user123"; pdf.SecuritySettings.OwnerPassword = "owner456"; pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SaveAs("secure-document.pdf"); var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf(htmlContent); // Set metadata pdf.MetaData.Author = "Corporate Security"; pdf.MetaData.Title = "Confidential Report"; // Apply encryption pdf.SecuritySettings.UserPassword = "user123"; pdf.SecuritySettings.OwnerPassword = "owner456"; pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SaveAs("secure-document.pdf"); Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf(htmlContent) ' Set metadata pdf.MetaData.Author = "Corporate Security" pdf.MetaData.Title = "Confidential Report" ' Apply encryption pdf.SecuritySettings.UserPassword = "user123" pdf.SecuritySettings.OwnerPassword = "owner456" pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint pdf.SecuritySettings.AllowUserCopyPasteContent = False pdf.SaveAs("secure-document.pdf") $vbLabelText $csharpLabel 審查PDF安全文件和清理措施。 如何在生產環境中部署 IronPDF? Windows Server部署需要哪些條件? 啟動時配置 IronPDF: var builder = WebApplication.CreateBuilder(args); // Configure license IronPdf.License.LicenseKey = builder.Configuration["IronPdf:LicenseKey"]; // Configure for Windows Server IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled; IronPdf.Installation.TempFolderPath = @"D:\IronPdfTemp"; // Configure logging IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All; IronPdf.Logging.LogFilePath = @"D:\Logs\IronPdf.log"; var app = builder.Build(); var builder = WebApplication.CreateBuilder(args); // Configure license IronPdf.License.LicenseKey = builder.Configuration["IronPdf:LicenseKey"]; // Configure for Windows Server IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled; IronPdf.Installation.TempFolderPath = @"D:\IronPdfTemp"; // Configure logging IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All; IronPdf.Logging.LogFilePath = @"D:\Logs\IronPdf.log"; var app = builder.Build(); Dim builder = WebApplication.CreateBuilder(args) ' Configure license IronPdf.License.LicenseKey = builder.Configuration("IronPdf:LicenseKey") ' Configure for Windows Server IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled IronPdf.Installation.TempFolderPath = "D:\IronPdfTemp" ' Configure logging IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All IronPdf.Logging.LogFilePath = "D:\Logs\IronPdf.log" Dim app = builder.Build() $vbLabelText $csharpLabel 請參閱Windows 安裝和IIS 部署。 如何在Linux環境下部署? Linux 需要額外的依賴: FROM mcr.microsoft.com/dotnet/aspnet:8.0 RUN apt-get update && apt-get install -y \ libgdiplus \ libnss3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ && apt-get clean WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "MyApp.dll"] 請參閱Linux 部署和Docker 整合。 需要進行哪些 Azure 應用程式服務設定? 配置 Azure: { "IronPdf": { "LicenseKey": "your-license-key", "TempFolderPath": "D:\\home\\IronPdfTemp", "ChromeGpuMode": "Disabled" } } 了解Azure 部署和Azure Functions 。 IronPDF 在 .NET PDF 庫環境中的優勢體現在哪裡? 為什麼基於 Chrome 的渲染是一項重大進步? Chrome 引擎具有根本性的優勢。 其他網站使用較舊的引擎,而 IronPDF 則使用 Chrome 瀏覽器所採用的技術。 當 Chrome 新增 CSS 屬性或 JavaScript API 時,IronPDF 自然而然地也獲得了這些功能。 這提供了比傳統解決方案更優越的像素級完美渲染效果。 跨平台支援究竟是如何運作的? IronPDF 使用平台改進型二進位文件,在 Windows、Linux 和 macOS 上提供一致的渲染效果。 無論是在 Windows 上開發還是部署到 Linux 容器,輸出結果都相同。 了解平台注意事項和引擎選項。 IronPDF有哪些獨特的進階功能? 除了基本轉換功能外,IronPDF 還支援: 頁首和頁尾 可填寫表格 浮水印和背景 數位簽章和加密 *合併和分割操作 JavaScript 執行 PDF/A 合規性 *壓縮 接下來該如何開始? IronPDF 將 HTML 到 PDF 的轉換簡化為簡單易用的實作方式。 其 Chrome 引擎確保了準確性,而 API 設計則使整合變得簡單。 從基本轉換到進階功能,IronPDF 可以滿足各種 PDF 需求。 入門需要三個步驟:安裝NuGet 套件、編寫您的第一段程式碼,然後充滿信心地部署。 免費試用期為 30 天,提供完整的功能供評估。 IronPDF 許可頁面顯示了四個永久許可等級(Lite、Plus、Professional 和 Unlimited),並針對不同團隊規模提供了定價和功能。 瀏覽程式碼範例、教學課程和API 文件。 IronPDF 的靈活授權模式可滿足從個人開發者到企業團隊的各種需求。 請查看更新日誌以取得最新資訊。 常見問題解答 IronPdf 用來做什麼? IronPDF 用於在 .NET 應用程式中將 HTML 轉換為 PDF。它可以處理現代的 CSS、JavaScript,並製作高品質的 PDF 文件。 IronPdf 如何處理複雜的 HTML 佈局? IronPDF 使用基於 Chrome 的渲染引擎準確處理複雜的 HTML 佈局,確保 PDF 輸出與您在瀏覽器中看到的內容相符。 IronPDF 能否在 PDF 轉換過程中執行 JavaScript? 是的,IronPDF 可以執行 JavaScript,這對於在 PDF 輸出中準確地呈現動態內容至關重要。 IronPDF 是否容易在 .NET 應用程式中實作? IronPdf 的設計簡單易用,讓使用 .NET 的開發人員也能使用。 IronPDF 可以將哪些類型的 HTML 來源轉換為 PDF? IronPDF 可以將 HTML 檔案、HTML 字串以及整個網頁轉換為 PDF 格式。 IronPDF 是否能在 PDF 中保持原始 HTML 的品質? 是的,IronPDF 生成的高质量 PDF 文档与原始 HTML 内容具有相同的保真度。 IronPDF 與其他 PDF 轉換器有何不同? IronPdf 利用其基於 Chrome 的渲染引擎提供無縫的轉換體驗,確保與現代網路標準相容。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 相關文章 更新2026年1月22日 How to Create PDF Documents in .NET with IronPDF: Complete Guide Discover effective methods to create PDF files in C# for developers. Enhance your coding skills and streamline your projects. Read the article now! 閱讀更多 更新2026年1月21日 How to Merge PDF Files in VB.NET: Complete Tutorial Merge PDF VB NET with IronPDF. Learn to combine multiple PDF files into one document using simple VB.NET code. Step-by-step examples included. 閱讀更多 更新2026年1月21日 C# PDFWriter Tutorial: Create PDF Documents in .NET Learn to create PDFs efficiently using C# PDFWriter with this step-by-step guide for developers. Read the article to enhance your skills today! 閱讀更多 How to Make a Xamarin PDF Generator with IronPDFMerge PDF Byte Arrays in C# Using I...
更新2026年1月22日 How to Create PDF Documents in .NET with IronPDF: Complete Guide Discover effective methods to create PDF files in C# for developers. Enhance your coding skills and streamline your projects. Read the article now! 閱讀更多
更新2026年1月21日 How to Merge PDF Files in VB.NET: Complete Tutorial Merge PDF VB NET with IronPDF. Learn to combine multiple PDF files into one document using simple VB.NET code. Step-by-step examples included. 閱讀更多
更新2026年1月21日 C# PDFWriter Tutorial: Create PDF Documents in .NET Learn to create PDFs efficiently using C# PDFWriter with this step-by-step guide for developers. Read the article to enhance your skills today! 閱讀更多