Java中PDF文件转换为PNG图片

Java中PDF文件转换为PNG图片

工程需要

需要jar包:fontbox-2.0.2.jar pdfbox-2.0.2.jar

<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>fontbox</artifactId>
    <version>2.0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.2</version>
</dependency>

测试

package cn.abucc.Test;import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.IOException;  
import javax.imageio.ImageIO;  
import org.apache.pdfbox.pdmodel.PDDocument;  
import org.apache.pdfbox.rendering.PDFRenderer;public class PDFToPNG {
    public static void main(String[] args) {  
        File file = new File("F:\\2\\3210188d-3774-479e-80f6-79c4e7c20bb0.pdf");
        String PngName=file.getName().replaceAll(".pdf", "");
        if(file.exists()&&!new File("/img/"+PngName+"0.png").exists()){
            try {  
                PDDocument doc = PDDocument.load(file);  
                PDFRenderer renderer = new PDFRenderer(doc);  
                int pageCount = doc.getNumberOfPages();  
                for (int i = 0; i < pageCount; i++) {  
                    // 方式1,第二个参数是设置缩放比(即像素)  
                    //BufferedImage image = renderer.renderImageWithDPI(i, 296);  
                    // 方式2,第二个参数是设置缩放比(即像素)  
                     BufferedImage image = renderer.renderImage(i, 2.5f);  
                     System.out.println("正在转换第"+i+"图片");
                    ImageIO.write(image, "PNG", new File("F://"+PngName+i+".png"));  
                }  
            } catch (IOException e) {  
                e.printStackTrace();
            }finally {
                System.out.println("转换完成!");
            }
        }else{
            System.out.println("PDF图片不存在或者已转化");
        }
    }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值