1、网络pdf转base64

package com.crm.common.utils;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.tomcat.util.codec.binary.Base64;

import javax.imageio.ImageIO;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;

/**
 * 将pdf转换成base64
 *
 * @createAuthor: lc
 * @createDate: 2023/4/5 10:22
 * @version: 1.0
 */
public class PDFToBase64 {
    public static String convertToBase64(String pdfUrl) {
        try {
            URL url = new URL(pdfUrl);
            InputStream inputStream = url.openStream();
            PDDocument document = PDDocument.load(inputStream);
            PDFRenderer renderer = new PDFRenderer(document);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(renderer.renderImage(0), "png", baos);
            byte[] bytes = baos.toByteArray();
            Base64 base64 = new Base64();
            String base64String = base64.encodeToString(bytes);
            baos.close();
            document.close();
            return base64String;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

//    public static void main(String[] args) {
//        String pdfUrl = "https://www.bimtree.cn:9443/file/pdf/control/4/2/38.png";
//        String base64String = convertToBase64(pdfUrl);
//        System.out.println(base64String);
//    }

}

2、网络img转base64

package com.crm.common.utils;

import java.io.*;
import java.net.*;
import java.util.Base64;

/**
 * 将图片转换为base64
 *
 * @createAuthor: lc
 * @createDate: 2023/4/5 9:54
 * @version: 1.0
 */
public  class ImageToBase64 {
    public static String ByImageToBase64(String imageUrl){
//        String imageUrl = "https://example.com/image.png";
        String base64Image = "";
        try {
            URL url = new URL(imageUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            InputStream inputStream = connection.getInputStream();
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[4096];
            int bytesRead = -1;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            byte[] imageBytes = outputStream.toByteArray();
            base64Image = Base64.getEncoder().encodeToString(imageBytes);
            System.out.println("Base64 image: " + base64Image);
        } catch (MalformedURLException e) {
            System.out.println("Invalid URL");
        } catch (IOException e) {
            System.out.println("Error reading image");
        }
        return base64Image;
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐