Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题

Ubuntu下Java使用pdfbox将pdf转换为图片的方法及问题

使用pdfbox-2.0.3和fontbox-2.0.3,实现pdf转图片功能。
官方手册链接:
http://pdfbox.apache.org/docs/2.0.3/javadocs/

此处推荐两个比较好的jar包下载网址:
http://mvnrepository.com/
http://repo1.maven.org/maven2/

注意:执行程序的主机上必须能够识别pdf中的字体。
Ubuntu字体参考链接:
http://blog.163.com/hlmdf@126/blog/static/632836462010111481419940/

主要实现方法如下:

public static void pdfToImage(){
    File file = new File("e:/oo.pdf");
    try {
       PDDocument doc = PDDocument.load(file);
       PDFRenderer renderer = new PDFRenderer(doc);
       int pageCount = doc.getNumberOfPages();
       for(int i=0; i<pageCount; i++){
           BufferedImage image = renderer.renderImage(i, 2.5f);
//           BufferedImage image = renderer.renderImageWithDPI(i,296);
           ImageIO.write(image,"PNG",new File("e:/image/"+i+".png"));
        }
   } catch (IOException e) {
       e.printStackTrace();
   }
}

在windows环境下,使用程序中的renderImage和renderImageWithDPI均能实现转换。
但,在Ubuntu环境下,renderImage能够成功,而会在renderImageWithDPI处阻塞,不太理解原因,还请各位大神不吝赐教。

本文参考链接及扩展阅读:
http://www.cnblogs.com/pcheng/p/5704470.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值