java中如何将office文件转成pdf或者图片(亲测有效)

前段时间做项目时,需要将word文档在浏览器中打开,一般的在浏览器中打开word都是直接提示下载的,找了好久都是些pageoffice等的收费插件,小项目成本要尽量压缩,所以就放弃了这种收费的插件了。突然想到有些浏览器能直接打开pdf或者图片,手机端也需要显示图片,所以可以将word转成pdf和图片,那java中怎么将word转成pdf或者图片呢?也研究了一下,有的说用poi等,但是研究了一下,发现不好用,另一种办法是office中的转换jar包:jacob,通过他可以调用office中的文件转换功能:比如说将word转成pdf或图片,excel转成pdf或图片,ppt转成pdf或图片等等,所以就用了这种办法,下面说一下具体的操作过程,在开始前首先需要准备一些材料:jacob和office,我这里用的是jacob1.11.1和office2010,具体过程如下:

1.先安装一下office2010;

2.解压下载的jacob1.11.1,将里面的jacob.jar导入项目中,buildPath,如果是win732位系统,找到x86文件夹中的jacob.dll,拷贝到c盘windows的system32目录下(64位系统找到AMD64文件夹中的jacob.dll,同样拷贝到system32目录下);

下面就开始在项目中写代码完成转换了。

public class JacobUtil {
	
	   public static final String DOC = "doc";
	   public static final String DOCX = "docx";
	   public static final String PDF = "pdf";
	   public static final String XLS = "xls";
	   public static final String XLSX = "xlsx";
	   public static final String MP4 = "mp4";
	   public static final String PPT = "ppt";
	   public static final String PPTX = "pptx";
	
        // 8 代表word保存成html  
        public static final int WORD2HTML = 8;  
        // 17代表word保存成pdf
        public static final int WD2PDF = 17;
        public static final int PPT2PDF = 32;
        public static final int XLS2PDF = 0;
    
    public static void main(String[] args) {   
    	String pptfile = "C:/Users/Administrator/Desktop/ceshi.pptx";  
    	String pdffile = "C:/Users/Administrator/Desktop/数字模拟电路.pdf";  
        ppt2pdf(pptfile,pdffile);  
        pdf2Image(pdffile);
    }  
      
         /**
	 * @author shenjianhu: 
	 * @version 创建时间:2017年4月8日 下午9:07:33
	 * @param resourceType 资源类型
	 * @param path 资源路径
	 * @return
	 * TODO 文件转换
	 */
	public static Integer formatConvert(String resourceType, String resourcePath) {
		Integer pages = 0;
		String resource = resourcePath.substring(0, resourcePath.lastIndexOf("."));
		if(resourceType.equalsIgnoreCase(DOC)||resourceType.equalsIgnoreCase(DOCX)){
			//word转成pdf和图片
			word2pdf(resourcePath, resource+".pdf");
			pages = pdf2Image(resource+".pdf");
		}else if(resourceType.equalsIgnoreCase(PDF)){
			//pdf转成图片
			pages = pdf2Image(resourcePath);
		}else if(resourceType.equalsIgnoreCase(XLS)||resourceType.equalsIgnoreCase(XLSX)){
			//excel文件转成图片
			excel2pdf(resourcePath, resource+".pdf");
			pages = pdf2Image(res
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值