(PNG)(便携式网络图形)和 PDF(便携式文档格式)在数字世界中有不同的用途。PNG 因其无损压缩和透明度支持而被广泛用于高质量图像,使其成为网页设计、图形创建和详细视觉内容的理想选择。另一方面,PDF 是一种用于文档共享和存档的通用格式,可确保跨设备的布局一致性。将 PNG 转换为 PDF 是一个有益的过程,有助于创建汇编、生成专业报告
图片转换API
Aspose.Imaging Cloud 是我们开发的专用 REST API,旨在方便客户在云端寻找图像处理和操作功能。您可以执行图像调整大小、裁剪、旋转、缩放、翻转、搜索、导出到其他 支持的文件格式 等操作。现在,根据本文,我们将使用 Aspose.Imaging Cloud SDK for .NET,它是 Aspose.Imaging Cloud 的包装器。
安装
.NET Cloud SDK 可通过 NuGet 和 GitHub 下载。请在终端中执行以下命令通过 NuGet 安装 SDK:
nuget install Aspose.Imaging-Cloud
如果需要从 NuGet 包管理器安装,请执行以下命令
PM> Install-Package Aspose.Imaging-Cloud
在 Visual Studio 中安装
另一种方法是直接在 Visual Studio 中安装:
- 打开解决方案资源管理器。
- 展开项目并右键单击解决方案中的“Packages”文件夹。
- 选择管理 NuGet 包… 选项。
- 单击浏览选项卡并搜索“Aspose.Imaging-Cloud”。
- 单击 Aspose.Imaging-Cloud 包旁边的复选框,在右侧选项卡中选择适当的版本,然后单击添加包按钮。
云订阅
下一步是通过访问 Aspose.Cloud 仪表板 创建一个免费订阅帐户。如果您有 GitHub 或 Google 帐户,只需注册即可。否则,请单击 创建新帐户 按钮并提供所需信息。
PNG 转换为 PDF
为了将 PNG 图像转换为 PDF 格式,我们可以使用以下两个 API 之一来完成此要求:
GET API 要求您先将图片上传到 Cloud Storage,然后执行转换。而第二个 API 要求您直接在请求正文中传递图片,最终输出存储在 Cloud Storage 中。
从云存储加载 PNG
以下步骤定义了我们如何先将图像上传到云存储,然后执行转换。如果我们跳过图像上传例程,那么我们还可以使用相同的代码片段将云存储中的任何现有图像转换为 PDF 格式。
- 首先,我们需要创建一个 ImagingApi 对象,并传递客户端 ID 和客户端机密详细信息作为参数。
- 其次,从本地驱动器加载 PNG 图像并将其作为参数传递给 UploadFileRequest 对象。
- 第三步,调用ImagingApi的UploadFile(…)方法将文件上传到云存储(如果图片已经在云存储中,可以跳过此步骤)。
- 创建 ConvertImageRequest 类的实例,该类以图像名称和结果输出格式作为参数。文件夹和存储名称是可选的。
- 现在调用 ImagingApi 类的 ConvertImage(…) 方法来启动转换。
- 最后,由于响应包含流图像,因此我们可以使用 File.Create 对象将其保存到本地驱动器(方法如下所示)。
// 从 https://dashboard.aspose.cloud/ 获取 ClientID
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 输入 PNG 文件的路径
string imageFile = "poodle.png";
// 输出文件格式
string format = "pdf";
// 生成的 PDF 文档的名称
string resultantFile = "resultant.pdf";
// 从本地驱动器加载文件
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// 将原始文档上传至云存储
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// 创建图像请求
var request = new ConvertImageRequest(imageFile, format, null, null);
// 启动转换操作
Stream updatedImage = imagingApi.ConvertImage(request);
// 如果转换成功,则打印成功消息
if (request != null && request.Equals("OK"))
{
Console.WriteLine("The PNG successfully converted to PDF !");
}
// 调用方法将输出保存到系统驱动器上
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// 自定义方法将 steam 对象保存为文件实例
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
从本地驱动器加载 PNG
在下一节中,我们将使用 CreateConvertedImage API 来转换直接在请求正文中传递的图像。
- 第一步是创建一个 ImagingApi 对象,该对象以客户端 ID 和客户端机密详细信息作为参数。
- 其次,使用 File.OpenRead 对象从本地驱动器读取 PNG 图像。
- 第三,创建以 ImageStream 和输出格式作为参数的 ConvertedImageRequest 对象。
- 然后调用ImagingApi的CreateConvertedImage(…)方法执行转换操作。
- 最后,使用 File.Create 对象保存生成的 PDF。
// 从 https://dashboard.aspose.cloud/ 获取 ClientID
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 输入 PNG 文件的路径
string imageFile = "poodle.png";
// 输出文件格式
string format = "pdf";
// 生成的 PDF 文档的名称
string resultantFile = "resultant.pdf";
try
{
using (var imageStream = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var request = new CreateConvertedImageRequest(imageStream, format, null, null);
Stream updatedImage = imagingApi.CreateConvertedImage(request);
if (request != null && request.Equals("OK"))
{
Console.WriteLine("PNG successfully converted to PDF !");
}
// 将更新后的图像保存到本地存储
using (var fileStream = File.Create("/Users/nshahbaz/Desktop/" + resultantFile))
{
updatedImage.Seek(0, SeekOrigin.Begin);
updatedImage.CopyTo(fileStream);
}
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
您可以考虑下载输入的 poodle.png 和转换后的 resultant.pdf 以供测试目的。
使用 cURL 命令在线将 PNG 转换为 PDF
我们的 API 也可以通过 cURL 命令访问,因此我们将使用 cURL 命令将 PNG 转换为 PDF。因此,首先我们需要根据客户端 ID 和客户端密钥详细信息生成 JWT 访问令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
生成访问令牌后,请执行以下命令将云存储中的 PNG 图像转换为 PDF 格式。输出的 PDF 随后存储在本地驱动器上。
curl -X GET "https://api.aspose.cloud/v3.0/imaging/poodle.png/convert?format=pdf" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o /Users/nshahbaz/Desktop/myResultant.pdf
免费 PNG 到 PDF 转换器
为了见证云 API 将 PNG 图像转换为 PDF 的惊人功能,您可以尝试使用我们的 免费在线 PNG 到 Acrobat 3D PDF 转换器 应用程序。
结论
在本文中,我们探索了 Aspose.Imaging Cloud 将 PNG 转换为 PDF 格式的功能。我们还发现可以使用 .NET Cloud SDK 以及 cURL 命令执行转换。我们还提供了 Swagger UI,以便您可以直接在浏览器中测试 REST API。
另外,请注意,Cloud SDK 是在 MIT 许可证下发布的,其完整源代码可通过 GitHub 下载。如果您在使用 API 时遇到任何问题或有任何疑问,请随时通过 免费产品支持论坛 与我们联系。
相关文章
我们还建议您访问以下链接以了解更多信息: