资源简介
通过pdf.js、openoffice服务实现客户端在线预览方案。文件内包含jar、js、公共方法全部内容,部分后台需自己实现。
代码片段和文件信息
package com.itown.common.util;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.ConnectException;
import java.util.Scanner;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.sun.java.swing.plaf.windows.resources.windows;
public class CallOpenofficeService {
/**
* 功能:开启�?�关闭openoffice服务 使用方法:直接生成该类对�?
* *****由于本机openoffice安装路径不同,需要更改openoffice的安装路�?
*
* @author botao
*
*/
private static final long serialVersionUID = -6230719211389128706L;
private Process process = null;
public static CallOpenofficeService instance = null;
public static CallOpenofficeService getInstance() {
if (instance == null) {
instance = new CallOpenofficeService();
}
return instance;
}
/**
* 将启动程序定义在构�?�函数中,直接生成该类对象,即可启动openoffice服务
*
* @return
*/
public void JavaCallOpenoffice() {
if(isExist()) {
return;
}
Runtime rn = Runtime.getRuntime();
Process p = null;
try {
String toFilePath = System.getProperty(“user.dir“)+“\\TemporaryFolder\\“;
toFilePath = FilePathUtil.getInstance().getRealFilePath(toFilePath);
String osname = System.getProperty(“os.name“);
File file;
if(osname.toLowerCase().startsWith(“win“)) {
toFilePath += “openoprenoffice.bat“;
file = new File(toFilePath);
if (false == file.exists()) {
FileWriter writer = new FileWriter(toFilePath);
writer.write(“@echo off “);
writer.write(“\r\n “);
writer.write(“cd C:\\Program Files (x86)\\OpenOffice 4\\program“);
writer.write(“\r\n “);
writer.write(
“soffice -headless -accept=sockethost=127.0.0.1port=8100;urp;“ + “ -nofirststartwizard“);
writer.write(“\r\n “);
writer.write(“@echo on “);
writer.close();
}
p = rn.exec(“cmd.exe /C “+toFilePath);
}else {
toFilePath += “startOpenOffice.sh“;
file = new File(toFilePath);
if (false == file.exists()) {
FileWriter writer = new FileWriter(toFilePath);
writer.write(
“/opt/openoffice4/program/soffice --headless -nologo --accept=\“sockethost=127.0.0.1port=8100;urp;\“ --nofirststartwizard &“);
writer.close();
}
p = rn.exec(“sh “+toFilePath);
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
public boolean isExist() {
boolean bln = false;
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
bln=true;
} catch (ConnectException e) {
System.err.println(“文件转换出错,请�?查OpenOffice服务是否启动�?“);
return bln;
}
return bln;
}
/**
* 构�?�方法,实现关闭soffice进程
*
* @return
*/
public void DestorySoffice() {
try {
// 判断进程
if(isExist()) {
String cmd = “taskkill /f /im soffice.exe“;// 关闭soffice进
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 841 2017-11-15 13:58 previewFile\.classpath
文件 911 2017-11-15 13:58 previewFile\.project
文件 567 2017-11-15 13:58 previewFile\.settings\.jsdtscope
文件 98 2017-11-15 14:19 previewFile\.settings\org.eclipse.core.resources.prefs
文件 364 2017-11-15 13:58 previewFile\.settings\org.eclipse.jdt.core.prefs
文件 485 2017-11-15 13:58 previewFile\.settings\org.eclipse.wst.common.component
文件 345 2017-11-15 13:58 previewFile\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2017-11-15 13:58 previewFile\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2017-11-15 13:58 previewFile\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 3879 2017-11-15 14:11 previewFile\build\classes\com\itown\common\util\CallOpenofficeService.class
文件 1038 2017-11-15 14:02 previewFile\build\classes\com\itown\common\util\FilePathUtil.class
文件 5256 2017-11-15 14:26 previewFile\build\classes\com\itown\common\util\FileToPdfUtils.class
文件 3410 2017-11-15 14:11 previewFile\src\com\itown\common\util\CallOpenofficeService.java
文件 611 2017-11-14 19:43 previewFile\src\com\itown\common\util\FilePathUtil.java
文件 5400 2017-11-15 14:26 previewFile\src\com\itown\common\util\FileToPdfUtils.java
文件 476 2017-10-30 17:59 previewFile\WebContent\img\view.png
文件 1930 2017-11-08 13:44 previewFile\WebContent\img\viewClose.png
文件 309157 2017-11-02 17:47 previewFile\WebContent\js\pdf.js
文件 1335118 2017-11-02 17:47 previewFile\WebContent\js\pdf.worker.js
文件 1593 2017-11-08 14:21 previewFile\WebContent\jsp\attchmentView.jsp
文件 2376 2017-11-15 14:39 previewFile\WebContent\jsp\main.jsp
文件 618 2017-11-15 14:49 previewFile\WebContent\jsp\服务器预览pdf方案.txt
文件 39 2017-11-15 13:58 previewFile\WebContent\me
文件 160 2017-11-06 10:33 previewFile\WebContent\TemporaryFolder\openoprenoffice.bat
文件 162 2017-11-14 13:52 previewFile\WebContent\TemporaryFolder\startOpenOffice.sh
文件 32054 2017-11-15 13:59 previewFile\WebContent\WEB-INF\lib\jodconverter-2.2.2.jar
文件 59197 2017-11-15 13:59 previewFile\WebContent\WEB-INF\lib\juh.jar
文件 113442 2017-11-15 13:59 previewFile\WebContent\WEB-INF\lib\jurt.jar
文件 83613 2017-11-15 13:59 previewFile\WebContent\WEB-INF\lib\org.apache.commons.io.jar
文件 256521 2017-11-15 13:59 previewFile\WebContent\WEB-INF\lib\ridl-3.2.1.jar
............此处省略29个文件信息
评论
共有 条评论