提取PDF文件中的图像使用C++

Contents
[ ]

您可以使用Aspose.PDF for C++将PDF文档中的所有图像提取到可以在其他程序中重复使用的单独文件中。

图像存储在每个页面的资源集合的图像集合中。要提取特定页面,然后使用图像的特定索引从图像集合中获取图像。

图像的索引返回一个XImage对象。该对象提供了一个Save方法,可以用来保存提取的图像。

以下代码片段展示了如何从PDF文件中提取图像。

void WorkingWithImages::ExtractImages()
{
    String _dataDir("C:\\Samples\\");

    // 打开文档
    auto document = MakeObject<Document>(_dataDir + u"ExtractImages.pdf");

    // 提取特定图像
    auto xImage = document->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);

    auto outputImage = System::IO::File::OpenWrite(_dataDir + u"output.jpg");

    // 保存输出图像
    xImage->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
    outputImage->Close();

    // 保存更新后的PDF文件
    document->Save(_dataDir + u"ExtractImages_out.pdf");
}