linux在线预览pdf文件开发思路

准备:swftools,flexpaper

基本思路:

1,将pdf文件转化成swf文件

2,使用flexpaper预览swf文件

主要代码:

1,在linux中安装swftools.官网下载swftools 安装包,解压

2,./configure --prefix=安装路径

make install

执行完之后,执行pdf2swf -help 如果显示。说明安装成功

如果执行pdf2swf -help  显示commond not find
的话,可能需要配置swftools的环境变量,具体配置请百度^_^

3.在java中调用linux shell 将pdf 转化成swf


String [] cmd={"/bin/sh","-c","pdf2swf "+要转化的文件路径/文件名称.pdf+" "+  转化后的文件路径/文件名称.swf};

Process pro = Runtime.getRuntime().exec(cmd);

dealWith(pro);
pro.waitFor();//等待子进程的结束,子进程就是系统调用文件转换这个新进程

dealWith()是个方法了,里面可以打印执行过程


    private void dealWith(final Process pro){
// 下面是处理堵塞的情况
try {
new Thread(){
public void run(){
BufferedReader br1 = new BufferedReader(new InputStreamReader(pro.getInputStream()));
System.out.println("********************"+br1);
String text;
try {
while ( (text = br1.readLine()) != null) {
System.out.println("==================="+text);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
} catch (Exception e) {
e.printStackTrace();
}

try {
new Thread(){
public void run(){
BufferedReader br2 = new BufferedReader(new InputStreamReader(pro.getErrorStream()));//这定不要忘记处理出理时产生的信息,不然会堵塞不前的
System.out.println("#########################"+br2);
String text;
try {
while( (text = br2.readLine()) != null){
System.err.println("------------------"+text);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
} catch (Exception e) {
e.printStackTrace();
}
}

4.jsp中,

引入flexpaper的class 和js

<link rel="stylesheet" type="text/css"
href="${ctx}/pages/flexPaper/css/flexpaper.css" />

<script src="${ctx}/pages/flexPaper/js/flexpaper.js"
charset="UTF-8"></script>
<script
src="${ctx}/pages/flexPaper/js/flexpaper_handlers.js"
charset="UTF-8"></script>

<div id="documentViewer" class="flexpaper_viewer"  
style="width:770px;height:500px;"></div>


$(‘#documentViewer‘).FlexPaperViewer(
{ config : {
SWFFile : fileURL,
Scale : 0.6,
ZoomTransition : ‘easeOut‘,
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : true,
FitWidthOnLoad : false,
FullScreenAsMaxWindow : false,
ProgressiveLoading : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : false,
InitViewMode : ‘Portrait‘,
RenderingOrder : ‘flash‘,
StartAtPage : ‘‘,

ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
WMode : ‘window‘,
localeChain: ‘en_US‘
}}
);

以上为主要实现代码。flexpaper的使用可以参考官方下载包,将官方下载包直接丢到tomcat中是可以运行的。

-------------------------------------------------------------------------------------------------------------------------------------------

先写这么多,再次感谢伟大的各界网友和IT同行,提供的各种资料给我与莫大的帮助。thank you!

linux在线预览pdf文件开发思路,布布扣,bubuko.com

时间: 2024-09-30 18:55:00

linux在线预览pdf文件开发思路的相关文章

jquery在线预览PDF文件,打开PDF文件(向下兼容ie8、ie7)

最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了. 核心代码 Html代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/199

WEB在线预览PDF

这是我在博客园发表的第一篇文章.以后会陆续把在线预览其他格式文档的解决方案发表出来. 解决思路:把pdf转换成html显示. 在线预览pdf我暂时了解3种解决方案,欢迎大家补充. 方案一: 利用pdf2html软件将PDF转换成HTML. 用法: PDF2HTML [选项] <PDF 文件> [<HTML 文件>] -f <页数>   : 转换开始页-l <页数>  : 转换结束页-z <缩放率>        : 设置转换缩放率,从 50 到

fis3+vue+pdf.js制作预览PDF文件或其他

人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠人玫瑰,手留余香呢?终于时候到了...哈哈 首先容我吐槽一番,在大前端的背景下各种框架层出不穷,相对的各种打包工具也应用而生,要说最火的就是webpack了,用户多所以社区相对活跃,团队维护,网上也有各种各样的问题可以轻易搜到从而解决自己的遇到的各种奇葩问题,所以90%的项目都会采用webpack来

实现在线预览PDF的几种解决方案

原文:实现在线预览PDF的几种解决方案 因客户需要实现PDF的预览处理,在网上找了一些PDF在线预览的解决方案,有的用PDFJS的在线预览方式,有的使用PDFObject的嵌入式显示,有的通过转换JPG/PNG方式实现间接显示的方式,开始是想通过简单的方式,能够使用JS插件实现预览最好,可是在线预览总是有一些不足,如不同浏览器的兼容问题,甚至不同的手机平台中展示的效果也不一样,不过最好还是采用了间接的方式,把PDF转换为图片展示效果,达到客户的要求. 1.在线实现预览的方式 一开始我还是很倾向使

在线预览PDF格式的需求

在线预览PDF格式的需求,FlexPaper.flexpaper是将pdf转换为swf格式的文件预览的,所以flexpaper一般和swftool 配合使用,在程序运行时将pdf文件转换为swf格式的文件.主要原理1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件2.通过swfTools将pdf文件转换成swf格式的文件3.通过FlexPaper文档组件在页面上进行展示 <!DOCTYPE html PUBLIC "-//W3C//DTD

js预览PDF文件,使用iframe实现

有时候需要预览PDF文件,需要实现可放大.缩小.下载.打印等功能,我使用了iframe框架. 实现效果: 实现代码: 我直接写在了一个公共组件中,在需要预览的页面直接引用该子组件即可. <iframe :src="src" frameborder="0" style="width: 100%; height: 100%"></iframe> data() { return { src: 'http://storage.xu

在线预览Office文件【效果类似百度文库】

引言 结合上个项目和目前做的这个项目,其中都用到了Office文件在线预览,目前项目中是用到公司购买的Ntko控件,该控件每次浏览文件时则会提示安装信任插件,很繁琐,而且浏览效果不好. 提到Office文件在线预览,那么效果最好的应该就是百度文库的效果了,所以今天就忙里偷闲自己搞了下. 用到知识点 1.Office文件转化为Pdf文件.直接用.Net类库:Microsoft.Office.Interop.Excel.Microsoft.Office.Interop.Powerpoint.Micr

ASP.NET MVC 项目直接预览PDF文件

背景及需求 项目使用的是MVC4框架,其中有一个功能是根据设置生成PDF文件,并在点击时直接预览. 实现过程 1.第一版实现代码: HTML内容 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> &

asp.net在线预览txt文件(简单实现)

最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了 txt文件 1.第一次后台直接输出 效果如我所料 后台的一些符合和html符号都没有输出 2.想到用HTML <pre> 标签实现 效果: 不错,基本格式都已经有了,但html仍不是我想要的结果 3.考虑替换想html字符 注:只需要替换一个字符即可,我这里替换< 效果: 恩不错,就是这个效果 源码 1 /// <summary> 2 /// 初始化页面 3 /// <