Die Zeichenfolge Base64 zeigt Daten im Format ASCII an. Es ist beliebt zum Einbetten von Inline Bildern und anderen Informationen in HTML Webseiten oder Stylesheets. In diesem Artikel erfahren Sie, wie Sie den Base64-String mit Java in PDF, JPG und PNG konvertieren.

Java Base64 to PDF Converter API – Installation

Sie können die JAR Dateien der API Aspose.PDF for Java aus dem Abschnitt Releases herunterladen oder die folgenden Maven konfigurationen verwenden:

Repository:

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

Abhängigkeit:

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

Daher wurde Aspose.PDF for Java API konfiguriert. Bevor wir mit der Konvertierung eines Base64-Strings fortfahren, werfen wir einen Blick auf Beispieldaten:

Beispielzeichenfolge für die Base64-Konvertierung

Sie können den Base64-String hier herunterladen.

Vorschau der Base64-Beispielzeichenfolge

Base64 zu PNG JPG

Lassen Sie uns nun mit den folgenden Base64-String-Konvertierungsszenarien fortfahren:

Konvertieren Sie den Base64-String mit Java in ein JPG oder PNG Bild

JPG, PNG und andere Arten von Bildern werden manchmal für eine sichere und zuverlässige Kommunikation und Datenübertragung in eine Base64-Zeichenfolge codiert. Bevor wir uns mit der PDF Konvertierung befassen, müssen wir außerdem etwas über die Konvertierung einer Base64-Zeichenfolge in JPG oder PNG Bilder mit Java lernen. Daher müssen Sie für die Konvertierung diese Schritte befolgen:

  1. Speichern Sie die Daten wegen einer langen Zeichenfolge in einer TXT Datei
  2. Lesen Sie den Zeichenfolgenwert
  3. Ersetzen Sie die Präfixe
  4. Base64-String als JPG oder PNG Bild speichern

Das folgende code snippet zeigt, wie Sie eine Base64-Zeichenfolge mit Java in ein JPG oder PNG Bild konvertieren:

// Speichern Sie die base64-Zeichenfolge in der TXT Datei, da die Zeichenfolge lang ist
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);

// Konvertieren Sie Base64 in ein JPG oder 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();
}

Konvertieren Sie Base64 mit Java in PDF

Wir haben gelernt, Base64 in PNG oder JPG Bilder umzuwandeln. Dies ist eigentlich ein Zwischenschritt beim Konvertieren von Base64 in eine PDF Datei. Gehen wir noch einen Schritt weiter. Sobald die Zeichenfolge als Rasterbild gespeichert ist, können Sie sie einfach in PDF konvertieren. Sie können die folgenden Schritte zum Konvertieren von Base64-Strings in PDF befolgen:

  1. Entfernen Sie die Präfixe der Base64-Zeichenfolge
  2. Konvertieren Sie den Base64-String in ein PNG oder JPG Bild
  3. Konvertieren Sie dann das Ausgabebild in PDF

Das folgende code snippet zeigt also, wie man Base64-String mit Java-Sprache in PDF konvertiert:

// Speichern Sie die base64-Zeichenfolge in der TXT Datei, da die Zeichenfolge lang ist
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";

// Konvertieren Sie Base64 in ein PNG oder 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;
}

Fazit

Zusammenfassend haben wir untersucht, wie Sie die Base64-Zeichenfolge in PDF, PNG und JPG Bilder konvertieren. Verwendung von Java Darüber hinaus eröffnet die Generierung einer PDF Datei viel mehr Optionen für die weitere Konvertierung. Wie eine PDF Datei kann sie in SVG, XPS, DOCX und viele andere Formate konvertiert werden. Interessiert, andere Möglichkeiten zu erkunden? Zögern Sie nicht, dies über kostenlose Support-Foren mit uns zu besprechen.

Siehe auch