
Как конвертировать GIF в PDF на Java
Формат файла PDF — один из самых популярных векторных файлов. С другой стороны, GIF основан на растровых изображениях и предлагает много возможностей для демонстрации изображений в виде анимации. В этом сообщении блога вы узнаете, как конвертировать GIF в PDF в приложении Java. Поэтому вы установите эту обработку документов библиотека для программного создания конвертера GIF в PDF. Автоматизация процесса преобразования GIF в PDF определенно даст вашему бизнес-приложению конкурентное преимущество.
Вы пройдете следующие пункты:
Преобразование GIF в PDF — установка API
Эту библиотеку обработки документов очень просто установить в ваш проект Java. Однако вы можете скачать файл JAR или установить эту библиотеку, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>22.10</version>
<classifier>jdk17</classifier>
</dependency>
Как конвертировать GIF в PDF на Java
После установки библиотеки вы можете приступить к написанию исходного кода для программного создания конвертера GIF в PDF.
Вы можете выполнить шаги и фрагмент кода, приведенный ниже:
- Создайте экземпляр класса Document.
- Инициализирует объект класса DocumentBuilder и привязывает объект Document.
- Теперь загрузите исходный GIF-файл и создайте поток изображения, вызвав метод createImageInputStream, который получает входные данные от объекта File.
- Создайте объект класса ImageReader, получите доступ к методу getImageReaders, который возвращает Iterator, содержащий все зарегистрированные в настоящее время ImageReaders, которые утверждают, что могут декодировать предоставленный объект, обычно ImageInputStream.
- Вызовите метод setInput, который устанавливает источник ввода для использования с данным ImageInputStream или другим объектом.
- Получите количество кадров в изображении, вызвав метод getNumImages.
- Перебрать все кадры.
- Вставьте разрыв раздела перед каждой новой страницей, в случае многокадрового изображения, вызвав метод insertBreak.
- Выберите активный фрейм, вызвав метод read.
- Получите текущую настройку страницы, вызвав метод getPageSetup и назначив его объекту класса PageSetup.
- Вызовите метод setPageWidth, чтобы задать ширину страницы.
- Метод setPageHeight сохранит высоту страницы.
- Вызовите метод insertImage, чтобы вставить изображение в документ и расположить его в верхнем левом углу страницы.
- Сохраните файл в формате PDF, вызвав метод save.
Скопируйте и вставьте следующий код в основной файл:
// Создайте экземпляр класса Document.
Document doc = new Document();
// Инициализирует объект класса DocumentBuilder и привязывает объект Document.
DocumentBuilder builder = new DocumentBuilder(doc);
// Теперь загрузите исходный файл GIF и создайте поток изображения, вызвав метод createImageInputStream, который принимает входные данные из объекта File.
ImageInputStream iis = ImageIO.createImageInputStream(new File("sample.gif"));
// Создайте объект класса ImageReader. Получите доступ к методу getImageReaders, который возвращает Iterator, содержащий все зарегистрированные в настоящее время ImageReaders, которые утверждают, что могут декодировать предоставленный объект, обычно ImageInputStream.
ImageReader reader = ImageIO.getImageReaders(iis).next();
// Вызовите метод setInput, который устанавливает источник ввода для использования с данным ImageInputStream или другим объектом.
reader.setInput(iis, false);
// Получите количество кадров в изображении, вызвав метод getNumImages.
int framesCount = reader.getNumImages(true);
// Перебрать все кадры.
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
// Вставьте разрыв раздела перед каждой новой страницей, в случае многокадрового изображения, вызвав метод insertBreak.
if (frameIdx != 0)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
// Выберите активный кадр, вызвав метод чтения.
BufferedImage image = reader.read(frameIdx);
// Получите текущую настройку страницы, вызвав метод getPageSetup и назначив его объекту класса PageSetup.
PageSetup ps = builder.getPageSetup();
// Вызовите метод setPageWidth, чтобы установить ширину страницы.
ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
// Метод setPageHeight сохранит высоту страницы.
ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
// Вызовите метод insertImage, чтобы вставить изображение в документ и расположить его в верхнем левом углу страницы.
builder.insertImage(
image,
RelativeHorizontalPosition.PAGE,
0,
RelativeVerticalPosition.PAGE,
0,
ps.getPageWidth(),
ps.getPageHeight(),
WrapType.NONE);
}
if (iis != null) {
iis.close();
reader.dispose();
}
// Сохраните файл в формате PDF, вызвав метод сохранения.
doc.save("gifToPdf.pdf");
Результат можно увидеть на изображении ниже:

Получить бесплатную лицензию
Вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать API без ограничений на пробную версию.
Подведение итогов
Мы заканчиваем этот пост в блоге здесь. вы узнали, как преобразовать GIF в PDF на Java, используя несколько строк исходного кода. Кроме того, вы можете установить эту библиотеку обработки документов, чтобы программно создать конвертер GIF в PDF. Кроме того, вы можете посетить документацию, чтобы узнать о других интересных функциях.
Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.
Наконец, conholdate.com пишет новые сообщения в блоге. Поэтому, пожалуйста, оставайтесь на связи для получения регулярных обновлений.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.
Часто задаваемые вопросы
Как преобразовать GIF в PDF?
Вы можете выполнить преобразование GIF в PDF программно, используя эту Java библиотеку. Кроме того, посетите эту ссылка, чтобы получить фрагмент кода.