מחרוזת Base64 מציגה נתונים בפורמט ASCII. זה פופולרי להטמעת תמונות מוטבעות ומידע אחר בדפי אינטרנט או בגיליונות סגנונות של HTML. במאמר זה, נלמד כיצד להמיר את המחרוזת Base64 ל-PDF, JPG ו-PNG באמצעות Java.

Java Base64 to 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 עבור Java API הוגדר. לפני שנמשיך להמרה של מחרוזת Base64, הבה נסתכל על נתונים לדוגמה:

מחרוזת דוגמה להמרת Base64

אתה יכול להוריד את המחרוזת Base64 מכאן.

תצוגה מקדימה של המחרוזת לדוגמה Base64

Base64 ל-PNG JPG

כעת, הבה נמשיך לתרחישי המרת מחרוזת Base64 הבאים:

המר את מחרוזת Base64 לתמונת JPG או PNG באמצעות 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
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();
}

המר את 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 ופורמטים רבים אחרים. מעוניינים לבחון אפשרויות אחרות? אל תהססו לדון בכך איתנו דרך פורומי תמיכה בחינם.

ראה גם