当前位置: 首页 > news >正文

金华建站模板青海企业网站建设

金华建站模板,青海企业网站建设,php网站制作工具,wordpress写作工具一、多余的话 java实现word转pdf可用的jar包不多,很多都是收费的。最近发现com.documents4j挺好用的,它支持在本机转换,也支持远程服务转换。但它依赖于微软的office。电脑需要安装office才能转换。鉴于没在linux中使用office,本…

一、多余的话

java实现word转pdf可用的jar包不多,很多都是收费的。最近发现com.documents4j挺好用的,它支持在本机转换,也支持远程服务转换。但它依赖于微软的office。电脑需要安装office才能转换。鉴于没在linux中使用office,本文转换在windows中进行。

用途:主要是对word文件转换成pdf后,提供在线预览服务。也可以用于合同生成等。

二、前提条件

windows服务器或电脑需安装office软件。

三、代码实现

添加依赖:

        <dependency><groupId>com.documents4j</groupId><artifactId>documents4j-local</artifactId><version>1.1.6</version></dependency><dependency><groupId>com.documents4j</groupId><artifactId>documents4j-transformer-msoffice-word</artifactId><version>1.1.6</version></dependency>

转换代码类:WordToPdfUtil.java

package com.lan.fts.util;import com.documents4j.api.*;
import com.documents4j.job.LocalConverter;import java.io.*;
import java.util.concurrent.Future;public class WordToPdfUtil {private IConverter getConverter(){return LocalConverter.builder().build();}private void releaseConverter(IConverter converter){converter.shutDown();}public boolean wordToPdf(String fromFilePath, String pdfFilePath){boolean result = false;File inputFile = new File(fromFilePath);File outputFile = new File(pdfFilePath);InputStream inputStream=null;OutputStream outputStream = null;IConverter converter = getConverter();try {inputStream = new FileInputStream(inputFile);outputStream = new FileOutputStream(outputFile);String wordFilePath_low=fromFilePath.toLowerCase();if (wordFilePath_low.endsWith(".docx")) {Future<Boolean> schedule = converter.convert(inputStream, true).as(DocumentType.DOCX).to(outputStream, true).as(DocumentType.PDF).schedule();result = waitsShedule(schedule, 180000);}else if(wordFilePath_low.endsWith(".doc")){Future<Boolean> schedule = converter.convert(inputStream, true).as(DocumentType.DOC).to(outputStream, true).as(DocumentType.PDF).schedule();result = waitsShedule(schedule, 180000);}else if(wordFilePath_low.endsWith(".txt")){Future<Boolean> schedule = converter.convert(inputStream, true).as(DocumentType.TEXT).to(outputStream, true).as(DocumentType.PDF).schedule();result = waitsShedule(schedule, 180000);}} catch (FileNotFoundException e) {e.printStackTrace();} finally {try {if(outputStream!=null)outputStream.close();} catch (IOException e) {};try {if(inputStream!=null)inputStream.close();} catch (IOException e) {};releaseConverter(converter);}return result;}private boolean waitsShedule(Future<Boolean> schedule, int timeout){int time=0;while (!schedule.isDone()){MyThread.sleep(500);time+=500;if(time>timeout){schedule.cancel(true);return false;}}return true;}public static void main(String[] args) {//	new WordToPdfUtil().wordToPdf("D:\\data\\out\\ffec88b6ee26397bf99834acb059f7b0.docx", "D:\\data\\out\\ffec88b6ee26397bf99834acb059f7b0.docx.pdf");}}

说明:waitsShedule,是等待转换完成。如果超时,将取消转换任务

四、运行验证

	public static void main(String[] args) {new WordToPdfUtil().wordToPdf("D:\\data\\out\\lanhezhong文件转换.docx", "D:\\data\\out\\lanhezhong文件转换.docx.pdf");}

运行结果:

***********************************************************************************************
author:蓝何忠
email:lanhezhong@163.com
***********************************************************************************************

http://www.yayakq.cn/news/899345/

相关文章:

  • html网站简易模板app公司开发
  • c 如何拖控件做网站wordpress发帖插件
  • 地址 上海石门二路 网站建设深圳市住房建设局网站
  • 网站营销策略组合wordpress开源博客
  • 网站制作是不是要先用ps做濮阳房产网
  • 三优科技 网站开发湖南省郴州市中考成绩查询
  • 装修公司网站设计规划微信房地产网站建设
  • 怎么做垂直自营网站今天株洲最新消息
  • 吉林专业做网站wordpress 小工具 不显示不出来
  • 建站宝盒哪个牌子好国际国内时事
  • 无锡网站建设公司深圳团购网站建设
  • 厦门网站设计哪家公司好wordpress的留言功能
  • 设计互动网站建设腾讯小程序官网首页
  • 怎么看公司网站做的好不好哦建设旅游网站的市场分析
  • 简单网站建设策划书范文企业微网站
  • 关于建设 网站的请示广告推广怎么做
  • 建设网站后期人员薪酬wordpress侧边菜单栏
  • 山西网站推怎么建立自己的公司网站
  • 公司做网站好不好北京中小企业公司名单
  • 个人网站建设价格网络软文发布平台
  • 住房和城乡建设部网站诚信评价如何再腾讯云服务器做网站
  • 如何用python做网站脚本语言番禺网站建设品牌好
  • 修改公司网站网页网站登陆注册怎么做
  • 汕头网站推广哪家好个性化网站建设多少钱
  • 济南公司网站建设自己弄个网站
  • 什么企业网站能自己做安徽和城乡建设厅网站
  • 柳州网站建设柳州吸引人的营销标题
  • 苗圃企业网站源代码增值服务包含哪些产品
  • 专门做外贸的的网站有哪些wordpress类似qq空间
  • 中国站长之家域名查询网络推广公司怎么接单