Base64 字符串顯示 ASCII 格式的數據。它在 HTML 網頁或樣式表中嵌入內聯圖像和其他信息很受歡迎。在本文中,我們將學習如何使用 Java 將 Base64 字符串轉換為 PDFJPGPNG

Java Base64 to PDF Converter API - 安裝

您可以從 Releases 部分下載 Aspose.PDF for Java API 的 JAR 文件,或使用以下 Maven 配置:

存儲庫:

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

依賴:

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

這樣 Aspose.PDF for Java API 就配置好了。在繼續進行 Base64 字符串的轉換之前,讓我們看一下示例數據:

Base64 轉換的示例字符串

您可以從 此處 下載 Base64 字符串。

Base64 示例字符串預覽

Base64 轉 PNG JPG

現在,讓我們繼續下面的Base64字符串轉換場景:

使用 Java 將 Base64 字符串轉換為 JPG 或 PNG 圖像

JPG、PNG 和其他類型的圖像有時會編碼為 Base64 字符串,以實現安全可靠的數據通信和傳輸。此外,在探索 PDF 轉換之前,我們需要了解使用 Java 將 Base64 字符串轉換為 JPG 或 PNG 圖像。因此,您需要按照以下步驟進行轉換:

  1. 由於字符串較長,所以將數據保存在TXT文件中
  2. 讀取字符串值
  3. 替換前綴
  4. 將 Base64 字符串保存為 JPG 或 PNG 圖片

以下代碼片段顯示瞭如何使用 Java 將 Base64 字符串轉換為 JPG 或 PNG 圖像:

// 將base64字符串保存在TXT文件中,因為字符串很長
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 或 PNG 圖片
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();
}

使用 Java 將 Base64 轉換為 PDF

我們已經了解瞭如何將 Base64 轉換為 PNG 或 JPG 圖像。這實際上是將 Base64 轉換為 PDF 文件的中間步驟。讓我們更進一步。將字符串保存為光柵圖像後,您可以輕鬆地將其轉換為 PDF。您可以按照以下步驟將 Base64 字符串轉換為 PDF:

  1. 去除 Base64 字符串的前綴
  2. 將 Base64 字符串轉換為 PNG 或 JPG 圖片
  3. 然後將輸出圖像轉換為PDF

所以下面的代碼片段顯示瞭如何使用 Java 語言將 Base64 String 轉換為 PDF:

// 將base64字符串保存在TXT文件中,因為字符串很長
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 或 JPG 圖片
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;
}

結論

綜上所述,我們探索瞭如何將 Base64 字符串轉換為 PDF、PNG 和 JPG 圖片。使用 Java 此外,生成 PDF 文件將為進一步轉換打開更多選項。像 PDF 文件可以轉換為 SVG、XPS、DOCX 和許多其他格式。有興趣探索其他可能性嗎?不要猶豫,通過免費支持論壇與我們討論這個問題。

也可以看看