产品比较

IronPDF与PDFShift的对比

发布 2022年九月25日
分享:

便携式文件格式(PDF) 是一种最受欢迎的文档格式,用于在单一文档中表示文本、链接、按钮、图形等内容。 在 C# 编程语言中操作 PDF 几乎不可能,除非使用 C# 的 PDF API。 在本文中,我们将探讨如何使用两种不同的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 文件输入/输出

IronPdf 还提供 128 位加密、密码锁定和数字签名功能。

1.1.4. 编辑 PDFs

IronPDF 的这一功能提供所有类型的 PDF 格式化,如添加水印、添加页面、删除页面、添加背景、添加前景等。 简而言之,IronPDF 为您提供操作 PDF 所需的所有功能。

1.1.5. PDF内容提取

在许多情况下,您可以直接从 PDF 中提取嵌入的文本。 如果那不起作用,您的文本可能实际上嵌入在图像中。 使用 IronOCR 库扫描文档中的视觉文本,而非纯文本。

1.1.6. 页眉和页脚

创建 PDF 时可添加页眉和页脚,也可添加到现有 PDF 中。 打印选项 "属性允许您为每个文档页面制作页眉和页脚。 访问 Chrome PDF 渲染器对象上的这些选项。 该示例在 .NET Core 控制台应用程序中运行。

1.1.7. 兼容性

IronPDF 支持几乎所有与 C# 兼容的操作系统和框架,包括以下系统:

  • 视窗
  • 利纳克斯
  • .NET Core 2.1、3.0、3.1,.NET 6 和 5
  • 符合 .NET 标准 2.0,实现通用兼容性
  • 微软 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 Framework,如下图所示:

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 软件包管理器选项,可直接将软件包安装到解决方案中。 下面的截图显示了如何打开 NuGet 包管理器。

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 包,通过简单认证中的用户参数提供您的 API 密钥,以向 PDFShift 的 API 提交一个 POST 请求。 服务器接收您的请求,处理它,并返回输出文件,PDF 转换 API 的工作通过 HTTP POST 请求完成。PDFShift 提供多种语言的 API,并为所有这些语言提供远程工作支持。

6. 从HTML制作PDFs

这两种工具都包含 HTML 转换功能,只是转换方式略有不同。

6.1 使用IronPDF从URL创建PDF

使用 URL 在 C# 中创建 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文件时,添加页眉和页脚是必需的。 讨论中的两种工具都支持这个选项。

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 文件。 有关详细信息,请查看铁软件许可和定价信息.

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 页面要探索 IRONSUITE,请访问我们的网站。

< 前一页
IronPDF与NReco .NET Core的比较
下一步 >
IronPDF 和 SautinSoft PDF Focus 的比较

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >