Řetězec Base64 zobrazuje data ve formátu ASCII. Je populární pro vkládání vložených obrázků a dalších informací do HTML webových stránek nebo stylů. V tomto článku se naučíme, jak převést řetězec Base64 na PDF, JPG a PNG pomocí Java.

Java Base64 to PDF Converter API – instalace

Soubory JAR Aspose.PDF for Java API si můžete stáhnout ze sekce Releases nebo pomocí následujících konfigurací Maven:

úložiště:

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

Závislost:

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

Takže Aspose.PDF for Java API bylo nakonfigurováno. Než přistoupíme k převodu řetězce Base64, podívejme se na ukázková data:

Příklad řetězce pro konverzi Base64

Řetězec Base64 si můžete stáhnout z zde.

Náhled ukázkového řetězce Base64

Base64 až PNG JPG

Nyní přejdeme k následujícím scénářům převodu řetězce Base64:

Převeďte řetězec Base64 na obrázek JPG nebo PNG pomocí Java

JPG, PNG a další druhy obrázků jsou někdy kódovány do řetězce Base64 pro bezpečnou a spolehlivou komunikaci a přenos dat. Kromě toho, než prozkoumáme převod PDF, musíme se dozvědět o převodu řetězce Base64 na obrázky JPG nebo PNG pomocí Java. Pro převod je tedy třeba postupovat podle těchto kroků:

  1. Kvůli dlouhému řetězci uložte data do souboru TXT
  2. Přečtěte si hodnotu řetězce
  3. Nahraďte předpony
  4. Uložte řetězec Base64 do obrázku JPG nebo PNG

Následující fragment kódu ukazuje, jak převést řetězec Base64 na obrázek JPG nebo PNG pomocí Java:

// Uložte řetězec base64 do souboru TXT, protože řetězec je dlouhý
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);

// Převést Base64 na JPG nebo PNG obrázek
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();
}

Převeďte Base64 do PDF pomocí Java

Dozvěděli jsme se o převodu Base64 na obrázky PNG nebo JPG. Toto je vlastně mezikrok převodu Base64 do souboru PDF. Pojďme o další krok dále. Jakmile je řetězec uložen jako rastrový obrázek, můžete jej snadno převést do PDF. Pro převod řetězce Base64 do PDF můžete postupovat podle níže uvedených kroků:

  1. Odstraňte předpony řetězce Base64
  2. Převeďte řetězec Base64 na obrázek PNG nebo JPG
  3. Poté převeďte výstupní obrázek do PDF

Níže uvedený fragment kódu tedy ukazuje, jak převést Base64 String do PDF pomocí jazyka Java:

// Uložte řetězec base64 do souboru TXT, protože řetězec je dlouhý
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";

// Převést Base64 na PNG nebo JPG obrázek
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ávěr

Abychom to shrnuli, prozkoumali jsme, jak převést řetězec Base64 na obrázky PDF, PNG a JPG. pomocí Java Generování PDF souboru navíc otevře mnohem více možností pro další konverzi. Stejně jako soubor PDF lze převést do SVG, XPS, DOCX a mnoha dalších formátů. Máte zájem prozkoumat další možnosti? Neváhejte a proberte to s námi prostřednictvím bezplatných fór podpory.

Viz také