PDFBolt與IronPDF:技術比較指南
當.NET開發者需要創建PDF文件時,他們面臨一個重要的決策:使用像PDFBolt這樣的雲端服務,或者選擇像IronPDF這樣的自架式程式庫。 這項分析從重要的技術方面考量兩種選項,幫助開發者、架構師和決策者選擇適合他們PDF生成需求的工具。
什麼是PDFBolt?
PDFBolt是一種基於雲端的REST API服務,用於通過外部伺服器生成PDF。 開發者通過HTTP POST請求將HTML內容或URL發送到PDFBolt的API端點,這些端點使用無頭的Chromium瀏覽器處理內容並返回生成的PDF。
雲端架構提供快速整合—開發者獲取API金鑰並使用任何語言的標準HTTP客戶端發送HTTP請求(例如,C#的fetch)。 PDFBolt管理渲染基礎設施,無需本地PDF生成資源。
然而,此便利性伴隨著權衡。 每個文件都會經過PDFBolt位於歐洲(德國)的伺服器。 免費層每月限制為100個文件,同時提供適用於更高用量的付費訂閱計劃。 此外,所有PDF生成操作都必須有網絡連接。
什麼是IronPDF?
IronPDF是一個自架式的.NET程式庫,可以在您自己的伺服器上本地生成PDF。 ChromePdfRenderer類使用內嵌Chromium引擎將HTML、CSS和JavaScript轉換為高質量PDF文件,不涉及任何外部網絡調用。
本程式庫在您的應用架構內處理所有文件。 沒有數據出離您的伺服器,文件生成沒有使用限制。 一旦授權後,您可以無限制生成PDF,沒有單文件成本。
IronPDF提供同步和非同步方法,以及除基本生成之外的豐富功能,包括PDF合併、水印、文本提取和安全設置,這些是雲端API通常無法提供的。
架構比較
PDFBolt和IronPDF的主要區別在於文件處理的位置。 這種區別會影響從數據隱私到操作可靠性等各方面。
| 功能 | PDFBolt | IronPDF |
|---|---|---|
| 托管 | 僅雲端(歐洲伺服器) | 自托管 |
| 資料地點 | 外部伺服器(德國) | 僅您的伺服器 |
| 隱私 | 文件在外部處理 | 完全的數據隱私—本地處理,無第三方轉移 |
| 使用限制 | 基於配額的(每月100-50,000依計劃) | 無限制 |
| 需要互聯網 | 是,永遠 | 無 |
| 延遲 | 包括網絡往返 | 本地處理 |
| 離線操作 | 不可能 | 完全支持 |
| C#整合 | 通過HttpClient的REST API | 直接程式庫整合 |
| 成本模式 | 具有文件配額的月度訂閱 | 一次性購買或訂閱 |
對於處理敏感文件(合約、醫療記錄、財務數據)的應用來說,數據出離您的基礎設施非常重要。 IronPDF在本地處理所有內容,因此不會外部傳輸文件內容。 這簡化了對GDPR、HIPAA和SOC2的合規,因為沒有第三方數據處理者參與,也沒有數據轉移需要審計。
基本HTML至PDF轉換
兩種工具都支持HTML到PDF的轉換,雖然基本方法不同—PDFBolt通過REST API調用,IronPDF通過C#程序庫。
PDFBolt HTML到PDF的方法:
// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = "<html><body><h1>Hello World</h1></body></html>";
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = "<html><body><h1>Hello World</h1></body></html>";
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}Imports System
Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Text
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
Dim base64Html As String = Convert.ToBase64String(Encoding.UTF8.GetBytes(html))
Dim response = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.html = base64Html})
Dim pdfBytes = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("output.pdf", pdfBytes)
End Function
End ModuleIronPDF HTML-to-PDF方法:
// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}Imports IronPdf
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End ClassPDFBolt的直接API端點返回HTTP響應體中的原始PDF二進制數據,可以用File.WriteAllBytes()保存。 IronPDF的Stream用於替代輸出處理。
HTML到PDF的轉換過程在IronPDF中完全在本地執行,沒有網絡回程增加每次轉換的延遲。
URL到PDF的轉換
將網頁轉換為PDF遵循類似的模式,但在方法命名和處理上有顯著差異。
PDFBolt URL到PDF的方法:
// REST API: requires an API key from pdfbolt.com
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { url = "https://www.example.com" });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { url = "https://www.example.com" });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim response = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.url = "https://www.example.com"})
Dim pdfBytes = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("webpage.pdf", pdfBytes)
End Function
End ModuleIronPDF URL到PDF的方法:
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}Imports IronPdf
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End ClassIronPDF提供了一個專用的RenderUrlAsPdf方法,明確表示正在執行的操作。 生成的PdfDocument對象提供相同的豐富接口,用於保存、訪問二進制數據或進一步操作。
自定義頁面尺寸和邊距
專業文件通常需要具體的頁面尺寸和邊距配置。 兩種工具均支持這些自定義,但配置模式不同。
PDFBolt頁面配置:
// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = File.ReadAllText("input.html");
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new
{
html = base64Html,
format = "A4",
margin = new { top = "20mm", bottom = "20mm" }
});
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = File.ReadAllText("input.html");
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new
{
html = base64Html,
format = "A4",
margin = new { top = "20mm", bottom = "20mm" }
});
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}Imports System
Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Text
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim html As String = File.ReadAllText("input.html")
Dim base64Html As String = Convert.ToBase64String(Encoding.UTF8.GetBytes(html))
Dim response As HttpResponseMessage = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {
.html = base64Html,
.format = "A4",
.margin = New With {.top = "20mm", .bottom = "20mm"}
})
Dim pdfBytes As Byte() = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("output.pdf", pdfBytes)
End Function
End ModuleIronPDF頁面配置:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
Dim html = File.ReadAllText("input.html")
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End ClassPDFBolt接受API請求體中的JSON參數作為配置(margin)。 IronPDF通過RenderingOptions屬性集中所有配置,使設置可通過IDE的自動完成功能輕鬆查找。
PDFBolt支持多種單位的邊距(px, in, cm, mm),而IronPDF以毫米表達邊距。 兩者均支持標準紙張尺寸—PDFBolt通過PdfPaperSize枚舉。
API映射參考
考慮從PDFBolt轉向IronPDF的團隊,理解API映射有助於估計工作量。 注意,PDFBolt使用REST API參數(JSON字段),而IronPDF使用C#類和方法。
核心運營映射
| PDFBolt(REST API) | IronPDF(C# 程式庫) |
|---|---|
{"html": "<base64>"} | renderer.RenderHtmlAsPdf(html) |
{"url": "... | renderer.RenderUrlAsPdf(url) |
| 響應體(原始PDF字節) | pdf.SaveAs(path) |
"isEncoded": true(Base64響應) | pdf.BinaryData |
配置參數映射
| PDFBolt(JSON參數) | IronPDF(C#屬性) |
|---|---|
"format": "A4" | renderer.RenderingOptions.PaperSize = PdfPaperSize.A4 |
"margin": {"top": "20mm"} | renderer.RenderingOptions.MarginTop = 20 |
"margin": {"bottom": "20mm"} | renderer.RenderingOptions.MarginBottom = 20 |
"margin": {"left": "15mm"} | renderer.RenderingOptions.MarginLeft = 15 |
"margin": {"right": "15mm"} | renderer.RenderingOptions.MarginRight = 15 |
頁眉/頁尾動態內容映射
兩種工具均支持基於HTML的頁眉和頁尾帶有動態內容,但使用不同的語法:
| PDFBolt(HTML中的CSS类) | IronPDF(佔位符) | 目的 |
|---|---|---|
<span class="pageNumber"></span> | {page} | 當前頁碼 |
<span class="totalPages"></span> | {total-pages} | 總頁數 |
<span class="date"></span> | {date} | 當前日期 |
<span class="title"></span> | {html-title} | 文件標題 |
<span class="url"></span> | {url} | 頁面URL |
PDFBolt和IronPDF都支持基於HTML的頁眉和頁尾,帶有CSS樣式。 PDFBolt的footerTemplate參數接受Base64編碼的HTML,IronPDF在其渲染選項中直接使用HTML字符串。
功能可用性比較
超出基本的HTML到PDF轉換,這些工具在可用功能上有顯著差異。
| 功能 | PDFBolt | IronPDF |
|---|---|---|
| HTML到PDF | ✓ | ✓ |
| URL到PDF | ✓ | ✓ |
| 頁首/頁腳 | ✓(HTML) | ✓(HTML) |
| 頁面數字 | ✓ | ✓ |
| 自定義頁面尺寸 | ✓ | ✓ |
| 邊距 | ✓ | ✓ |
| PDF合併 | ✗ | ✓ |
| PDF分割 | ✗ | ✓ |
| 水印 | ✗ | ✓ |
| 密碼保護 | ✗ | ✓ |
| 文本提取 | ✗ | ✓ |
| PDF到影像 | ✗ | ✓ |
| 表單填寫 | ✗ | ✓ |
| 數位簽名 | ✗ | ✓ |
| 離線操作 | ✗ | ✓ |
| 無限制處理 | 基於配額的(每月最多50,000) | 無限制 |
IronPDF提供廣泛的PDF操作功能,包括合併、分割、加水印,和安全配置,這些通常由於API請求的無狀態性而無法通過雲端API提供。
數據隱私和合規
架構上的差異創造了截然不同的數據處理特徵:
PDFBolt數據流:
- 您的應用將HTML/URL發送到PDFBolt的歐洲伺服器(德國)
- PDFBolt使用其雲端基礎設施處理文件
- 生成的PDF通過網絡返回
- 文件內容傳輸到外部伺服器並在其上處理
IronPDF數據流:
- 您的應用在本地處理HTML/URL
- Chromium引擎在進程中渲染PDF
- PDF數據從不離開您的伺服器
- 沒有第三方數據處理者參與—不需要DPA談判
使用IronPDF,含有個人識別信息、受保護的健康信息或機密商業數據的文件絕不會離開您的基礎設施。 本程式庫還包括支持合規工作流的內置安全功能:密碼保護和加密(最高256位AES)、數位簽名使用PFX/P12證書和HSM支持、文本修訂用於永久PII移除,以及PDF/A合規用於長期歸檔需求。 對於氣隙環境,IronPDF可在零網絡連接下運行。
當團隊考慮從PDFBolt轉向IronPDF
有若干因素推動團隊評估IronPDF作為PDFBolt的替代方案:
數據隱私要求:受GDPR、HIPAA或內部數據治理政策約束的組織可能要求文件永不離開基礎設施。 IronPDF的本地處理模型在設計上滿足這一點—沒有數據以外部傳輸,內置加密和編輯功能直接支持合規工作流。
使用量增長:PDFBolt的免費層每月限制在100個文件(超出部分將被封鎖,不會計費)。 付費計劃範圍從19美元/月(2,000個文件)到249美元/月(50,000個文件),帶有付費層級的選擇性超額使用。 IronPDF沒有文件配額或計量—一旦授權,用量無限制。
網絡可靠性考量:雲端API需要每次操作的網絡連接。 部署在連接間歇性的環境中的應用,或者需要高可用性的應用,將從本地處理中受益,即使網絡狀態不變時繼續運行。
延遲敏感性:每次PDFBolt轉換包括網絡腳回時間,以及渲染時間。IronPDF在本地處理文件,完全避免了網絡開銷。
功能需求:當應用需要PDF合併、加水印、文本提取或安全設置時,雲端API通常無法提供這些功能。 IronPDF的全面功能集滿足這些部門無需額外服務。
API金鑰管理:雲端API金鑰需要安全存儲和旋轉做法,因為它們授予可計費服務的訪問權限。IronPDF的授權金鑰模型在本地認證,沒有按使用計費影響。
安裝比較
PDFBolt設置: PDFBolt不需安裝套件—它是REST API。 開發者在pdfbolt.com上註冊,獲取API金鑰,使用其語言的標準HTTP客戶端來發送HTTP請求:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")IronPDF 安裝:
Install-Package IronPdfInstall-Package IronPdfIronPDF 在應用程式啟動時需要授權金鑰配置:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"PDFBolt是一種語言獨立的REST API,可從任何平台訪問(C#、Node.js、Python、Java、Go、PHP、Rust等更多)。 IronPDF是一個.NET程式庫,支持.NET Framework和現代.NET版本,與針對.NET 10和C# 14的應用程序兼容。
同步與非同步考量
PDFBolt的雲架構使用異步HTTP模式進行網絡操作。 PDFBolt提供三種類型的端點:直接(同步二進制響應)、同步(帶有下載URL的同步JSON)、異步(基於webhook):
// PDFBolt REST API pattern - async HTTP call
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();// PDFBolt REST API pattern - async HTTP call
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();Imports System.Net.Http
Imports System.Net.Http.Headers
Imports System.Threading.Tasks
' PDFBolt REST API pattern - async HTTP call
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim response As HttpResponseMessage = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.html = base64Html})
Dim pdfBytes As Byte() = Await response.Content.ReadAsByteArrayAsync()IronPDF預設提供同步方法,因為本地處理不需要異步:
//IronPDFlocal pattern - sync by default
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");//IronPDFlocal pattern - sync by default
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");'IronPDFlocal pattern - sync by default
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")對於受益於非同步模式的應用程序,IronPDF也提供非同步方法變體:
//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);性能特徵
本地與雲端處理創造不同的性能配置:
| 指標 | PDFBolt | IronPDF |
|---|---|---|
| 處理 | 雲渲染+網絡傳輸 | 本地渲染 |
| 網絡依賴 | 每次請求需要連接 | None |
| 批量處理 | 速率限制(依計劃每分鐘20-150個請求) | 無速率限制 |
| 並發請求 | 1-20依計劃 | 受伺服器資源限制 |
| 離線操作 | 不可能 | 完全支持 |
IronPDF的嵌入式Chromium引擎在首次使用時存在初始化開銷,但隨後的渲染避免了雲端API調用中固有的網絡開銷。 PDFBolt的性能取決於網絡條件、文檔複雜性和當前的伺服器負載。
做出決策
PDFBolt和IronPDF的選擇取決於您的具體要求:
考慮PDFBolt如果: 您需要快速的原型整合、您的文件量能夠符合PDFBolt的訂閱層級、您對雲端的文件處理感到滿意,並且網絡連接穩定。
考慮IronPDF如果: 您需要本地數據處理以保護隱私或合規,您每月生成超過100個文件,您需要超越生成的PDF操作(合併,加水印,安全),您需要離線操作能力,或延遲對用戶體驗重要。
對於2025年的生產應用開發團隊並計畫2026年,IronPDF的自架架構提供運營獨立性和雲端API無法比擬的綜合功能。
開始使用IronPDF
要評估IronPDF是否滿足您的PDF生成需求:
- 安裝 IronPDF NuGet套件:
Install-Package IronPdf - 查看HTML 到 PDF 教學以了解基本轉換模式
- 探索URL to PDF轉換以捕捉網頁
- 檢查 教學部分以獲得全面的範例
IronPDF文檔提供常見場景的詳細指引,API參考記錄所有可用的類和方法。
