La stringa Base64 mostra i dati nel formato ASCII. È popolare per incorporare immagini in linea e altre informazioni in pagine Web o fogli di stile HTML. In questo articolo impareremo come convertire la stringa Base64 in PDF, JPG e PNG usando Java.

API di conversione da Java Base64 a PDF - Installazione

Puoi scaricare i file JAR dell’API Aspose.PDF for Java dalla sezione Releses o utilizzando le seguenti configurazioni Maven:

Archivio:

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

Dipendenza:

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

Quindi è stato configurato Aspose.PDF per l’API Java. Prima di procedere alla conversione di una stringa Base64, diamo un’occhiata ai dati di esempio:

Esempio di stringa per la conversione Base64

Puoi scaricare la stringa Base64 da qui.

Anteprima della stringa di esempio Base64

Base64 in PNG JPG

Ora, passiamo ai seguenti scenari di conversione di stringhe Base64:

Converti la stringa Base64 in un’immagine JPG o PNG usando Java

JPG, PNG e altri tipi di immagini sono talvolta codificati in una stringa Base64 per comunicazioni e trasferimenti di dati sicuri e affidabili. Inoltre, prima di esplorare la conversione PDF, dobbiamo conoscere la conversione di una stringa Base64 in immagini JPG o PNG utilizzando Java. Pertanto, è necessario seguire questi passaggi per la conversione:

  1. Salva i dati in un file TXT a causa di una lunga stringa
  2. Leggi il valore della stringa
  3. Sostituisci i prefissi
  4. Salva la stringa Base64 nell’immagine JPG o PNG

Il seguente frammento di codice mostra come convertire la stringa Base64 in un’immagine JPG o PNG utilizzando Java:

// Salva la stringa base64 nel file TXT perché la stringa è lunga
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);

// Converti Base64 in un'immagine JPG o PNG
FileOutputStream fos = new FileOutputStream(dataDir + "Base64 to Image.jpg");
//FileOutputStream fos = nuovo FileOutputStream(dataDir + "Base64 to Image.png");
try {
    fos.write(imageBytes);
}
finally {
    fos.close();
}

Converti Base64 in PDF usando Java

Abbiamo imparato a convertire le immagini Base64 in PNG o JPG. Questo è in realtà un passaggio intermedio della conversione di Base64 in file PDF. Facciamo un altro passo avanti. Una volta che la stringa è stata salvata come immagine raster, puoi convertirla facilmente in PDF. Puoi seguire i passaggi seguenti per convertire la stringa Base64 in PDF:

  1. Rimuovere i prefissi di Base64 String
  2. Converti la stringa Base64 in un’immagine PNG o JPG
  3. Quindi converti l’immagine di output in PDF

Quindi il frammento di codice di seguito mostra come convertire Base64 String in PDF utilizzando il linguaggio Java:

// Salva la stringa base64 nel file TXT perché la stringa è lunga
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";

// Converti Base64 in un'immagine 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;
}

Conclusione

Per riassumere, abbiamo esplorato come convertire la stringa Base64 in immagini PDF, PNG e JPG. utilizzando Java Inoltre, la generazione di un file PDF aprirà molte più opzioni per ulteriori conversioni. Come un file PDF può essere convertito in SVG, XPS, DOCX e molti altri formati. Interessato ad esplorare altre possibilità? Non esitate a discuterne con noi tramite i forum di supporto gratuiti.

Guarda anche