从PDF中提取图像

Contents
[ ]

PDF 文档中的每一页都包含资源(图像、表单和字体)。我们可以通过调用getResources方法来访问这些资源。Resources类包含XImageCollection,我们可以通过调用getImages方法来获取图像列表。

因此,要从页面中提取图像,我们需要获取对页面的引用,然后是页面资源,最后是图像集合。 我们可以通过索引来提取特定图像。

图像的索引返回一个XImage对象。 该对象提供了一个 save 方法,可用于保存提取的图像。以下代码片段显示了如何从 PDF 文件中提取图像。


    // 加载 PDF 文档
    $document = new Document($inputFile);

    // 获取文档的第一页
    $page = $document->getPages()->get_Item(1);

    // 获取页面上的图像集合
    $xImageCollection = $page->getResources()->getImages();

    // 从集合中获取第一张图像
    $xImage = $xImageCollection->get_Item(1);

    // 创建一个新的 FileOutputStream 对象以保存图像
    $outputImage = new java("java.io.FileOutputStream", $outputFile);

    // 将图像保存到输出文件
    $xImage->save($outputImage);

    // 关闭输出图像文件
    $outputImage->close();