Створення мініатюр для файлів 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 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 for Java без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створювати мініатюри для PDF-файлів у Java. Ви бачили, як створити мініатюру окремої сторінки або всіх сторінок у файлі PDF. Крім того, ви можете дізнатися більше про Java PDF API за допомогою документації. Якщо у вас виникнуть запитання чи запити, ви можете зв’язатися з нами через наш форум.

Дивись також