La chaîne Base64 affiche les données au format ASCII. Il est populaire pour intégrer des images en ligne et d’autres informations dans des pages Web HTML ou des feuilles de style. Dans cet article, nous allons apprendre à convertir la chaîne Base64 en PDF, JPG et PNG en utilisant Java.

API de conversion Java Base64 en PDF - Installation

Vous pouvez télécharger les fichiers JAR de l’API Aspose.PDF for Java à partir de la section Releases ou en utilisant les configurations Maven suivantes :

Repository:

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

Dependency:

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

L’API Aspose.PDF for Java a donc été configurée. Avant de procéder à la conversion d’une chaîne Base64, examinons des exemples de données :

Exemple de chaîne pour la conversion Base64

Vous pouvez télécharger la chaîne Base64 à partir de ici.

Aperçu de l’exemple de chaîne Base64

Base64 en PNG JPG

Passons maintenant aux scénarios de conversion de chaînes Base64 suivants :

Convertir une chaîne Base64 en image JPG ou PNG à l’aide de Java

JPG, PNG et d’autres types d’images sont parfois encodés en chaîne Base64 pour une communication et un transfert de données sûrs et fiables. De plus, avant d’explorer la conversion PDF, nous devons en savoir plus sur la conversion d’une chaîne Base64 en images JPG ou PNG à l’aide de Java. Par conséquent, vous devez suivre ces étapes pour la conversion :

  1. Enregistrer les données dans un fichier TXT en raison d’une longue chaîne
  2. Lire la valeur de la chaîne
  3. Remplacer les préfixes
  4. Enregistrer la chaîne Base64 au format JPG ou PNG Image

L’extrait de code suivant montre comment convertir une chaîne Base64 en une image JPG ou PNG à l’aide de Java :

// Enregistrer la chaîne base64 dans le fichier TXT car la chaîne est longue
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 en image 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();
}

Convertir Base64 en PDF en utilisant Java

Nous avons appris à convertir les images Base64 en PNG ou JPG. Il s’agit en fait d’une étape intermédiaire de la conversion de Base64 en fichier PDF. Avançons encore un peu plus loin. Une fois la chaîne enregistrée en tant qu’image raster, vous pouvez facilement la convertir en PDF. Vous pouvez suivre les étapes ci-dessous pour convertir une chaîne Base64 en PDF :

  1. Supprimer les préfixes de Base64 String
  2. Convertir une chaîne Base64 en image PNG ou JPG
  3. Ensuite, convertissez l’image de sortie en PDF

Ainsi, l’extrait de code ci-dessous montre comment convertir une chaîne Base64 en PDF en utilisant le langage Java :

// Enregistrer la chaîne base64 dans le fichier TXT car la chaîne est longue
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 en image 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;
}

Conclusion

Pour résumer, nous avons exploré comment convertir la chaîne Base64 en images PDF, PNG et JPG. en utilisant Java De plus, la génération d’un fichier PDF ouvrira beaucoup plus d’options pour une conversion ultérieure. Comme un fichier PDF peut être converti en SVG, XPS, DOCX et de nombreux autres formats. Intéressé à explorer d’autres possibilités? N’hésitez pas à en discuter avec nous via les forums d’assistance gratuits.

Voir également