Base64 dizesi, verileri ASCII biçiminde gösterir. Satır içi görüntüleri ve diğer bilgileri HTML web sayfalarına veya stil sayfalarına gömmek için popülerdir. Bu yazıda, Base64 dizesini Java kullanarak PDF, JPG ve PNG’e nasıl dönüştüreceğimizi öğreneceğiz.

Java Base64 to PDF Converter API - Kurulum

Aspose.PDF for Java API JAR dosyalarını Sürümler bölümünden veya aşağıdaki Maven yapılandırmalarını kullanarak indirebilirsiniz:

Depo:

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

Bağımlılık:

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

Böylece Aspose.PDF for Java API yapılandırıldı. Bir Base64 dizisinin dönüştürülmesine geçmeden önce örnek verilere bir göz atalım:

Base64 Dönüşümü için Örnek Dize

Base64 dizesini buradan indirebilirsiniz.

Base64 Örnek Dizisinin Önizlemesi

Base64'ten PNG JPG'ye

Şimdi aşağıdaki Base64 dizi dönüştürme senaryolarına geçelim:

Base64 String’i Java kullanarak JPG veya PNG Image’e dönüştürün

JPG, PNG ve diğer resim türleri, güvenli ve güvenilir iletişim ve veri aktarımı için bazen Base64 dizisine kodlanır. Ayrıca, PDF dönüştürmeyi keşfetmeden önce, Java kullanarak bir Base64 dizisinin JPG veya PNG resimlerine dönüştürülmesini öğrenmemiz gerekiyor. Bu nedenle, dönüşüm için şu adımları izlemeniz gerekir:

  1. Uzun bir dize nedeniyle verileri bir TXT dosyasına kaydedin
  2. Dize değerini oku
  3. önekleri değiştir
  4. Base64 dizesini JPG veya PNG Görüntüsüne kaydedin

Aşağıdaki kod parçacığı, Java kullanılarak Base64 dizesinin bir JPG veya PNG görüntüsüne nasıl dönüştürüleceğini gösterir:

// Dize uzun olduğu için base64 dizesini TXT dosyasına kaydedin
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);

// Base64'ü JPG veya PNG Görüntüsüne Dönüştür
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();
}

Base64’ü Java kullanarak PDF’ye dönüştürün

Base64’ü PNG veya JPG resimlerine dönüştürmeyi öğrendik. Bu aslında Base64’ü PDF dosyasına dönüştürmenin bir ara adımıdır. Bir adım daha ileri gidelim. Dize raster görüntü olarak kaydedildiğinde, kolayca PDF’ye dönüştürebilirsiniz. Base64 dizisini PDF’ye dönüştürmek için aşağıdaki adımları takip edebilirsiniz:

  1. Base64 String’in öneklerini kaldırın
  2. Base64 dizesini PNG veya JPG görüntüsüne dönüştürün
  3. Ardından çıktı görüntüsünü PDF’ye dönüştürün

Bu nedenle, aşağıdaki kod parçacığı Base64 String’in Java dilini kullanarak PDF’ye nasıl dönüştürüleceğini gösterir:

// Dize uzun olduğu için base64 dizesini TXT dosyasına kaydedin
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";

// Base64'ü PNG veya JPG Resmine Dönüştür
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;
}

Çözüm

Özetlemek gerekirse, Base64 dizesini PDF, PNG ve JPG resimlerine nasıl dönüştüreceğimizi araştırdık. Java kullanmak Ayrıca, bir PDF dosyası oluşturmak, daha fazla dönüştürme için çok daha fazla seçenek açacaktır. Bir PDF dosyası gibi SVG, XPS, DOCX ve diğer birçok formata dönüştürülebilir. Diğer olasılıkları keşfetmekle ilgileniyor musunuz? Ücretsiz Destek Forumları aracılığıyla bunu bizimle tartışmaktan çekinmeyin.

Ayrıca bakınız