產品比較

IronPDF 和 PDFShift 之間的比較

發佈 2022年9月25日
分享:

便攜式文件格式(PDF) 是最受歡迎的文件格式之一,用於在單一文件中表示文字、連結、按鈕、圖形等多種內容。 在 C# 編程語言中操作 PDF 幾乎是不可能的,如果不使用 PDF API for C#。 在本文中,我們將探討如何使用兩個不同的 API 與 PDF 文件進行互動和操作,並比較這兩個 API 在性能、功能和許可方面的差異。

我們在本文中將討論的 PDF API 是:

  • IronPDF
  • PDFShift

1. IronPDF

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 文件。

1.1. IronPDF 功能

1.1.1. PDF 轉換

此功能包括從不同格式(例如 HTML、HTML 字串、MVC 視圖、Web 表單和 URL)創建 PDF。

1.1.2. PDF 成像

這使用戶能夠從 PDF 創建圖像並從圖像創建 PDF。 它包括圖像提取、支援不同的圖像格式,以及 PDF 列印。

1.1.3. PDF 檔案 I/O

IronPDF 也提供 128 位元加密、使用密碼鎖定和數位簽名的功能。

1.1.4. 編輯 PDF文件

IronPDF 的這項功能提供各種 PDF 格式化,包括添加浮水印、添加頁面、移除頁面、添加背景、添加前景等等。 簡而言之,IronPDF 提供了您需要的所有操作 PDF 的功能。

1.1.5. PDF內容擷取

在許多情況下,您可以直接從 PDF 中提取嵌入的文字。 如果這樣不行,您的文字可能實際上嵌入在圖片中。 使用IronOCR庫來掃描文件以識別視覺文本,而不是純文本。

1.1.6. 頁首和頁尾

當 PDF 被建立或追加至現有的 PDF 時,可以新增頁首和頁尾。 Print Options 屬性允許您為每個文件頁面製作頁眉和頁腳。 在 Chrome PDF Renderer 物件上訪問這些選項。 此範例適用於 .NET Core 控制台應用程式。

1.1.7. 相容性

IronPDF 支援幾乎所有與 C# 相容的作業系統和框架,包括以下:

Windows

  • Linux
  • .NET Core 2.1, 3.0, 3.1, .NET 6 和 5
  • .NET Standard 2.0 相容性用於通用兼容性
  • Microsoft Azure
  • 亞馬遜網路服務(AWS)

    Docker

2. PDFShift

PDFShift 是一個 HTML 到 PDF 轉換的 API 工具,使組織能夠在數秒鐘內將 HTML 頁面轉換為 PDF。 雲伺服器為基礎的API工具提供平行轉換、非同步查詢、原始HTML支援及其他功能。 PDFShift 是一個簡單易用的解決方案,支持包括 Ruby、Python、JavaScript、Node 和 PHP 在內的多種開發語言,使轉換過程更加輕鬆。

PDFShift 允許客戶建立自訂的頁眉和頁腳,應用自訂 CSS,加密文件,以及更多功能,讓企業對其轉換過程擁有完全的控制權。

2.1. PDFShift 功能

2.1.1. 平行轉換

PDFShift 支援平行轉換,允許使用者同時轉換多個文件,以提高轉換速度。

2.1.2. 高級頁首和頁尾選項

創建包含頁碼的自定義頁首和頁尾,使用自定義 CSS 和 JavaScript,為文件加密等。

2.1.3. 原始 HTML 數據到 PDF 轉換 API

PDFShift 支援將原始 HTML 轉換為 PDF,無需將頁面公開。

2.1.4. 高精度 PDF

PDFShift在幾秒鐘內將HTML轉換為高保真度的PDF文件。

2.1.5. 非同步請求

要在轉換完成時收到通知,請使用我們先進的即時系統。 使用強大的 PDFShift API 將 HTML 轉換為 PDF,並僅需三行代碼即可整合系統。

3. 在 Visual Studio 中創建新項目

開啟 Visual Studio 軟體並進入檔案選單。 選擇「新專案」,然後選擇一個控制台應用程式。 在本文中,我們將使用主控台應用程式來生成 PDF 文件。

輸入專案名稱並在相應的文本框中選擇路徑。 然後,點擊創建按鈕。 如以下截圖所示,選擇所需的 .NET 框架:

Pdfshift Alternatives Html To Pdf 1 related to 3. 在 Visual Studio 中創建新項目

Visual Studio 專案現在將為所選應用程式生成結構,如果您選擇了控制台、Windows 和 Web 應用程式,它將打開 program.cs 檔案,您可以在其中輸入程式碼並建構/運行應用程式。

Pdfshift Alternatives Html To Pdf 2 related to 3. 在 Visual Studio 中創建新項目

現在我們可以添加庫並測試程序。

4. 安裝 IronPDF 函式庫

IronPDF 庫可以透過四種不同的方式下載和安裝。 這些是:

  • 使用 Visual Studio 的 NuGet 套件管理器
  • 使用 Visual Studio 命令行
  • 直接從 NuGet 網頁下載
  • 從 IronPDF 網頁直接下載

4.1 使用 Visual Studio NuGet 套件管理器

Visual Studio 軟體提供 NuGet Package Manager 選項,讓使用者可以將套件直接安裝到解決方案中。 以下截圖顯示如何打開 NuGet Package Manager。

Pdfshift Alternatives Html To Pdf 3 related to 4.1 使用 Visual Studio NuGet 套件管理器

它提供一個搜索框來顯示來自NuGet網站的可用套件庫列表。在套件管理器中,我們需要搜索關鍵字「IronPDF」,如下面的截圖所示。

Pdfshift Alternatives Html To Pdf 4 related to 4.1 使用 Visual Studio NuGet 套件管理器

在上圖中,我們可以看到搜尋結果的相關套件列表。 我們需要選擇IronPDF選項並將套件安裝到我們的解決方案中。

4.2 使用 Visual Studio 命令列

在 Visual Studio 菜單中,前往工具 > NuGet 套件管理員 > 套件管理員主控台

Pdfshift Alternatives Html To Pdf 5 related to 4.2 使用 Visual Studio 命令列

在套件管理器主控台標籤頁中輸入以下行:

Install-Package IronPdf

現在套件將下載/安裝到當前專案並準備好使用。

Pdfshift Alternatives Html To Pdf 6 related to 4.2 使用 Visual Studio 命令列

4.3 從 NuGet 頁面直接下載

第三種方式是直接從網頁下載NuGet套件。

  • 導航至NuGet IronPDF 套件網頁
  • 從右側菜單中選擇下載套件選項。
  • 雙擊下載的包; 它將自動安裝。
  • 現在重新載入解決方案並開始在專案中使用它。

4.4 從 IronPDF 網頁直接下載

直接從該位置下載最新套件IronPDF 下載頁面. 下載後,按照以下步驟將套件添加到專案中。

  • 在解決方案窗口中右鍵點擊專案。
  • 然後,選擇選項參考,瀏覽下載的參考位置。
  • 接下來,點擊確定以添加參考。

5. PDFShift 工作原理

PDFShift 無法集成到專案中——它是遠端運行的。 您需要使用 C# RestClient 套件提交 POST 請求到 PDFShift 的 API,只需將您的 API 金鑰作為簡單身份驗證的使用者參數提供即可。 伺服器接收您的請求,處理後返回輸出文件,並且對 PDF 轉換 API 的處理是通過 HTTP POST 請求完成的。PDFShift 提供多種語言的 API 並可遠程工作。

6. 從 HTML 生成 PDF 文件

這兩個工具都包含 HTML 轉換功能,儘管它們的實現方式略有不同。

6.1. 使用 IronPDF 從 URL 建立 PDF

在 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")
VB   C#

以下是上述程式碼的輸出。

Pdfshift Alternatives Html To Pdf 7 related to 6.1. 使用 IronPDF 從 URL 建立 PDF

6.2. 使用 IronPDF 將 HTML 轉換為 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")
VB   C#
Pdfshift Alternatives Html To Pdf 8 related to 6.2. 使用 IronPDF 將 HTML 轉換為 PDF

6.3. 使用 PDFShift 從 URL 創建 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
VB   C#

6.4. 使用 PDFShift 的 HTML 轉換為 PDF

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
VB   C#

7. 自訂頁首和頁尾

在處理 PDF 時,為 PDF 添加頁首和頁尾是必備功能。 討論中的兩個工具都支持此選項。

7.1. 使用 IronPDF 自訂頁首和頁尾

使用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
VB   C#

7.2. 使用 PDFShift 自定義頁首和頁尾

您可以透過添加自訂的頁首或頁尾來自訂生成的文件。 這些通常用於識別當前頁面或在每個頁面上顯示貴公司的標誌。

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
VB   C#

9. 水印

使用編程語言為 PDF 添加水印是一項相當困難的任務。 IronPDF和PDFShift都提供對PDF添加浮水印的支持。

9.1. 使用IronPDF進行浮水印處理

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")
VB   C#
Pdfshift Alternatives Html To Pdf 9 related to 9.1. 使用IronPDF進行浮水印處理

9.2. 使用 PDFShift 添加浮水印

用戶需要水印以便在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
VB   C#

9. 授權

IronPDF 是一個提供免費開發者授權的程式庫。 IronPDF 還提供特別的價格結構:輕量包起價為 \$liteLicense,沒有隱藏費用。 也可以重新分發 SaaS 和 OEM 產品。 所有授權皆包括30天退款保證、一年的軟體支持和升級、開發/測試/預備/生產有效性,以及永久授權。(一次性購買). IronPDF 授權為用戶需求提供最大效能。 請點擊此連結查看IronPDF 的完整定價結構和授權方案.

Pdfshift Alternatives Html To Pdf 10 related to 9. 授權

PDFShift PDF 轉換 API 提供五種不同的授權方案,分為月租和年租兩種形式。 購買各種套件使用「點數」系統,其詳情列示如下:

  1. 免費套件(每月 50 點數)

  2. 啟動(每月500點數,每月費用\$9,每年6,000點數,每年費用\$99。)

  3. 提升(每月 2,500 點數,價格 \$24;每年 30,000 點數,價格 \$240。)

  4. 增長(每月5,000點數,價格為\$39;每年60,000點數,價格為\$390。)

  5. 商業(每月25,000點數,99美元)

    此外,還有文件大小限制:免費套件的限制是每個文件 1MB,而其他套件的限制是每個文件 5MB。

    Pdfshift Alternatives Html To Pdf 11 related to 9. 授權

    如需更多資訊和價格,請造訪PDFShift 價格頁面.

10. 結論

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 中包含的工具有:

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebScraper

    請訪問此IronSuite 頁面探索 IRON Suite。

< 上一頁
IronPDF 和 NReco .NET Core 之間的比較
下一個 >
IronPDF與SautinSoft PDF Focus的比較

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >