Создание миниатюр для PDF-файлов в C#

При встраивании документов PDF в веб-приложение может потребоваться создание эскиза. В других сценариях, например при создании средства просмотра PDF, может потребоваться создать миниатюру для каждой страницы в PDF. В этой статье мы покажем вам, как создавать эскизы страниц PDF в Java. Мы подробно расскажем, как создать миниатюру определенной страницы или всех страниц в файле 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, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также