项目使用背景
内部使用的文件管理系统,实现doc,docx文件的在线预览功能;整体功能类似于知网的功能缩减版:文件的管理,在线预览,查重功能。其中还使用到pdf2htmlEX实现pdf转html,最终实现文章重复部分标红操作。
-- 同OpenOffice4使用篇
优点:
格式完美转换,样式一模一样,解析的html标签还算工整。
缺点:
Linux安装太麻烦了(但是我用docker,一切环境都不是事儿)
格式和html标签没法自定义,html的后续操作难度加大
插件的安装方法
查看作者GitHub里面有最原始的方法,也是最好的。
linux安装起来比较的麻烦,每个版本的系统可能都不一样,有些没办法装上。
最简单的方法就是使用安装好的docker镜像,把自己的开发环境集成上去就ok了。
2019329-195816.jpg
docker search pdf2htmlEX
找了个熟悉系统的版本,centos。项目打包上句就ok了
插件使用方法
插件是以调用命令执行的,所以只要能掉命令就行
java采用 Runtime.getRuntime() 来运行
以下是java代码示例
import org.apache.commons.lang3.StringUtils;
import java.io.File;
/**
* pdf转html工具类
*
* @author 1nchaos
* @date 2019/3/7 13:20
*/
public class Pdf2HtmlUtil {
/**
* 调用pdf2htmlEX将pdf文件转换为html文件
*
* @param exeFilePath pdf2htmlEX.exe文件路径
* @param pdfFile pdf文件绝对路径
* @param destDir 生成的html文件存放路径
* @param htmlFileName 生成的html文件名称
* @return
*/
public static boolean pdf2html(String exeFilePath, String pdfFile, String htmlFileName) {
if (StringUtils.isBlank(exeFilePath) && StringUtils.isBlank(pdfFile)
&& StringUtils.isBlank(htmlFileName)) {
System.out.println("传递的参数有误!");
return false;
}
Runtime rt = Runtime.getRuntime();
StringBuilder command = new StringBuilder();
command.append(exeFilePath).append(" ");
// 生成文件存放位置,需要替换文件路径中的空格
// if (destDir != null && !"".equals(destDir.trim()))