
Преобразование PNG в PDF с помощью Java
PNG и PDF являются популярными и наиболее широко используемыми форматами файлов на текущий момент времени. PNG — это формат файла изображения, тогда как PDF (Portable Document Format) предлагает надежное и эффективное представление данных. В некоторых случаях вам необходимо преобразовать формат файла изображения в PDF. Поэтому в этом сообщении блога мы узнаем, как конвертировать PNG в PDF с помощью Java PDF API. Мы напишем фрагмент кода и шаги для выполнения этого преобразования в приложении Java.
В этой статье мы рассмотрим следующие темы:
Java-библиотека PDF
Эта библиотека Java PDF проста в установке и содержит документацию по установке. Это API корпоративного уровня, который предлагает надежные функции преобразования и манипулирования. Однако вы можете скачать JAR или установить его, используя следующие конфигурации 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-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
Преобразование PNG в PDF с помощью Java
Мы собираемся использовать классы и методы, предоставляемые этой библиотекой Java PDF. Он позволяет выполнять преобразование PNG в PDF, написав несколько строк исходного кода на Java.
Вы можете выполнить шаги и фрагмент кода, указанные ниже:
- Создайте экземпляр класса Document.
- Создайте объект класса DocumentBuilder, чтобы упростить добавление содержимого в документ.
- Загрузите файл входного изображения, вызвав метод createImageInputStream и назначив его объекту ImageInputStream.
- Вызовите метод getImageReaders, который возвращает Iterator, содержащий все зарегистрированные на данный момент ImageReaders, и присваивает его объекту класса ImageReader.
- Вызовите метод setInput, который устанавливает источник ввода для использования с данным ImageInputStream.
- Получите количество кадров в изображении, вызвав метод getNumImages.
- Перебрать все кадры.
- Выберите активный кадр и назначьте его объекту класса BufferedImage.
- Вызовите метод getPageSetup, чтобы получить доступ к текущей настройке страницы и назначить ее объекту класса PageSetup.
- Установите высоту страницы, вызвав метод setPageWidth.
- Вызовите метод setPageHeight, чтобы установить ширину страницы.
- Вставьте изображение в документ и расположите его в левом верхнем углу страницы, вызвав метод insertImage.
- Сохраните файл в формате PDF, вызвав метод save.
public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {
// Создать экземпляр класса Document
Document doc = new Document();
// Создайте объект класса DocumentBuilder, чтобы упростить добавление содержимого в документ.
DocumentBuilder builder = new DocumentBuilder(doc);
// Загрузите изображения с диска, используя соответствующий ридер.
// Форматы файлов, которые можно загрузить, зависят от программ чтения изображений, доступных на машине.
// Загрузите файл входного изображения, вызвав метод createImageInputStream, и назначьте его объекту ImageInputStream.
ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
// Вызовите метод getImageReaders, который возвращает Iterator, содержащий все зарегистрированные на данный момент ImageReaders, и назначает его объекту класса ImageReader.
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++) {
// Вставляйте разрыв раздела перед каждой новой страницей, если изображение состоит из нескольких кадров.
if (frameIdx != 0)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
// Выберите активный кадр и назначьте его объекту класса BufferedImage
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(outputFileName);
}
Вы можете увидеть результат на изображении ниже:

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