在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
便攜式文件格式(PDF) 是最受歡迎的文件格式之一,用於在單一文件中表示文字、連結、按鈕、圖形等多種內容。 在 C# 編程語言中操作 PDF 幾乎是不可能的,如果不使用 PDF API for C#。 在本文中,我們將探討如何使用兩個不同的 API 與 PDF 文件進行互動和操作,並比較這兩個 API 在性能、功能和許可方面的差異。
我們在本文中將討論的 PDF API 是:
IronPDF 是一個強大的 HTML 到 PDF 轉換 API。 IronPDF 是在 .NET 和 .NET Core 開發中轉換 HTML 網站的理想解決方案。 它不僅能轉換 HTML,還有多種額外功能。 IronPDF 允許開發人員在 .NET Core 和 .NET Framework 專案中創建、更改和提取 PDF 文件。 使用IronPDF套件,開發者可以輕鬆地從HTML頁面生成或更改PDF。
PDF 可以輕鬆編輯、蓋章,並新增頁眉和頁腳。 它還使读取 PDF 文字和提取圖片变得非常容易。 IronPDF 使用 .NET Chromium 引擎將 HTML 頁面渲染成 PDF 文件。
此功能包括從不同格式(例如 HTML、HTML 字串、MVC 視圖、Web 表單和 URL)創建 PDF。
這使用戶能夠從 PDF 創建圖像並從圖像創建 PDF。 它包括圖像提取、支援不同的圖像格式,以及 PDF 列印。
IronPDF 也提供 128 位元加密、使用密碼鎖定和數位簽名的功能。
IronPDF 的這項功能提供各種 PDF 格式化,包括添加浮水印、添加頁面、移除頁面、添加背景、添加前景等等。 簡而言之,IronPDF 提供了您需要的所有操作 PDF 的功能。
在許多情況下,您可以直接從 PDF 中提取嵌入的文字。 如果這樣不行,您的文字可能實際上嵌入在圖片中。 使用IronOCR庫來掃描文件以識別視覺文本,而不是純文本。
當 PDF 被建立或追加至現有的 PDF 時,可以新增頁首和頁尾。 Print Options 屬性允許您為每個文件頁面製作頁眉和頁腳。 在 Chrome PDF Renderer 物件上訪問這些選項。 此範例適用於 .NET Core 控制台應用程式。
IronPDF 支援幾乎所有與 C# 相容的作業系統和框架,包括以下:
Windows
亞馬遜網路服務(AWS)
Docker
PDFShift 是一個 HTML 到 PDF 轉換的 API 工具,使組織能夠在數秒鐘內將 HTML 頁面轉換為 PDF。 雲伺服器為基礎的API工具提供平行轉換、非同步查詢、原始HTML支援及其他功能。 PDFShift 是一個簡單易用的解決方案,支持包括 Ruby、Python、JavaScript、Node 和 PHP 在內的多種開發語言,使轉換過程更加輕鬆。
PDFShift 允許客戶建立自訂的頁眉和頁腳,應用自訂 CSS,加密文件,以及更多功能,讓企業對其轉換過程擁有完全的控制權。
PDFShift 支援平行轉換,允許使用者同時轉換多個文件,以提高轉換速度。
創建包含頁碼的自定義頁首和頁尾,使用自定義 CSS 和 JavaScript,為文件加密等。
PDFShift 支援將原始 HTML 轉換為 PDF,無需將頁面公開。
PDFShift在幾秒鐘內將HTML轉換為高保真度的PDF文件。
要在轉換完成時收到通知,請使用我們先進的即時系統。 使用強大的 PDFShift API 將 HTML 轉換為 PDF,並僅需三行代碼即可整合系統。
開啟 Visual Studio 軟體並進入檔案選單。 選擇「新專案」,然後選擇一個控制台應用程式。 在本文中,我們將使用主控台應用程式來生成 PDF 文件。
輸入專案名稱並在相應的文本框中選擇路徑。 然後,點擊創建按鈕。 如以下截圖所示,選擇所需的 .NET 框架:
Visual Studio 專案現在將為所選應用程式生成結構,如果您選擇了控制台、Windows 和 Web 應用程式,它將打開 program.cs 檔案,您可以在其中輸入程式碼並建構/運行應用程式。
現在我們可以添加庫並測試程序。
IronPDF 庫可以透過四種不同的方式下載和安裝。 這些是:
Visual Studio 軟體提供 NuGet Package Manager 選項,讓使用者可以將套件直接安裝到解決方案中。 以下截圖顯示如何打開 NuGet Package Manager。
它提供一個搜索框來顯示來自NuGet網站的可用套件庫列表。在套件管理器中,我們需要搜索關鍵字「IronPDF」,如下面的截圖所示。
在上圖中,我們可以看到搜尋結果的相關套件列表。 我們需要選擇IronPDF選項並將套件安裝到我們的解決方案中。
在 Visual Studio 菜單中,前往工具 > NuGet 套件管理員 > 套件管理員主控台
在套件管理器主控台標籤頁中輸入以下行:
Install-Package IronPdf
現在套件將下載/安裝到當前專案並準備好使用。
第三種方式是直接從網頁下載NuGet套件。
直接從該位置下載最新套件IronPDF 下載頁面. 下載後,按照以下步驟將套件添加到專案中。
PDFShift 無法集成到專案中——它是遠端運行的。 您需要使用 C# RestClient 套件提交 POST 請求到 PDFShift 的 API,只需將您的 API 金鑰作為簡單身份驗證的使用者參數提供即可。 伺服器接收您的請求,處理後返回輸出文件,並且對 PDF 轉換 API 的處理是通過 HTTP POST 請求完成的。PDFShift 提供多種語言的 API 並可遠程工作。
這兩個工具都包含 HTML 轉換功能,儘管它們的實現方式略有不同。
在 C# 中使用 URL 建立 PDF 檔案同樣簡單,只需這三行程式碼即可完成。 以下程式碼將演示如何從 URL 創建 PDF 檔案。
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
以下是上述程式碼的輸出。
使用 IronPDF C# .NET 庫將 HTML 轉換為 PDF 相當容易。
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
使用 PDFShift 轉換 URL 非常簡單。 您只需要發送一個 POST 請求,將 source 參數設置為 URL,如下所示:
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com"
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com"
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {Key .source = "https://www.example.com"}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
PDFShift 也提供 HTML 到 PDF 的直接轉換,但從 HTML 文件中讀取 HTML 內容。
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim documentContent As String = File.ReadAllText("document.html")
Dim json = New With {Key .source = documentContent}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
在處理 PDF 時,為 PDF 添加頁首和頁尾是必備功能。 討論中的兩個工具都支持此選項。
使用IronPDF,您可以通過兩種不同的方式添加頁首和頁尾。
TextHeaderFooter 允許添加基於文本的頁眉,並可選擇合併動態數據。
HtmlHeaderFooter 允許開發人員將 HTML 頁首和頁尾渲染到 PDF 文件,還可以對動態數據進行模板化。 它更靈活,但較難使用。
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
您可以透過添加自訂的頁首或頁尾來自訂生成的文件。 這些通常用於識別當前頁面或在每個頁面上顯示貴公司的標誌。
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://quillbot.com/",
footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://quillbot.com/",
footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {
Key .source = "https://quillbot.com/",
Key .footer = New With {
Key .source = "<div style=""font-size: 12px"">Page {{page}} of {{total}}</div>",
Key .spacing = "50px"
}
}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
使用編程語言為 PDF 添加水印是一項相當困難的任務。 IronPDF和PDFShift都提供對PDF添加浮水印的支持。
IronPDF 提供使用 HTML 對 PDF 文件進行「水印」的方法。 水印可以設定在現有內容的上方或下方呈現,並具有內建的不透明度、旋轉和超連結功能。
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
用戶需要水印以便在PDF上清晰識別。
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com",
watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com",
watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {
Key .source = "https://www.example.com",
Key .watermark = New With {
Key .image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png",
Key .offset_x = 50,
Key .offset_y = "100px",
Key .rotate = 45
}
}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
IronPDF 是一個提供免費開發者授權的程式庫。 IronPDF 還提供特別的價格結構:輕量包起價為 \$liteLicense
,沒有隱藏費用。 也可以重新分發 SaaS 和 OEM 產品。 所有授權皆包括30天退款保證、一年的軟體支持和升級、開發/測試/預備/生產有效性,以及永久授權。(一次性購買). IronPDF 授權為用戶需求提供最大效能。 請點擊此連結查看IronPDF 的完整定價結構和授權方案.
PDFShift PDF 轉換 API 提供五種不同的授權方案,分為月租和年租兩種形式。 購買各種套件使用「點數」系統,其詳情列示如下:
免費套件(每月 50 點數)
啟動(每月500點數,每月費用\$9,每年6,000點數,每年費用\$99。)
提升(每月 2,500 點數,價格 \$24;每年 30,000 點數,價格 \$240。)
增長(每月5,000點數,價格為\$39;每年60,000點數,價格為\$390。)
商業(每月25,000點數,99美元)
此外,還有文件大小限制:免費套件的限制是每個文件 1MB,而其他套件的限制是每個文件 5MB。
如需更多資訊和價格,請造訪PDFShift 價格頁面.
IronPDF 是一款為獨立開發者提供的免費應用程式,擁有多種功能,能修改 PDF 檔案並將其轉換成其他格式。 IronPDF 提供最佳的編輯和格式化工具,用於處理 PDF。 它將 HTML 轉換為 PDF 結果的同時,轉換為適合高質量商業印刷的向量文件。 因此,您將獲得清晰且高品質的 PDF。 如需更多詳情,請查看Iron Software 授權和定價資訊.
PDFShift 是一個將 HTML 轉換為 PDF 的 API,擁有高品質、高保真度和強大的功能。 它提供了一個易於學習的端點,具備一整套功能的多樣工具,以及多種語言的套件。 PDFShift 使用 postMessage 向服務器發送請求,該服務器可以處理文件的並行轉換,這意味著您可以同時轉換多個文件。
IronPDF 授權是基於開發人員的,這意味著您應該根據將使用該產品的開發人員數量來購買授權。 另一方面,PDFShift 授權是基於每月和每年的計點制,這意味著您將根據您訂閱的套餐每月收到特定的點數。 IronPDF 支援 OME 和 SaaS 分發,而 PDFShift 不支援。 IronPDF 授權是一次性購買,您可以終身使用,而 PDFShift 提供每月和每年的授權。
快速比較這兩個工具後,我們可以得出結論:IronPDF 庫提供比 PDFShift 多得多的功能。 PDFShift 只提供少量的功能來操作 PDF。 IronPDF只需三行程式碼即可將URL轉換為PDF,而PDFShift則需要更多程式碼才能完成相同的任務。 整合IronPDF很簡單,只需幾分鐘即可完成。 PDFShift在基於雲的系統中運行,不需要集成; 然而,它確實依賴於其他 API,例如 Rest Sharp,因此實際上這是一個複雜的程序。
另外,Iron Software 目前提供五個工具的套裝,只需支付兩個的價格。 Iron Suite 中包含的工具有:
IronWebScraper
請訪問此IronSuite 頁面探索 IRON Suite。