Base64 字符串顯示 ASCII 格式的數據。它在 HTML 網頁或樣式表中嵌入內聯圖像和其他信息很受歡迎。在本文中,我們將學習如何使用 Java 將 Base64 字符串轉換為 PDF、JPG 和 PNG。
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字符串轉換場景:
使用 Java 將 Base64 字符串轉換為 JPG 或 PNG 圖像
JPG、PNG 和其他類型的圖像有時會編碼為 Base64 字符串,以實現安全可靠的數據通信和傳輸。此外,在探索 PDF 轉換之前,我們需要了解使用 Java 將 Base64 字符串轉換為 JPG 或 PNG 圖像。因此,您需要按照以下步驟進行轉換:
- 由於字符串較長,所以將數據保存在TXT文件中
- 讀取字符串值
- 替換前綴
- 將 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:
- 去除 Base64 字符串的前綴
- 將 Base64 字符串轉換為 PNG 或 JPG 圖片
- 然後將輸出圖像轉換為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 和許多其他格式。有興趣探索其他可能性嗎?不要猶豫,通過免費支持論壇與我們討論這個問題。