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

Base64 till PNG JPG

Låt oss nu gå vidare till följande Base64-strängkonverteringsscenarier:

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:

  1. Spara data i en TXT-fil på grund av en lång sträng
  2. Läs strängvärdet
  3. Byt ut prefixen
  4. 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:

  1. Ta bort prefix för Base64 String
  2. Konvertera Base64-sträng till PNG- eller JPG-bild
  3. 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.

Se även