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
Ora, passiamo ai seguenti scenari di conversione di stringhe Base64:
- Converti la stringa Base64 in un’immagine JPG o PNG usando Java
- Converti la stringa Base64 in file PDF utilizzando Java
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:
- Salva i dati in un file TXT a causa di una lunga stringa
- Leggi il valore della stringa
- Sostituisci i prefissi
- 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:
- Rimuovere i prefissi di Base64 String
- Converti la stringa Base64 in un’immagine PNG o JPG
- 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.