Строка 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:
- Преобразование строки Base64 в изображение JPG или PNG с использованием Java
- Преобразование строки Base64 в файл PDF с использованием Java
Преобразование строки Base64 в изображение JPG или PNG с использованием Java
JPG, PNG и другие виды изображений иногда кодируются в строку Base64 для безопасной и надежной связи и передачи данных. Более того, прежде чем мы рассмотрим преобразование PDF, нам нужно узнать о преобразовании строки Base64 в изображения JPG или PNG с использованием Java. Таким образом, вам необходимо выполнить следующие шаги для преобразования:
- Сохраните данные в файле TXT из-за длинной строки
- Прочитать строковое значение
- Замените префиксы
- Сохранить строку 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:
- Удалить префиксы строки Base64
- Преобразование строки Base64 в изображение PNG или JPG
- Затем конвертируйте выходное изображение в 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 и многие другие форматы. Хотите изучить другие возможности? Не стесняйтесь обсуждать это с нами на бесплатных форумах поддержки.