首页后端开发JAVAJava 环境下用 PDFBox 实现 PDF 文档转换 JPG 图片的功能

Java 环境下用 PDFBox 实现 PDF 文档转换 JPG 图片的功能

时间2023-03-27 14:22:24发布访客分类JAVA浏览1039
导读:PDFBox 是一个用于处理 PDF 文档的开源 Java 工具库。该项目允许创建新的 PDF 文档、操作现有文档以及从文档中提取内容。我们下面要通过 PDFBox 来演示如何将一个 PDF 文件转换成一个 JPG 文件。代码如下:pack...

PDFBox 是一个用于处理 PDF 文档的开源 Java 工具库。该项目允许创建新的 PDF 文档、操作现有文档以及从文档中提取内容。

我们下面要通过 PDFBox 来演示如何将一个 PDF 文件转换成一个 JPG 文件。代码如下:

package com.sunbloger.pdf2jpg.controller;
    

import java.awt.image.BufferedImage;
    
import java.io.ByteArrayOutputStream;
    
import java.io.File;
    
import java.io.FileInputStream;
    
import java.io.FileOutputStream;
    
import java.io.InputStream;
    
import java.util.HashMap;
    
import java.util.Map;
    

import javax.imageio.ImageIO;
    

import org.apache.pdfbox.pdmodel.PDDocument;
    
import org.apache.pdfbox.rendering.PDFRenderer;
    
import org.springframework.stereotype.Controller;
    
import org.springframework.web.bind.annotation.RequestMapping;
    
import org.springframework.web.bind.annotation.RequestMethod;
    
import org.springframework.web.bind.annotation.ResponseBody;


@Controller
@RequestMapping(value = "/japi")
public class render {
    

    @RequestMapping(value = "/convert", method = RequestMethod.GET)
    public @ResponseBody MapString, Object>
 convert () throws Exception
    {
    
        MapString, Object>
     responseMap = new HashMapString, Object>
    ();
    
        
        PDDocument doc = null;
    
        InputStream stream = null;
    
        FileOutputStream fos = null;
    
        ByteArrayOutputStream baos = null;

        
        try {
    

            // 读入 PDF 文件
            stream = new FileInputStream("D:\\workspace-springboot\\1.pdf");
    
            doc = PDDocument.load(stream);
    

            // 渲染
            PDFRenderer pdfRenderer = new PDFRenderer(doc);
    
            BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(0, 300);
    
            pdfRenderer = null;
    

            // 写入 JPG 文件
            baos = new ByteArrayOutputStream();
    
            ImageIO.write(bufferedImage, "jpg", baos);
    
            byte[] dataList = baos.toByteArray();
    
            baos = null;
    
            File file = new File("D:\\workspace-springboot\\1.jpg");
    
            fos = new FileOutputStream(file);
    
            fos.write(dataList);
    
            fos.close();
    
            fos = null;
    
            file = null;
    
            responseMap.put("suc", 1);
    
            responseMap.put("info", "convert sucess.");

        }
 catch (Exception e) {
    
            throw e;

        }
    
        
        return responseMap;

    }

}
    

上述代码用 SpringBoot 构建了一个 PDF 转 JPG 的接口,为了方便演示,PDF 和 JPG 文件地址均采用了本地路径,开发者可以自行调整代码,例如改为通过 POST 请求传入 PDF 文件。

pom.xml文件中添加 PDFBox 信息(推荐使用目前 2.0 最新的 2.0.27 版本):

dependency>
    
    groupId>
    org.apache.pdfbox/groupId>
    
    artifactId>
    pdfbox/artifactId>
    
    version>
    2.0.27/version>
    
/dependency>
    

相关内容:

  • PHP重置JPG图片尺寸的函数
  • Eclipse 3.7(代号Indigo)正式版发布
  • 我用Java写的PasswordGenerate改进版源码
  • Java编写的随机密码生成器源码
  • Java多线程控制的心得
  • Java多线程的实现
  • Java的数组冒泡排序法
  • 为NetBeans配置开发Java所需的JDK路径

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

javapdf多线程开发者源码

若转载请注明出处: Java 环境下用 PDFBox 实现 PDF 文档转换 JPG 图片的功能
本文地址: https://pptw.com/jishu/362.html
js樱花随风飘落代码(樱花飘落特效js代码网) 深度寻路算法-DFS(深度寻路算法)

游客 回复需填写必要信息