在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
PDF,或可携式文档格式,是Adobe开发的一种文件格式,用于简便的文档交换。 它确保文档在任何设备上的外观保持一致,保留格式、字体和图像。 PDF文件安全、互动性强且体积紧凑,非常适合在保持内容完整的同时进行分享。
C# PDF 库对于处理 PDF 的开发者来说是必不可少的。 这些工具有助于创建、修改和提取PDF文件中的内容。 他们支持诸如表单处理和数字签名等功能,并在不同平台上工作,提高了PDF处理的效率。 使用 C# PDF 库,开发人员可以向其应用程序添加 PDF 功能,从而更轻松地以编程方式创建、编辑和管理 PDF 文档。
在这篇文章中,我们将比较处理PDF的两种不同方法:IronPDF C# 库和Craftmypdf API. 我们将研究它们的功能和特性,提供代码示例,并讨论它们的许可证。
CraftMyPDF是一个多功能的API,旨在创建PDF文档。 它提供了一个基于网络的拖放编辑器,允许您直接在浏览器中设计PDF模板。 此功能特别适用于从可重用模板和JSON数据创建像素完美的PDF文件。 编辑器包含丰富的布局组件,支持强大的表达式、高级格式设置和数据绑定,使其成为满足各种PDF生成需求的强大工具。
拖放编辑器:CraftMyPDF的直观拖放编辑器简化了PDF模板的创建过程。 您可以在不需要任何编程知识的情况下设计模板,使其适用于所有技能水平的用户。 此编辑器允许您添加各种元素,如文本、图片和形状,并自定义它们的布局和外观。
模板可重用性:该平台支持可重用的模板,这可以大大节省时间。 一旦设计了模板,就可以使用不同的数据集反复使用,非常适合生成发票、报告和证书等文件。 您可以使用PDF模板编辑器进行编辑。
JSON数据集成: CraftMyPDF支持与JSON数据的无缝集成。 这意味着您可以将动态数据输入到模板中,以生成自定义的PDF文档。 此功能对于需要生成包含可变内容的文档的应用程序特别有用,例如个性化发票或详细报告。
高级格式和表达式: 该 API 支持高级格式和表达式选项,使您能够创建复杂的文档。 您可以根据您的规格格式化日期、数字和货币,并使用表达式根据您的数据动态生成内容。
API 集成: CraftMyPDF 可以通过其 REST API 与各种平台集成。 它支持与像Zapier这样的无代码平台集成Make.com以及自定义应用程序。 这种灵活性使得开发者能够将PDF生成功能整合到他们的工作流程中,并自动化文档创建过程。
可填写组件:该平台还支持可填写的PDF组件,如文本字段、复选框和下拉菜单。 此功能对于创建用户可以电子方式填写的互动表单至关重要。
面向 .NET 开发人员的 IronPDF PDF 库IronPDF是一个强大且多功能的PDF库,专为.NET开发者设计,提供了广泛的生成、编辑和管理PDF文件的功能。 使用 C# 编写的 IronPDF 简化了处理 PDF 文件的过程,允许开发者从 HTML、CSS、JavaScript 和图像格式生成像素完美的 PDF 文档。 它与 .NET 的集成使其成为任何需要 PDF 功能的应用程序的强大工具,从简单的文件生成到复杂的文档操作。
HTML到PDF转换 IronPDF在此方面表现出色将 HTML、CSS 和 JavaScript 直接转换为 PDF 文档. 这包括对HTML5和CSS3的支持,确保您的网页内容在生成的PDF中显示如预期。 转换过程保持像素级的精确度,非常适合网页到印刷的应用。
将网址转换为PDF您可以从任何 URL 生成 PDF,轻松将网页保存为PDF文件。 此功能适用于存档网页内容或从在线数据生成报告。
图像转PDF IronPDF 支持将各种图像格式转换为 PDF 文档,包括 JPG、PNG、GIF、BMP 和 SVG。 此功能适用于创建相册、图片库或将视觉内容集成到您的PDF中。
表单填写和数据提取 该库支持创建和以编程方式填充PDF表单. 此外,您可以从现有表单中提取数据,实现无缝数据处理和与其他系统的集成。
数字签名和安全性 IronPDF 提供强大的安全功能,包括添加的能力数字签名设置密码并定义用户权限。 这确保了您的PDF文件的安全性并符合行业标准。
PDF编辑 您可以通过添加、复制或删除页面来编辑现有的PDF文档。 您可以通过导入现有的PDF文件来完成这项工作。 IronPDF 还允许合并和拆分 PDF 文件,使其成为一个全面的文档管理工具。
注释和附件 IronPDF 支持添加注释例如粘性便签,并在PDF文档中嵌入附件。 此功能对于协作文档审阅和添加补充信息很有用。
页眉、页脚和水印 该库允许在您的 PDF 文档中添加自定义页眉、页脚和水印。 这些元素可以从HTML生成,提供设计和内容管理的灵活性。
跨平台兼容性 IronPDF 能够无缝地在包括 Windows、macOS、Linux、Docker、Azure 和 AWS 在内的各种平台上工作。 它支持 .NET Core、.NET Standard 和 .NET Framework,确保在不同环境中具有广泛的兼容性和易于部署。
性能优化 IronPDF 支持完全的多线程和异步,优化了批处理和大批量PDF生成任务的性能。 这确保了资源的有效使用和更快的文档处理。
全面的文档和支持 IronPDF配备了详尽的文档、教程和示例,方便开发者快速上手。 该库还提供24/5技术支持,帮助用户迅速解决问题。
无外部依赖 IronPDF作为单个DLL运行,无需额外软件或安装。 这简化了部署并减少了与其他软件组件的潜在冲突。
IronPDF旨在提高.NET应用程序中PDF管理的效率和流程。 其丰富的功能集,加上易用性和全面的支持,使其成为开发者不可或缺的工具。
在 Visual Studio 中创建 C# 控制台应用程序涉及几个步骤。 以下是帮助您设置并开始项目的详细指南。
首先,确保您的计算机上安装了Visual Studio。 通过在“开始”菜单中搜索或点击其桌面图标打开Visual Studio。
一旦Visual Studio打开后,请按照以下步骤创建一个新项目:
点击开始页面上的“创建新项目”。
在搜索结果或列表中,选择“控制台应用程序”(.NET Core) 或 控制台应用程序(.NET框架)“,根据您的偏好或项目要求。”
在选择控制台应用模板后,您需要配置您的新项目:
项目名称: 输入项目名称。 这将是保存您项目文件的文件夹名称。
位置:选择您想要保存项目的文件夹。
解决方案名称: 这通常与您的项目名称相同,但如果您计划在一个解决方案中包含多个项目,您可以更改它。
要开始使用IronPDF,您有三种主要的安装方法:使用NuGet包管理器、NuGet包管理器控制台和从NuGet网站下载。
首先,让我们谈谈NuGet包管理器。 如果您使用的是Visual Studio,这个方法简单易用。 打开您的项目并在解决方案资源管理器中右击“引用”或“依赖项”节点。 从上下文菜单中选择 "管理 NuGet 包"。
在 NuGet 包管理器中,确保选择了“浏览”标签,然后在搜索框中输入“IronPDF”。 找到 IronPDF 包后,点击“安装”。这个操作将会把 IronPDF 库添加到您的项目中,并进行配置以便使用。
接下来,NuGet 包管理器控制台提供了另一种方便的方式来安装 IronPDF。 要访问此功能,请转到 Visual Studio 中的“工具”菜单,选择“NuGet 包管理器”,然后选择“包管理器控制台”。在控制台窗口中输入以下命令:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
并按回车键。 此命令将直接下载并安装IronPDF包到您的项目中。 此方法适用于那些喜欢在Visual Studio环境中使用命令行工具的用户。
最后,您可以直接从NuGet 网站. 此方法在您需要手动管理包版本或在直接包管理受限的环境中工作时尤其有用。 转到 NuGet 网站并搜索“IronPDF”。下载包文件。(通常是 .nupkg 文件).
下载后,在Visual Studio中打开您的项目,右键单击“引用”或“依赖项”,并选择“管理NuGet包”。点击“设置”图标,然后选择“添加”以指定下载包的路径。 在添加包源后,返回到“浏览”标签,选择您的新源,然后从那里安装IronPDF。
要在您的 C# 程序中使用 CraftMyPDF,您首先需要创建一个账户,选择 API 的免费计划,然后将其集成到您的应用程序中。 以下是您开始的方法:
注册 访问CraftMyPDF 网站并注册一个免费账户。 输入所需信息以创建您的帐户。
选择免费计划 创建账户后,导航至定价部分并选择免费计划。 此计划通常允许您使用具有限制功能和配额的API,非常适合开发和测试目的。
确保您已经引用了 System.Net.Http、RestSharp 和 Newtonsoft JSON 命名空间,因为它们对于向 CraftMyPDF API 发送 HTTP 请求至关重要。
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
IRON VB CONVERTER ERROR developers@ironsoftware.com
之后,我们将对 CraftMyPDF API 进行 API 调用。
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest("https://api.craftmypdf.com/v1/create",Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest("https://api.craftmypdf.com/v1/create",Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
IRON VB CONVERTER ERROR developers@ironsoftware.com
通过编程方式创建 PDF 可以让您自动化生成文件,如报告、发票和证书。 IronPDF提供了多种方法在C#中创建PDF文件,包括将HTML字符串、URL和HTML文件转换为PDF文档。 我们将在后面的章节中更详细地讨论这些方法。
将HTML转换为PDF是最常见的用例之一。 它允许您使用HTML和CSS设计文档,然后将其转换为PDF。 此方法具有高度灵活性,因为它支持现代网页标准,并确保生成的PDF文件外观与设计完全一致。 这是使用IronPDF将HTML字符串转换为PDF文档的基本示例:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
在此示例中,ChromePdfRenderer 将提供的 HTML 字符串转换为 PDF。 渲染后的PDF随后被保存到文件系统中。
IronPDF的另一个强大功能是其能够直接从URL将网页转换为PDF文档。 这对于存档网页或从动态网页内容生成PDF文件特别有用。 以下是如何将URL转换为PDF文档的示例:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
此方法将一个 URL 作为输入,将网页渲染成 PDF,并保存生成的文档。 它处理所有的网络内容,包括HTML、CSS、JavaScript和图像,确保PDF准确反映原始网页。
将HTML文件转换为PDF与将HTML字符串或URL转换相似。 此方法允许您使用本地HTML文件,便于从文件系统上存储的预先存在的网页或模板生成PDFs。 以下是如何将HTML文件转换为PDF的方法:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
在此示例中,RenderHtmlFileAsPdf 方法用于将指定文件路径的 HTML 文件内容转换为 PDF 文档。 生成的PDF随后被保存。
通过利用这些方法,您可以使用IronPDF从各种HTML内容源创建PDF文件,为您的C#应用程序提供灵活而强大的文档生成解决方案。 这些方法确保您可以轻松集成PDF创建功能,无论您是处理动态网页内容、本地HTML文件还是直接定义的HTML字符串。
CraftMyPDF提供了一个灵活的API,用于从模板生成PDFs。 要使用此API创建PDF,您必须首先在CraftMyPDF仪表板中创建一个模板。 一旦您的模板准备好了,您可以向API发送请求,并提供生成PDF所需的数据。 以下是实现此目标的步骤。
登录 CraftMyPDF 仪表板 登录您的 CraftMyPDF 账户并导航至仪表板。
创建新模板 点击“创建模板”按钮。 使用拖放编辑器来设计您的PDF模板。 您可以根据需要包括文本、图片、表格和其他元素。
保存模板 当您对设计满意后,请保存模板。 您将获得一个模板 ID,您需要使用此模板生成 PDF 文件。
在创建模板后,您可以使用以下C#代码通过向CraftMyPDF API发送请求来生成PDF。
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
这是由PDF生成API CraftMyPdf生成的PDF文档:
设置 RestClient 和 RestRequest 一个RestClient使用CraftMyPDF API URL进行实例化,创建一个RestRequest用于POST方法以生成PDF。
添加头部 API密钥被添加到请求头部用于认证。 内容类型设置为 application/json。
准备请求体 请求体被创建为一个JSON对象。 它包括用于填充模板字段的数据、模板ID以及各种选项,如导出类型和过期时间。
发送请求 请求使用 ExecuteAsync 异步发送,并根据请求体生成 PDF 文档。
IronPDF提供各种许可选项以满足不同用户的需求。 主要许可证包括轻量级、专业版和企业版。 Lite许可证售价为749美元,适用于单个开发者处理一个项目。 专业版许可证售价为$1,499,支持多个项目和开发人员,而企业版许可证适用于更大的团队和更广泛的部署,售价为$2,999。每个许可证都是一次性费用,并包括一年的支持和更新。 此外,还有一种 OEM 再分发许可证,允许将 IronPDF 作为商业产品的一部分进行分发。 IronPDF还提供了免费试用评估.
CraftMyPDF 采用基于订阅的授权模式运行。 它提供多种计划,包括适用于小规模和开发目的的免费版本。 免费计划允许有限地使用API,非常适合测试和小型项目。 对于更高的使用需求,我们提供付费计划,这些计划提供更高的API调用限额和额外的功能。 这些付费计划旨在根据业务需求进行扩展,提供灵活性和强大的支持。 用户需要通过CraftMyPDF网站订阅这些计划,并且可以通过用户仪表板管理他们的订阅和API密钥。
IronPDF 提供大量文件以及强大的支持帮助用户有效地利用该库。 该文档内容全面,包括详细的指南、示例和快速入门部分,以帮助新用户快速上手。 关键部分涵盖基本使用、高级配置和故障排除。 此外,IronPDF通过多种渠道提供支持,包括广泛的知识库、电子邮件支持以及针对更复杂问题的工程支持请求。 支持团队全周提供24小时服务,快速协助解决用户疑问和问题。
CraftMyPDF还为用户提供了详尽的文档和支持。 API文档提供了关于所有可用终端点、参数和示例请求的详细信息,确保开发者能够顺利集成API。 文档包括关于创建模板、发起 API 请求和处理响应的指南。 CraftMyPDF通过电子邮件提供客户支持,并提供一个社区论坛,用户可以在此提问和分享见解。 该文档的设计目的是用户友好,确保各级技能的开发者都能有效使用 API 生成 PDF 文件。
在本文中,我们探讨了生成 PDF 的两种强大工具:IronPDF 和 CraftMyPDF 的功能、许可和文档。 这两个工具都提供了强大的功能,用于创建和管理PDF文件,但IronPDF具有几个明显的优势。
IronPDF提供了一套全面的功能,可以满足各种PDF生成需求,包括轻松将HTML字符串、URL和HTML文件转换为PDF。 它与 .NET 环境的无缝集成以及处理复杂文档结构的能力使其成为一个非常通用的工具。 此外,IronPDF支持高级选项,如添加页眉和页脚、数字签名以及处理PDF表单,确保能够满足各种应用程序的需求。
IronPDF的一个重大优势是其许可结构。 它提供了一个免费试用,使用户在购买前可以评估软件。 许可证起价为749美元,适合个人开发者和小团队使用。 此外,IronPDF通过提供Iron Suite套装,包括九个产品,但价格仅为两个产品的价格,为综合PDF和文档管理需求提供了极具价值的选择,使其成为经济高效的选择。
总之,虽然IronPDF和CraftMyPDF都是出色的PDF生成工具,但IronPDF提供了更全面的功能集、更强大的支持以及更有利的许可模式。 其处理复杂文档需求的能力以及性价比高的Iron Suite套件使其在CraftMyPDF中具有优势。 无论您是独立开发者还是团队的一部分,IronPDF为您的PDF生成需求提供可靠且强大的解决方案。