La cadena Base64 muestra datos en formato ASCII. Es popular para incrustar imágenes en línea y otra información en páginas web HTML u hojas de estilo. En este artículo, aprenderemos cómo convertir la cadena Base64 a PDF, JPG y PNG usando Java.

API de conversión de Java Base64 a PDF - Instalación

Puede descargar los archivos JAR de Aspose.PDF for Java API desde la sección Lanzamientos, o usando las siguientes configuraciones de Maven:

Repositorio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Dependencia:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

Así que se ha configurado Aspose.PDF for Java API. Antes de continuar con la conversión de una cadena Base64, echemos un vistazo a los datos de muestra:

Cadena de ejemplo para conversión Base64

Puede descargar la cadena Base64 desde aquí.

Vista previa de la cadena de ejemplo Base64

Base64 a PNG JPG

Ahora, pasemos a los siguientes escenarios de conversión de cadenas Base64:

Convierta una cadena Base64 a una imagen JPG o PNG usando Java

JPG, PNG y otros tipos de imágenes a veces se codifican en una cadena Base64 para una comunicación y transferencia de datos segura y confiable. Además, antes de explorar la conversión de PDF, debemos aprender sobre la conversión de una cadena Base64 a imágenes JPG o PNG usando Java. Por lo tanto, debe seguir estos pasos para la conversión:

  1. Guarde los datos en un archivo TXT debido a una cadena larga
  2. Leer el valor de la cadena
  3. Reemplazar los prefijos
  4. Guarde la cadena Base64 en una imagen JPG o PNG

El siguiente fragmento de código muestra cómo convertir una cadena Base64 en una imagen JPG o PNG usando Java:

// Guarde la cadena base64 en el archivo TXT porque la cadena es larga
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);

// Convertir Base64 a imagen JPG o 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();
}

Convierta Base64 a PDF usando Java

Hemos aprendido a convertir Base64 a imágenes PNG o JPG. Este es en realidad un paso intermedio para convertir Base64 a un archivo PDF. Avancemos un paso más. Una vez que la cadena se guarda como una imagen rasterizada, puede convertirla fácilmente a PDF. Puede seguir los pasos a continuación para convertir la cadena Base64 a PDF:

  1. Eliminar prefijos de Base64 String
  2. Convierta la cadena Base64 a una imagen PNG o JPG
  3. Luego convierta la imagen de salida a PDF

Entonces, el fragmento de código a continuación muestra cómo convertir Base64 String a PDF usando el lenguaje Java:

// Guarde la cadena base64 en el archivo TXT porque la cadena es larga
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";

// Convertir Base64 a imagen PNG o 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;
}

Conclusión

En resumen, hemos explorado cómo convertir la cadena Base64 a imágenes PDF, PNG y JPG. usando Java Además, generar un archivo PDF abrirá muchas más opciones para una mayor conversión. Al igual que un archivo PDF, se puede convertir a SVG, XPS, DOCX y muchos otros formatos. ¿Interesado en explorar otras posibilidades? No dude en hablar de esto con nosotros a través de los foros de soporte gratuitos.

Ver también