Extraire des Images du PDF
Contents
[
Hide
]
Chaque page dans le document PDF contient des ressources (images, formulaires et polices). Nous pouvons accéder à ces ressources en appelant la méthode getResources. La classe Resources contient XImageCollection et nous pouvons obtenir la liste des images en appelant la méthode getImages.
Ainsi, pour extraire une image d’une page, nous devons obtenir une référence à la page, ensuite aux ressources de la page et enfin à la collection d’images. Nous pouvons extraire une image particulière par exemple par index.
L’index de l’image renvoie un objet XImage. Cet objet fournit une méthode save qui peut être utilisée pour enregistrer l’image extraite. Le fragment de code suivant montre comment extraire des images d’un fichier PDF.
// Charger le document PDF
$document = new Document($inputFile);
// Obtenir la première page du document
$page = $document->getPages()->get_Item(1);
// Obtenir la collection d'images sur la page
$xImageCollection = $page->getResources()->getImages();
// Obtenir la première image de la collection
$xImage = $xImageCollection->get_Item(1);
// Créer un nouvel objet FileOutputStream pour enregistrer l'image
$outputImage = new java("java.io.FileOutputStream", $outputFile);
// Enregistrer l'image dans le fichier de sortie
$xImage->save($outputImage);
// Fermer le fichier image de sortie
$outputImage->close();