Strängen Base64 visar data i formatet ASCII. Det är populärt att bädda in inline-bilder och annan information i HTML-webbsidor eller stilmallar. I den här artikeln kommer vi att lära oss hur man konverterar Base64-strängen till PDF, JPG och PNG med Java.
Java Base64 till PDF Converter API - Installation
Du kan ladda ner JAR-filerna för Aspose.PDF for Java API från avsnittet Releases eller använda följande Maven-konfigurationer:
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.7</version>
</dependency>
Så Aspose.PDF för Java API har konfigurerats. Innan vi fortsätter med konverteringen av en Base64-sträng, låt oss ta en titt på exempeldata:
Exempelsträng för Base64-konvertering
Du kan ladda ner Base64-strängen från här.
Förhandsvisning av Base64-exempelsträngen
Låt oss nu gå vidare till följande Base64-strängkonverteringsscenarier:
- Konvertera Base64-sträng till JPG- eller PNG-bild med Java
- Konvertera Base64 String till PDF-fil med Java
Konvertera Base64-sträng till JPG- eller PNG-bild med Java
JPG, PNG och andra typer av bilder kodas ibland till Base64-strängen för säker och pålitlig kommunikation och överföring av data. Innan vi utforskar PDF-konvertering måste vi dessutom lära oss om konverteringen av en Base64-sträng till JPG- eller PNG-bilder med Java. Därför måste du följa dessa steg för konverteringen:
- Spara data i en TXT-fil på grund av en lång sträng
- Läs strängvärdet
- Byt ut prefixen
- Spara Base64-strängen till JPG- eller PNG-bild
Följande kodsnutt visar hur man konverterar Base64-strängen till en JPG- eller PNG-bild med Java:
// Spara base64-sträng i TXT-fil eftersom strängen är lång
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);
// Konvertera Base64 till JPG- eller PNG-bild
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();
}
Konvertera Base64 till PDF med Java
Vi har lärt oss om att konvertera Base64 till PNG- eller JPG-bilder. Detta är faktiskt ett mellansteg för att konvertera Base64 till PDF-fil. Låt oss gå ytterligare ett steg längre. När strängen har sparats som en rasterbild kan du enkelt konvertera den till PDF. Du kan följa stegen nedan för att konvertera Base64-strängen till PDF:
- Ta bort prefix för Base64 String
- Konvertera Base64-sträng till PNG- eller JPG-bild
- Konvertera sedan utdatabilden till PDF
Så kodavsnittet nedan visar hur man konverterar Base64 String till PDF med Java-språk:
// Spara base64-sträng i TXT-fil eftersom strängen är lång
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";
// Konvertera Base64 till PNG- eller JPG-bild
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;
}
Slutsats
För att sammanfatta har vi utforskat hur man konverterar Base64-strängen till PDF-, PNG- och JPG-bilder. använda Java Dessutom kommer generering av en PDF-fil att öppna upp för många fler alternativ för ytterligare konvertering. Som att en PDF-fil kan konverteras till SVG, XPS, DOCX och många andra format. Intresserad av att utforska andra möjligheter? Tveka inte att diskutera detta med oss via gratis supportforum.