Base64文字列は、ASCII形式のデータを示します。インライン画像やその他の情報をHTMLWebページやスタイルシートに埋め込むのに人気があります。この記事では、Javaを使用してBase64文字列をPDFJPGPNGに変換する方法を学習します。

Java Base64 to PDFConverterAPI-インストール

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 JavaAPIが構成されました。 Base64文字列の変換に進む前に、サンプルデータを見てみましょう。

Base64変換の文字列の例

Base64文字列はここからダウンロードできます。

Base64サンプル文字列のプレビュー

Base64からPNGJPG

次に、次の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文字列を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、および他の多くの形式に変換できます。他の可能性を探求することに興味がありますか?無料サポートフォーラムを通じてこれについて私たちと話し合うことを躊躇しないでください。

関連項目