Строка Base64 показывает данные в формате ASCII. Он популярен для встраивания встроенных изображений и другой информации в веб-страницы HTML или таблицы стилей. В этой статье мы узнаем, как преобразовать строку Base64 в PDF, JPG и PNG с помощью Java.

Java Base64 to PDF Converter API — Установка

Вы можете скачать JAR-файлы Aspose.PDF for Java API из раздела Releases или используя следующие конфигурации 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>20.7</version>
</dependency>

Итак, Aspose.PDF для Java API настроен. Прежде чем приступить к преобразованию строки Base64, давайте взглянем на пример данных:

Пример строки для преобразования Base64

Вы можете скачать строку Base64 отсюда 8.

Предварительный просмотр строки примера Base64

Base64 в PNG JPG

Теперь давайте перейдем к следующим сценариям преобразования строки Base64:

Преобразование строки Base64 в изображение JPG или PNG с использованием Java

JPG, PNG и другие виды изображений иногда кодируются в строку Base64 для безопасной и надежной связи и передачи данных. Более того, прежде чем мы рассмотрим преобразование PDF, нам нужно узнать о преобразовании строки Base64 в изображения JPG или PNG с использованием Java. Таким образом, вам необходимо выполнить следующие шаги для преобразования:

  1. Сохраните данные в файле TXT из-за длинной строки
  2. Прочитать строковое значение
  3. Замените префиксы
  4. Сохранить строку Base64 в изображение JPG или PNG

В следующем фрагменте кода показано, как преобразовать строку Base64 в изображение JPG или PNG с помощью Java:

// Сохранить строку base64 в файле TXT, потому что строка длинная
FileInputStream fis = new FileInputStream(dataDir + "base64.txt");
String base64 = IOUtils.toString(fis, "UTF-8");
String base64ImageString = base64.replace("data:image/png;base64,", "");
byte[] imageBytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(base64ImageString);

// Конвертировать Base64 в изображение JPG или PNG
FileOutputStream fos = new FileOutputStream(dataDir + "Base64 to Image.jpg");
//FileOutputStream fos = новый FileOutputStream(dataDir + "Base64 to Image.png");
try {
    fos.write(imageBytes);
}
finally {
    fos.close();
}

Преобразование Base64 в PDF с помощью Java

Мы узнали о преобразовании изображений Base64 в PNG или JPG. На самом деле это промежуточный этап преобразования файла Base64 в файл PDF. Давайте сделаем еще один шаг вперед. После сохранения строки в виде растрового изображения ее можно легко преобразовать в PDF. Вы можете выполнить следующие шаги для преобразования строки Base64 в PDF:

  1. Удалить префиксы строки Base64
  2. Преобразование строки Base64 в изображение PNG или JPG
  3. Затем конвертируйте выходное изображение в PDF

Таким образом, приведенный ниже фрагмент кода показывает, как преобразовать строку Base64 в PDF с помощью языка Java:

// Сохранить строку base64 в файле TXT, потому что строка длинная
FileInputStream fis = new FileInputStream(dataDir + "base64.txt");
String base64 = IOUtils.toString(fis, "UTF-8");
String base64ImageString = base64.replace("data:image/png;base64,", "");
byte[] imageBytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(base64ImageString);
String path = dataDir + "Base64 to Image.png";

// Конвертировать Base64 в изображение PNG или JPG
FileOutputStream fos = new FileOutputStream(path);
try {
    fos.write(imageBytes);
}
finally {
    fos.close();
}

BufferedImage readImage = null;
try {
	readImage = ImageIO.read(new File(path));
	int h = readImage.getHeight();
	int w = readImage.getWidth();
		
	com.aspose.pdf.Document doc = new com.aspose.pdf.Document();
	com.aspose.pdf.Page page = doc.getPages().add();
	com.aspose.pdf.Image image = new com.aspose.pdf.Image();
	image.setFile(path);
	page.getPageInfo().setHeight(h);
	page.getPageInfo().setWidth(w);
	page.getPageInfo().getMargin().setBottom(0);
	page.getPageInfo().getMargin().setTop(0);
	page.getPageInfo().getMargin().setRight(0);
	page.getPageInfo().getMargin().setLeft(0);
	page.getParagraphs().add(image);
	doc.save(dataDir + "Base64-to-PDF.pdf");
} catch (Exception e) {
	readImage = null;
}

Вывод

Подводя итог, мы рассмотрели, как преобразовать строку Base64 в изображения PDF, PNG и JPG. использование Java Кроме того, создание PDF-файла откроет гораздо больше возможностей для дальнейшего преобразования. Например, файл PDF можно преобразовать в SVG, XPS, DOCX и многие другие форматы. Хотите изучить другие возможности? Не стесняйтесь обсуждать это с нами на бесплатных форумах поддержки.

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