Как конвертировать GIF в PDF на Java

Как конвертировать 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.

Вы можете выполнить шаги и фрагмент кода, приведенный ниже:

  1. Создайте экземпляр класса Document.
  2. Инициализирует объект класса DocumentBuilder и привязывает объект Document.
  3. Теперь загрузите исходный GIF-файл и создайте поток изображения, вызвав метод createImageInputStream, который получает входные данные от объекта File.
  4. Создайте объект класса ImageReader, получите доступ к методу getImageReaders, который возвращает Iterator, содержащий все зарегистрированные в настоящее время ImageReaders, которые утверждают, что могут декодировать предоставленный объект, обычно ImageInputStream.
  5. Вызовите метод setInput, который устанавливает источник ввода для использования с данным ImageInputStream или другим объектом.
  6. Получите количество кадров в изображении, вызвав метод getNumImages.
  7. Перебрать все кадры.
  8. Вставьте разрыв раздела перед каждой новой страницей, в случае многокадрового изображения, вызвав метод insertBreak.
  9. Выберите активный фрейм, вызвав метод read.
  10. Получите текущую настройку страницы, вызвав метод getPageSetup и назначив его объекту класса PageSetup.
  11. Вызовите метод setPageWidth, чтобы задать ширину страницы.
  12. Метод setPageHeight сохранит высоту страницы.
  13. Вызовите метод insertImage, чтобы вставить изображение в документ и расположить его в верхнем левом углу страницы.
  14. Сохраните файл в формате 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");

Результат можно увидеть на изображении ниже:

Конвертер GIF в PDF

Получить бесплатную лицензию

Вы можете воспользоваться бесплатной временной лицензией, чтобы попробовать API без ограничений на пробную версию.

Подведение итогов

Мы заканчиваем этот пост в блоге здесь. вы узнали, как преобразовать GIF в PDF на Java, используя несколько строк исходного кода. Кроме того, вы можете установить эту библиотеку обработки документов, чтобы программно создать конвертер GIF в PDF. Кроме того, вы можете посетить документацию, чтобы узнать о других интересных функциях.

Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.

Наконец, conholdate.com пишет новые сообщения в блоге. Поэтому, пожалуйста, оставайтесь на связи для получения регулярных обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Часто задаваемые вопросы

Как преобразовать GIF в PDF?

Вы можете выполнить преобразование GIF в PDF программно, используя эту Java библиотеку. Кроме того, посетите эту ссылка, чтобы получить фрагмент кода.

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