Extrair Imagens do PDF

Contents
[ ]

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();