Chuỗi Base64 hiển thị dữ liệu ở định dạng ASCII. Nó phổ biến để nhúng hình ảnh nội tuyến và thông tin khác trong trang web HTML hoặc biểu định kiểu. Trong bài viết này, chúng ta sẽ học cách chuyển đổi chuỗi Base64 thành PDF, JPGPNG bằng Java.

API chuyển đổi Java Base64 sang PDF - Cài đặt

Bạn có thể tải xuống các tệp JAR của Aspose.PDF for Java API từ phần Release hoặc sử dụng các cấu hình Maven sau:

Kho:

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

phụ thuộc:

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

Vậy là API Aspose.PDF for Java đã được cấu hình. Trước khi tiến hành chuyển đổi chuỗi Base64, chúng ta hãy xem dữ liệu mẫu:

Chuỗi ví dụ để chuyển đổi Base64

Bạn có thể tải xuống chuỗi Base64 từ tại đây.

Xem trước chuỗi ví dụ Base64

Base64 sang PNG JPG

Bây giờ, chúng ta hãy tiến hành các tình huống chuyển đổi chuỗi Base64 sau:

Chuyển đổi Chuỗi Base64 thành Hình ảnh JPG hoặc PNG bằng Java

JPG, PNG và các loại hình ảnh khác đôi khi được mã hóa thành chuỗi Base64 để liên lạc và truyền dữ liệu an toàn và đáng tin cậy. Hơn nữa, trước khi khám phá chuyển đổi PDF, chúng ta cần tìm hiểu về chuyển đổi chuỗi Base64 thành hình ảnh JPG hoặc PNG bằng Java. Do đó, bạn cần làm theo các bước sau để chuyển đổi:

  1. Lưu dữ liệu trong tệp TXT vì chuỗi dài
  2. Đọc giá trị chuỗi
  3. Thay thế các tiền tố
  4. Lưu chuỗi Base64 thành hình ảnh JPG hoặc PNG

Đoạn mã sau cho biết cách chuyển đổi chuỗi Base64 thành hình ảnh JPG hoặc PNG bằng Java:

// Lưu chuỗi base64 trong tệp TXT vì chuỗi dài
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);

// Chuyển đổi hình ảnh Base64 sang JPG hoặc 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();
}

Chuyển đổi Base64 sang PDF bằng Java

Chúng ta đã tìm hiểu về cách chuyển đổi hình ảnh Base64 sang PNG hoặc JPG. Đây thực sự là một bước trung gian để chuyển đổi Base64 sang tệp PDF. Hãy để chúng tôi tiến thêm một bước nữa. Sau khi chuỗi được lưu dưới dạng hình ảnh raster, bạn có thể dễ dàng chuyển đổi nó thành PDF. Bạn có thể làm theo các bước dưới đây để chuyển đổi chuỗi Base64 sang PDF:

  1. Xóa tiền tố của Chuỗi Base64
  2. Chuyển đổi chuỗi Base64 thành hình ảnh PNG hoặc JPG
  3. Sau đó chuyển đổi hình ảnh đầu ra sang PDF

Vì vậy, đoạn mã dưới đây cho thấy cách chuyển đổi Chuỗi Base64 sang PDF bằng ngôn ngữ Java:

// Lưu chuỗi base64 trong tệp TXT vì chuỗi dài
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";

// Chuyển đổi hình ảnh Base64 sang PNG hoặc 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;
}

Sự kết luận

Tóm lại, chúng tôi đã khám phá cách chuyển đổi chuỗi Base64 thành hình ảnh PDF, PNG và JPG. sử dụng Java Hơn nữa, việc tạo tệp PDF sẽ mở ra nhiều tùy chọn hơn để chuyển đổi thêm. Giống như một tệp PDF có thể được chuyển đổi sang SVG, XPS, DOCX và nhiều định dạng khác. Quan tâm để khám phá các khả năng khác? Đừng ngần ngại thảo luận vấn đề này với chúng tôi qua Diễn đàn hỗ trợ miễn phí.

Xem thêm