PDF 是一种在互联网上共享信息的流行格式。大多数时候,PDF 文件包含图像以及文本和其他元素。在某些情况下,您可能需要从 PDF 文件中提取这些图像以进一步处理它们。为此,本文将教您如何使用 C++ 从 PDF 文件中提取图像。
用于从 PDF 文件中提取图像的 C++ API
Aspose.PDF for C++ 是一个 C++ 库,允许您创建、阅读和修改 PDF 文档。此外,API 支持从 PDF 文件中提取图像。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。
PM> Install-Package Aspose.PDF.Cpp
使用 C++ 从 PDF 文件中提取图像
以下是从 PDF 文件中提取图像的步骤。
- 使用 Document 类加载 PDF 文档。
- 使用 Document->getPages() 方法获取文档的页面并对其进行迭代。
- 使用 page->getResources()->getImages() 方法获取每个页面的图像并对其进行迭代。
- 为每个图像创建一个 FileStream 对象,并将其保存为 JPEG、PNG 等。
以下示例代码演示了如何使用 C++ 从 PDF 文件中提取图像。
// 加载 PDF 文档
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\SampleImages2.pdf");
// 初始化图像计数器
int imageCounter = 1;
// 遍历文档的页面
for (auto page : pdfDocument->get_Pages())
{
// 遍历页面的图像
for (auto image : page->get_Resources()->get_Images())
{
// 创建 FileStream 的实例
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(String::Format(u"OutputDirectory\\Image{0}.jpg", imageCounter));
// 保存图像
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// 关闭文件流
outputImage->Close();
// 增加图像计数器
imageCounter++;
}
}
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C++ 从 PDF 文件中提取图像。我们使用强大且易于使用的 Aspose.PDF for C++ API 来实现这一点。 API 提供了一系列用于处理 PDF 文件的附加功能,您可以通过访问 官方文档 来详细了解这些功能。如果您对 API 的任何方面有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。