从PDF中提取图像
Contents
[
Hide
]
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();