java用icebox切图

引入icebox jar包

160613_8BYt_2706221.png

import org.icepdf.core.pobjects.Document;
import org.icepdf.core.pobjects.Page;
import org.icepdf.core.util.GraphicsRenderingHints;

切图:

public static void cutting(String url1, String url2, String contractId) throws IOException{
		//将pdf按页生成图片
		String filePath = url1;
		Document document = new Document();  
        Rectangle tempReader = null;
        PdfReader pdfReader = null;
        float scale = 1.3f;  
        float rotation = 0f;  
        int height = 0;
        int width = 0;
		try {
			String urls = url2+contractId+"/";
			File files = new File(urls);
			if(!files.exists()){
				files.mkdirs();
			}
			document.setFile(filePath);
            pdfReader = new PdfReader(filePath);
            tempReader = pdfReader.getPageSize(1);
        	height = (int)tempReader.getHeight();
        	width = (int)tempReader.getWidth();
        	for (int i = 0; i < document.getNumberOfPages(); i++) {  
                BufferedImage image = (BufferedImage)document.getPageImage(i,GraphicsRenderingHints.SCREEN,Page.BOUNDARY_CROPBOX, rotation, scale);  
                BufferedImage tempImage = resize(image,width,height);
                RenderedImage rendImage = tempImage;  
                ImageIO.write(rendImage, "PNG", new File(urls+contractId+"_"+i+".png"));
                tempImage.flush();
                image.flush();  
            }  
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			document.dispose(); 
			if(null!=pdfReader){
				pdfReader.close();
			}
		}
	}

 

转载于:https://my.oschina.net/miwang/blog/1589276

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值