สตริง Base64 แสดงข้อมูลในรูปแบบ ASCII เป็นที่นิยมในการฝังรูปภาพแบบอินไลน์และข้อมูลอื่นๆ ในเว็บเพจ HTML หรือสไตล์ชีต ในบทความนี้ เราจะเรียนรู้วิธีแปลงสตริง Base64 เป็น PDF, JPG และ PNG โดยใช้ Java

Java Base64 เป็น PDF Converter API - การติดตั้ง

คุณสามารถดาวน์โหลดไฟล์ JAR ของ Aspose.PDF for Java API ได้จากส่วน Releases หรือใช้การกำหนดค่า 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 ต่อไปนี้:

แปลง Base64 String เป็น JPG หรือ PNG Image โดยใช้ Java

บางครั้ง JPG, PNG และรูปภาพประเภทอื่นๆ จะถูกเข้ารหัสเป็นสตริง Base64 เพื่อการสื่อสารและการถ่ายโอนข้อมูลที่ปลอดภัยและเชื่อถือได้ นอกจากนี้ ก่อนที่เราจะสำรวจการแปลง PDF เราจำเป็นต้องเรียนรู้เกี่ยวกับการแปลงสตริง Base64 เป็นภาพ JPG หรือ PNG โดยใช้ Java ดังนั้น คุณต้องทำตามขั้นตอนเหล่านี้สำหรับการแปลง:

  1. บันทึกข้อมูลในไฟล์ TXT เนื่องจากสตริงยาว
  2. อ่านค่าสตริง
  3. แทนที่คำนำหน้า
  4. บันทึกสตริง Base64 เป็นภาพ JPG หรือ PNG

ข้อมูลโค้ดต่อไปนี้แสดงวิธีแปลงสตริง Base64 เป็นรูปภาพ JPG หรือ PNG โดยใช้ Java:

// บันทึกสตริง 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 Image
FileOutputStream fos = new FileOutputStream(dataDir + "Base64 to Image.jpg");
//FileOutputStream สำหรับ = FileOutputStream ใหม่ (dataDir + "Base64 เป็น Image.png");
try {
    fos.write(imageBytes);
}
finally {
    fos.close();
}

แปลง Base64 เป็น PDF โดยใช้ Java

เราได้เรียนรู้เกี่ยวกับการแปลงรูปภาพ Base64 เป็น PNG หรือ JPG นี่เป็นขั้นตอนขั้นกลางในการแปลงไฟล์ Base64 เป็นไฟล์ PDF ให้เราก้าวไปอีกขั้น เมื่อบันทึกสตริงเป็นภาพแรสเตอร์แล้ว คุณสามารถแปลงเป็น PDF ได้อย่างง่ายดาย คุณสามารถทำตามขั้นตอนด้านล่างเพื่อแปลงสตริง Base64 เป็น PDF:

  1. ลบคำนำหน้าของ Base64 String
  2. แปลงสตริง Base64 เป็นภาพ PNG หรือ JPG
  3. จากนั้นแปลงภาพที่ส่งออกเป็น PDF

ข้อมูลโค้ดด้านล่างแสดงวิธีแปลง Base64 String เป็น PDF โดยใช้ภาษา Java:

// บันทึกสตริง 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 และรูปแบบอื่นๆ ได้อีกมากมาย สนใจที่จะสำรวจความเป็นไปได้อื่น ๆ หรือไม่? อย่าลังเลที่จะพูดคุยเรื่องนี้กับเราผ่านฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย