项目需求

前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器不兼容,所以,选择了使用pdf.js,这里记录一下,以后使用的时候好查找,也希望可以帮助有需要的人。

word文件转pdf文件

首先需要将指定的word文档转为pdf文件,方法有很多,这里不介绍,有需要的童鞋可以去网上下载即可。我这里用的是OpenOffice,版本是4.1.6,使用很简单,下载好了以后,根据提示进行安装,然后到任务管理器中,找到OpenOffice服务,开启即可,然后写一段代码,将word文件转为pdf文件,,这里附上我的转化代码。

public class office {

/*

* 获取每一个文件的名称

*/

public static void getFile(File file){

if(file != null){

File[] f = file.listFiles();

if(f != null){

for(int i=0;i

getFile(f[i]);

String filename = f[i].getName();

System.out.println(filename);

//System.out.println("PDF文件名:"+filename.substring(0,14));

office2PDF("D:/test4/"+filename,"D:/pdf4/"+filename.substring(0,14)+".pdf");//根据自己需要获取pdf文件的文件名

}

System.out.println("*******************恭喜!转换结束了!!!******************");

}else{

//System.out.println(file);

}

}

}

/*

* word 转 pdf 方法

*/

public static int office2PDF(String sourceFile, String destFile) {

try {

File inputFile = new File(sourceFile);

if (!inputFile.exists()) {

return -1;

}

File outputFile = new File(destFile);

if (!outputFile.getParentFile().exists()) {

outputFile.getParentFile().mkdirs();

}

OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);//端口是固定的,IP根据自己服务所在的服务器进行配置

connection.connect();

//获去连接

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, outputFile);

//关闭连接

connection.disconnect();

return 0;

} catch (Exception e) {

e.printStackTrace();

return -1;

}

}

public static void main(String[] args) {

//单个文件转换

office2PDF("需要转换的word文件路径", "转换后输出pdf文件的路径");

//多个文件转换

String path = "多个word文件所在的目录";

File f = new File(path);

office.getFile(f);

}

}

使用pdf.js插件在线预览pdf文件

pdf文件转好后,开始使用pdf.js插件对pdf文件进行在线预览操作

下载pdf.js插件,进行解压,进入解压后的目录 build/build/generic,generic中的目录,如下图所示

进入web目录,找到viewer.js文件,打开,

找到这行代码,这里是指定打开默认的pdf文件,在web目录中存在一个同名的pdf文件,这个就是默认打开的文件。在pdf.js中,主要的文件有两个,viewer.js以及viewer.html,前者负责打开pdf文件,后者负责渲染效果,将generic文件,复制到tomcat中(我这里用的tomcat,根据自己实际情况即可),启动tomcat,

通过访问路径 http://localhost:8080/build/generic/web/viewer.html 可以看到效果,打开默认的pdf文件,如图

此时,再看viewer.js,找到如下代码,

说明,我们可以通过file传参的形式,来访问我们想访问的pdf文件,所以,删除js文件中默认的pdf文件,将DEFAULT置空

然后,我们访问带file参数的路径,访问我们自己的pdf文件,将pdf文件放在指定的路径下,这里我直接放在了web下,可以自己指定路径,

访问路径:http://localhost:8080/build/generic/web/viewer.html?file=FJ050609150001.pdf,效果如图

按钮隐藏

这样我们就访问到了我们想要的pdf文件。很多时候,线上预览,是不允许有下载和打印的,如上图右上角的打印和下载按钮,我们都可以通过修改viewer.html里面的按钮属性,来进行隐藏。打开viewer.html文件,找到如下代码

然后在标签内部,加上隐藏样式:style="visibility:hidden",就可以隐藏下载或者是打印按钮

添加后,效果如图

注意:

1,常用的隐藏标签方法有,style="visibility:hidden",style = "display:none"等等,但是只能使用style="visibility:hidden"来隐藏标签(其余的我也试过,但是不管用,隐藏不了)。

2,viewer.html中有两个地方有按钮,如图,

以及

我们要设置隐藏的,只有下面的一组按钮标签,上面的不能设置隐藏,否则,可能会报错。

3,按钮标签不能删除,否则可能会报错,并且,pdf.js是比较简单的在线浏览pdf文件的插件,我们只需要改动viewer.js和viewer.html就可以实现,其他的地方不用改动,否则会报错。

java pdf 预览_pdf.js实现图片在线预览相关推荐

  1. img pdf 展示_pdf.js实现图片在线预览

    项目需求 前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器 ...

  2. java图片的在线预览_【Java】web实现图片在线预览

    一.场景还原 用户上传了一张图片,已有服务器保存路径,现由于系统配置无法直接通过图片URL打开预览图片,需实现点击预览将图片显示在浏览器上. 二.实现方法 html: 预览 此处用预览按钮方法实现 J ...

  3. java将office文档,word,ppt,pdf文档转换成swf文件在线预览

    java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...

  4. 加载js文件,在线预览pdf文档

    加载js文件,在线预览pdf文档 效果演示 环境要求 JS文件下载 Jsp页面导入js文件 jquery.media.js源码 效果演示 首先,先展示效果图 环境要求 Tomcat8.5 [注意]:T ...

  5. vue本地上传并预览php,vue.js 实现图片本地预览 裁剪 压缩 上传功能

    以下代码涉及 Vue 2.0 及 ES6 语法. 目标 纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式.长宽.大小的检测,减少浏览器交互. 现实是残酷的,为了兼容Ie9 还 ...

  6. js+java 实现图片在线预览功能

    本博客主要描述如何用JavaScript+java实现图片的预览功能,其实要点还是需要服务端的流. (一)功能描述 点击页面的 [预览] 查看已经上传的或者在服务器中存在的图片. (二)实现原理 使用 ...

  7. c# asp.net Pdf 转换图片 在线预览 发布到iis中问题 最终解决篇—_—!

    关于:excel和word 预览 请看我的博文: excel和word 在线预览  详细配置及代码 使用Adobe 组件 在本机vs中调试成功 发布到iis中  在  代码中涉及到  剪贴板的地方  ...

  8. java 使用poi将PPT转为图片,在线预览PPT

    在线预览PPT,我的思路为java 使用poi将PPT转为图片,图片存储到指定的文件夹下面,然后返回生成的图片名称集合,将图片路径遍历到前台的html标签上,用HTML前台模仿画一个PPT框架,操作图 ...

  9. 电子发票(PDF)识别信息提取(JAVA)电子专票(OFD)在线预览

    网上也有资料,有的只有jar包没有源码,整理好网上的资源,把源码开放出来. https://gitee.com/kanen/invoice 欢迎使用和交流. 内容介绍 电子发票(PDF)识别与验真 1 ...

最新文章

  1. 为什么三维重建才是计算机视觉的最终归宿?
  2. 中断技术在计算机系统中的应用,中斷在操作系统中的应用.doc
  3. java控制语句案例_Java基础语法—流程控制语句
  4. Android studio如何连接三星手机
  5. 机器学习系统设计——误差矩阵
  6. [XXSY] 构树(prufer序列,树上连通块DP)
  7. Java冒泡,选择,插入排序算法
  8. python pip升级报错
  9. oracle统计每个类别,Oracle统计分析函数集之一
  10. teamview外网连接服务器虚拟主机,利用路由器端口映射+桥接虚拟机搭建个人服务器...
  11. Eclipse+Wildfly10 创建第一个EJB项目
  12. Opencv实现多张JPG转GIF
  13. 产品需求分析思路和方法
  14. 深入了解现代 Web 浏览器(第 4 部分)【合成器线程详解】
  15. 哪一个国家耗巨资请熊猫去的_熊猫4.0:一个月过去了,复苏迹象
  16. 在openSUSE上编译aMule-DLP
  17. [附源码]java毕业设计病历管理系统设计
  18. 心跳异常检测--使用Keras,K折交叉训练CNN一维卷积
  19. 安居客 楼盘信息 项目代码-
  20. 超级细菌战:一场人类无法打赢的战争

热门文章

  1. 第二章 AutoCAD ActiveX Automation概述
  2. 不同的AI视频推理场景下,如何构建通用高效的抽帧工具?
  3. 数据挖掘学习入门建议
  4. 关于SN74AHCT1G02DBVR
  5. 00900网页设计与制作简答题和论述题
  6. 【开源调查问卷系统】调问
  7. 友情链接交换平台之死,是谁造成的?
  8. 通过层序遍历和中序遍历构建二叉树
  9. winscp 同步_winscp传输文件,winscp传输文件时要先设置这三步
  10. 游戏设计自学记录(21)