使用 C++ 将 PDF 页面转换为 PNG 图像

PDF 是一种流行的共享和打印文档格式,因为它具有一致的布局。但是,您可能会发现自己需要生成 PDF 文件的封面图像或将其页面嵌入网页中。在这种情况下,将 PDF 文件转换为图像格式会很有帮助。为此,本文将教您如何使用 C++ 将 PDF 页面转换为 PNG 图像。

用于将 PDF 页面转换为 PNG 图像的 C++ API

Aspose.PDF for C++ 是一个 C++ 库,允许您创建、阅读和更新 PDF 文档。此外,API 支持将 PDF 页面转换为 PNG 图像。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。

PM> Install-Package Aspose.PDF.Cpp

使用 C++ 将 PDF 页面转换为 PNG 图像

以下是将 PDF 页面转换为 PNG 图像的步骤。

以下示例代码演示了如何使用 C++ 将 PDF 文件的页面保存为 PNG 图像。

// 加载 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// 遍历 PDF 页面
for (auto page : pdfDocument->get_Pages())
{
	// 创建 FileStream 类的实例
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// 创建 Resolution 类的实例
	auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

	// 创建 PngDevice 类的实例
	auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

	// 将页面另存为图像
	pngDevice->Process(page, imageStream);

	// 关闭流
	imageStream->Close();
}

使用 C++ 将单个 PDF 页面转换为 PNG 图像

以下是将 PDF 文件的单页转换为 PNG 图像的步骤。

以下示例代码展示了如何使用 C++ 将单个 PDF 页面转换为 PNG 图像。

// 加载 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");

// 检索第一页
auto page = pdfDocument->get_Pages()->idx_get(1);

// 创建 FileStream 类的实例
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

// 创建 Resolution 类的实例
auto resolution = MakeObject<Aspose::Pdf::Devices::Resolution>(300);

// 创建 PngDevice 类的实例
auto pngDevice = MakeObject<Aspose::Pdf::Devices::PngDevice>(500, 700, resolution);

// 将页面另存为图像
pngDevice->Process(page, imageStream);

// 关闭流
imageStream->Close();

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 C++ 将 PDF 文件的页面转换为 PNG 图像。您可以将 PDF 文件的所有页面或选定页面转换为 PNG 图像。 Aspose.PDF for C++ 是一个强大的 API,具有许多用于自动化 PDF 相关工作流程的附加功能。您可以通过访问 官方文档 来详细探索 API。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看