При встраивании документов PDF в веб-приложение может потребоваться создание эскиза. В других сценариях, например при создании средства просмотра PDF, может потребоваться создать миниатюру для каждой страницы в PDF. В этой статье мы покажем вам, как создавать эскизы страниц PDF в Java. Мы подробно расскажем, как создать миниатюру определенной страницы или всех страниц в файле PDF.
- Java API для создания эскизов страниц PDF
- Создать миниатюру PDF-файла
- Создание эскизов всех страниц в PDF
Java API для создания эскизов PDF — скачать бесплатно
Для создания эскизов PDF-файлов мы будем использовать Aspose.PDF for Java. Это многофункциональная библиотека, которая позволяет создавать PDF-документы и управлять ими. API позволяет беспрепятственно выполнять как базовые, так и расширенные операции автоматизации PDF. Вы можете скачать API или установить его, используя следующие конфигурации Maven.
Репозиторий:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Зависимость:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Создать миниатюру PDF в Java
Обычно для PDF-документа необходимо создать одно миниатюрное изображение. Страница для эскиза может быть титульной страницей или любой другой страницей по вашему выбору. Ниже приведены шаги для создания эскиза нужной страницы PDF в Java.
- Загрузите файл PDF с помощью класса Document.
- Получить ссылку на нужную страницу из коллекции Document.getPages().
- Создайте новый FileOutputStream для файла изображения.
- Создайте экземпляр класса Resolution, чтобы задать разрешение миниатюры изображения.
- Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
- Создайте миниатюру, используя метод JpegDevice.process(Page, FileOutputStream).
- Закройте файловый поток.
В следующем примере кода показано, как создать эскиз файла PDF в Java.
// Загрузить PDF-документ
Document doc = new Document("input.pdf");
int pageIndex = 0;
// Получить страницу
Page page = doc.getPages().get_Item(pageIndex);
// Создать файловый поток для изображения
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// Создать объект разрешения
Resolution resolution = new Resolution(300);
// Создайте экземпляр JpegDevice и задайте высоту, ширину, разрешение и
// качество изображения
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Преобразование страницы и сохранение изображения в поток
jpegDevice.process(page, imageStream);
// Закрыть поток
try {
imageStream.close();
} catch (IOException e) {
// TODO Автоматически сгенерированный блок catch
e.printStackTrace();
}
Java Генерация миниатюр всех страниц в PDF
Ниже приведены шаги для создания эскизов для всех страниц в PDF на Java.
- Загрузите файл PDF с помощью класса Document.
- Прокрутите все страницы в PDF, используя коллекцию Document.getPages().
- На каждой итерации выполните следующие операции:
- Создайте новый FileOutputStream для файла изображения.
- Создайте экземпляр класса Resolution, чтобы задать разрешение миниатюры изображения.
- Создайте экземпляр JpegDevice и установите высоту, ширину, разрешение и качество изображения.
- Создайте миниатюру, используя метод JpegDevice.process(Page, FileOutputStream).
- Закройте файловый поток.
В следующем примере кода показано, как создать миниатюры для всех страниц в PDF.
// Загрузить PDF-документ
Document doc = new Document("input.pdf");
// Пролистывать страницы
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// Создать объект разрешения
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Преобразование определенной страницы и сохранение изображения в поток
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// Закрыть поток
try {
imageStream.close();
} catch (IOException e) {
// TODO Автоматически сгенерированный блок catch
e.printStackTrace();
}
}
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для Java без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как создавать миниатюры для файлов PDF в Java. Вы видели, как создать миниатюру определенной страницы или всех страниц в файле PDF. Кроме того, вы можете узнать больше о Java PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.