Извлечение изображений из 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();