文档在线预览有两种实现方式:
1. windows server下用 jacob
2. linux server下 用openoffice
话不多说,看吧。这里是使用jacob实现的
- 准备一下jar包
下载jacob.zip ,地址:https://sourceforge.net/projects/jacob-project/
64位系统就用 x64的dll,32位系统就用x86的dll。将dll文件放入放入jdk/bin目录下,如下图所示:
2. 将jacob引入到pom中
记得把jar包放进去项目里面,如下图所示:
pom.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<dependency>
<groupId>com.jacob</groupId>
<artifactId>1.0.0</artifactId>
<scope>system</scope>
<systemPath>C:/Users/user/.m2/repository/com/jacob/1.0.0/jacob-1.0.0.jar</systemPath>
<!--<systemPath>标签的值就是jacob.jar的具体路径,改成自己的-->
</dependency>
- 文档转pdf接口层
//直接调用这个方法即可
@ApiOperation(value = "文档转pdf", notes = "文档转pdf")
@RequestMapping(value = "convert2PDF", method = RequestMethod.POST)
public Map convert2PDF(String inputFile, String pdfFile) {
return m_fileService.convert2PDF(inputFile,pdfFile);
}
- 文档转pdf业务层
@Value("${DOCUMENT_URL}")
private String DOCUMENT_URL;
@Value("${UPLOAD_URL}")
private String UPLOAD_URL;
private static final int wdFormatPDF = 17;
private static final int xlTypePDF = 0;
private static final int ppSaveAsPDF = 32;
private static final int msoTrue = -1;
private static final int msofalse = 0;
public Map convert2PDF(String inputFile, String pdfFile) {
Map<String, Object> tResultMap = new HashMap<>();
// 1.得到没有后缀名的文字
String fileName = inputFile.