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
Ahora, pasemos a los siguientes escenarios de conversión de cadenas Base64:
- Convierta una cadena Base64 a una imagen JPG o PNG usando Java
- Convierta una cadena Base64 a un archivo PDF usando Java
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:
- Guarde los datos en un archivo TXT debido a una cadena larga
- Leer el valor de la cadena
- Reemplazar los prefijos
- 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:
- Eliminar prefijos de Base64 String
- Convierta la cadena Base64 a una imagen PNG o JPG
- 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.