Extrair Imagens do PDF
Contents
[
Hide
]
Cada página no documento PDF contém recursos (imagens, formulários e fontes). Podemos acessar esses recursos chamando o método getResources. A classe Resources contém XImageCollection e podemos obter a lista de imagens chamando o método getImages.
Assim, para extrair uma imagem de uma página, precisamos obter referência à página, depois aos recursos da página e por último à coleção de imagens. Podemos extrair uma imagem específica, por exemplo, pelo índice.
O índice da imagem retorna um objeto XImage. Este objeto fornece um método save que pode ser usado para salvar a imagem extraída. O snippet de código a seguir mostra como extrair imagens de um arquivo PDF.
// Carregar o documento PDF
$document = new Document($inputFile);
// Obter a primeira página do documento
$page = $document->getPages()->get_Item(1);
// Obter a coleção de imagens na página
$xImageCollection = $page->getResources()->getImages();
// Obter a primeira imagem da coleção
$xImage = $xImageCollection->get_Item(1);
// Criar um novo objeto FileOutputStream para salvar a imagem
$outputImage = new java("java.io.FileOutputStream", $outputFile);
// Salvar a imagem no arquivo de saída
$xImage->save($outputImage);
// Fechar o arquivo de imagem de saída
$outputImage->close();