A string Base64 mostra os dados no formato ASCII. É popular para incorporar imagens embutidas e outras informações em páginas da Web em HTML ou folhas de estilo. Neste artigo, aprenderemos como converter a string Base64 para PDF, JPG e PNG usando Java.
Java Base64 para API do Conversor de PDF - Instalação
Você pode baixar os arquivos JAR da API Aspose.PDF for Java da seção Releases, ou usando as seguintes configurações do Maven:
Repositório:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository
Dependência:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.7</version>
</dependency>
Então Aspose.PDF para Java API foi configurado. Antes de prosseguir para a conversão de uma string Base64, vamos dar uma olhada nos dados de exemplo:
String de exemplo para conversão Base64
Você pode baixar a string Base64 de aqui.
Visualização da string de exemplo Base64
Agora, vamos prosseguir para os seguintes cenários de conversão de string Base64:
- Converter String Base64 para imagem JPG ou PNG usando Java
- Converter string Base64 em arquivo PDF usando Java
Converter String Base64 para imagem JPG ou PNG usando Java
JPG, PNG e outros tipos de imagens às vezes são codificados na string Base64 para comunicação segura e confiável e transferência de dados. Além disso, antes de explorarmos a conversão de PDF, precisamos aprender sobre a conversão de uma string Base64 para imagens JPG ou PNG usando Java. Portanto, você precisa seguir estas etapas para a conversão:
- Salve os dados em um arquivo TXT devido a uma longa string
- Leia o valor da string
- Substitua os prefixos
- Salvar string Base64 em imagem JPG ou PNG
O trecho de código a seguir mostra como converter a string Base64 em uma imagem JPG ou PNG usando Java:
// Salve a string base64 no arquivo TXT porque a string é longa
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);
// Converter Base64 para imagem JPG ou PNG
FileOutputStream fos = new FileOutputStream(dataDir + "Base64 to Image.jpg");
//FileOutputStream fos = new FileOutputStream(dataDir + "Base64 to Image.png");
try {
fos.write(imageBytes);
}
finally {
fos.close();
}
Converter Base64 para PDF usando Java
Aprendemos sobre como converter as imagens Base64 em PNG ou JPG. Esta é realmente uma etapa intermediária de conversão de arquivo Base64 para PDF. Vamos avançar mais um passo. Depois que a string for salva como uma imagem raster, você poderá convertê-la facilmente em PDF. Você pode seguir as etapas abaixo para converter a string Base64 em PDF:
- Remova os prefixos da String Base64
- Converter string Base64 em imagem PNG ou JPG
- Em seguida, converta a imagem de saída em PDF
Portanto, o trecho de código abaixo mostra como converter String Base64 em PDF usando a linguagem Java:
// Salve a string base64 no arquivo TXT porque a string é longa
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";
// Converter Base64 para imagem PNG ou 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;
}
Conclusão
Para resumir, exploramos como converter a string Base64 em imagens PDF, PNG e JPG. usando Java Além disso, gerar um arquivo PDF abrirá muito mais opções para conversão posterior. Como um arquivo PDF pode ser convertido para SVG, XPS, DOCX e muitos outros formatos. Interessado em explorar outras possibilidades? Não hesite em discutir isso conosco através dos Fóruns de Suporte Gratuito.