導航:首頁 > 文檔加密 > java在線預覽pdf

java在線預覽pdf

發布時間:2023-01-02 09:08:57

javaWeb開發中怎麼讓文件可以在線預覽,比如預覽doc,txt,ceb文件。

  1. 一般下載時能在線打開,我以前做過pdf的,貌似是本地軟體支持的,即在線打開只是調用本地的軟體。如pdf閱讀器類。

  2. 如果說能直接點擊文件查看的,以前我用過webOffice的控制項。就叫點聚webOffice,可以在線打開。

⑵ 用java做一個word和excel的在線預覽功能,跪求代碼

前提:本人的系統為Ubuntu13.1064位系統。本篇是我在配置好環境後一段時間寫的,所以操作上可能會有也錯誤,因此僅供參考。 搜索在線顯示office和pdf,最常見的方法就是把都轉為swf,然後通過FlexPaper顯示。這個方法有缺點,FlexPaper不支持所有瀏覽器(我只能在chrome中使用,firefox要進行設置) 我用的系統是Ubuntu13.1064位 一下所提到的軟體,我都會在附件中分享 一、openoffice安裝 下載附件中的Apache_OpenOffice_incubating_3.4.1_linux_x86-64_install-rpm_zh-CN,解壓,安裝RPMS裡面的所有deb包,然後按炸ungRPMS/desktop-integration裡面的openoffice.org3.4-redhat-menus_3.4-9594_all.deb。假如從網上下載下來的openoffice裡面全市rmp包的話需要自己通過alien轉換成deb(附件中的是我自己轉換過的) 安裝完成後就可以運行了 soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard 網上提示使用soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard&的是後台運行 運行以後可以通過netstat-ano|grep8100查看時候運行,上面的命令是在8100運行oppenoffice 網上還說要安裝OpenOfficeSDK3.3這個東東,我沒有裝也可以轉換 二、offie轉pdf 下載附件中的jodconverter-2.2.2,通過命令 java-jarjodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jarXXX.docxXXX.pdf 轉換office為pdf 三、安裝freetype-2.4.6和jpeg-8c 不安裝這兩個的話是沒有辦法編譯出swftools中的pdf2swf的 安裝方法是進入目錄,然後 ./configure make makeinstall 四、添加字體 下載附件中的chinese-simplified(裡面已經添加了部分字體),解壓,放到/usr/local/share/xpdf/中,如果沒有xpdf文件夾就新建一個。 五、安裝swftools 下載附件中的swftools-2013-04-09-1007,同樣 ./configure make makeinstall 就可以了,運行 psf2swf 如果help提示的話表示安裝成功 運行命令 pdf2swf-oXXX.swf-T-z-t-fXXX.pdf-slanguagedir=/usr/local/share/xpdf/chinese-simplified-sflashversion=9 可以把pdf轉換成swf了。 至此完畢 所有附件附件:

⑶ flexpaper在線預覽問題java linux office文件在線預覽的時候出現如圖的問題,不能預覽,求大神幫忙

swftools-0.9.1.exe 和 FlexPaper_1.4.5_flash.zip,工具網上下載。
二、PDF轉換SWF文件核心類:

public class DocConverter {
private static final int environment = 1;// 環境1:windows,2:linux(涉及pdf2swf路徑問題)
private String fileString;
private String outputPath = "";// 輸入路徑,如果不設置就輸出在默認位置
private String fileName;
private File pdfFile;
private File swfFile;
private File docFile;

public DocConverter(String fileString) {
ini(fileString);
}

/*
* 重新設置 file @param fileString
*/
public void setFile(String fileString) {
ini(fileString);
}

/*
* 初始化 @param fileString
*/
private void ini(String fileString) {
this.fileString = fileString;
fileName = fileString.substring(0, fileString.lastIndexOf("."));
docFile = new File(fileString);
pdfFile = new File(fileName + ".pdf");
swfFile = new File(fileName + ".swf");
}

/*
* 轉為PDF @param file
*/

/*
* 轉換成swf
*/
private void pdf2swf() throws Exception {
Runtime r = Runtime.getRuntime();
if (!swfFile.exists()) {
if (pdfFile.exists()) {
if (environment == 1)// windows環境處理
{
try {
// 這里根據SWFTools安裝路徑需要進行相應更改
Process p = r.exec("G:/Program Files/SWFTools/pdf2swf.exe " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
System.out.print(loadStream(p.getInputStream()));
System.err.print(loadStream(p.getErrorStream()));
System.out.print(loadStream(p.getInputStream()));
System.err.println("****swf轉換成功,文件輸出:" + swfFile.getPath() + "****");
if (pdfFile.exists()) {
// pdfFile.delete();
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
} else if (environment == 2)// linux環境處理
{
try {
Process p = r.exec("pdf2swf " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
System.out.print(loadStream(p.getInputStream()));
System.err.print(loadStream(p.getErrorStream()));
System.err.println("****swf轉換成功,文件輸出:" + swfFile.getPath() + "****");
if (pdfFile.exists()) {
pdfFile.delete();
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
} else {
System.out.println("****pdf不存在,無法轉換****");
}
} else {
System.out.println("****swf已存在不需要轉換****");
}
}

static String loadStream(InputStream in) throws IOException {
int ptr = 0;
//把InputStream位元組流 替換為BufferedReader字元流 2013-07-17修改
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder buffer = new StringBuilder();
while ((ptr = reader.read()) != -1) {
buffer.append((char) ptr);
}
return buffer.toString();
}

/*
* 轉換主方法
*/
public boolean conver() {
if (swfFile.exists()) {
System.out.println("****swf轉換器開始工作,該文件已經轉換為swf****");
return true;
}

if (environment == 1) {
System.out.println("****swf轉換器開始工作,當前設置運行環境windows****");
} else {
System.out.println("****swf轉換器開始工作,當前設置運行環境linux****");
}

try {
// doc2pdf();
pdf2swf();
} catch (Exception e) {
// TODO: Auto-generated catch block
e.printStackTrace();
return false;
}

if (swfFile.exists()) {
return true;
} else {
return false;
}
}

/*
* 返迴文件路徑 @param s
*/
public String getswfPath() {
if (swfFile.exists()) {
String tempString = swfFile.getPath();
tempString = tempString.replaceAll("\\\\", "/");
return tempString;
} else {
return "";
}
}

/*
* 設置輸出路徑
*/
public void setOutputPath(String outputPath) {
this.outputPath = outputPath;
if (!outputPath.equals("")) {
String realName = fileName.substring(fileName.lastIndexOf("/"), fileName.lastIndexOf("."));
if (outputPath.charAt(outputPath.length()) == '/') {
swfFile = new File(outputPath + realName + ".swf");
} else {
swfFile = new File(outputPath + realName + ".swf");
}
}
}
}

三、JSP文件,注意引入的幾個js文件和FlexPaperViewer.swf文件,其中FlexPaperViewer.swf和jsp文件放在同一目錄即可。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String paths=(String)request.getAttribute("swfpath");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>te</title>

<style type="text/css" media="screen">
html, body { height:100%; }
body { margin:0; padding:0; overflow:auto; }
#flashContent { display:none; }
</style>

<script type="text/javascript" src="<%=basePath %>js/swfobject/swfobject.js"></script>
<script type="text/javascript" src="<%=basePath %>js/flexpaper_flash.js"></script>
<script type="text/javascript">
//<!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
var swfVersionStr = "10.0.0";
//<!-- To use express install, set to playerProctInstall.swf, otherwise the empty string. -->
/* var xiSwfUrlStr = "playerProctInstall.swf"; */
var xiSwfUrlStr = ""; //值可以任意

var flashvars = {
SwfFile : escape("<%=basePath+paths%>"), //swf文件路徑(lucene4.6和頁面同一個位置)
Scale : 0.6,
ZoomTransition : "easeOut",
ZoomTime : 0.5,
ZoomInterval : 0.1,
FitPageOnLoad : false,
FitWidthOnLoad : true,
PrintEnabled : true,
FullScreenAsMaxWindow : false,
ProgressiveLoading : true,

PrintToolsVisible : true,
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
FullScreenVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,

localeChain: "en_US"
};

var params = {

}
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "FlexPaperViewer";
attributes.name = "FlexPaperViewer";
swfobject.embedSWF(
"FlexPaperViewer.swf", "flashContent",
"1024", "700",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
swfobject.createCSS("#flashContent", "display:block;text-align:center;");
</script>

</head>
<body>

<div style="width: 100%;height: 90%; text-align: center;">
<div id="flashContent">
</div>
</div>

</body>
</html>

⑷ java 怎麼實現在線預覽上傳的word等文件的預覽功能

可以將word先轉為pdf,然後在頁面中嵌一個iframe,在這個frame中直接打開這個pdf文件。
僅供參考

⑸ java中怎樣實現附件在線預覽

pageoffice可以在線打開word、excel文檔
圖片可以使用Viewer.js等開源框架
pdf可以通過swfTools將pdf文件轉換成swf格式的文件然後使用FlexPaper在頁面上顯示

⑹ Java 如何實現打開PDF文件,並把文件顯示出來;就是實現文件打開的功能。急,急....

java打開PDF需要藉助其他的jar包的,如果我沒記錯的話,然後查看相應的API介面。應該是以流的形式進行讀取,之前寫過一點是往裡面寫數據的,生成html文然後寫入PDF文件 工具有:
ItextPdf、FlyingAndItext、pd4ml 這些是將html文轉換為PDF文件的,讀取的話直接用bufferread讀取試試(我沒寫過!)

⑺ Javaweb office文檔在線預覽怎麼實現!!!

在線預覽的不是office格式,而且是swf文件,
flexPaper是可以把swf放在頁面上進行展示的,
1、flash 的flexpaper 將文檔轉換為swf格式,然後使用flash在網頁中瀏覽,
2、使用開源的軟體openoffice+pdf2htmlEx,利用openoffice的介面先將文檔轉換為pdf格式,然後在使用pdf2htmlEx將文檔轉換為html直接在網頁中顯示;
3、搭建一個文檔預覽伺服器,基於office web app,也就是微軟的office online。

搭建伺服器步驟:
首先,需要轉換server
安裝IIS 7.0,打開伺服器管理器,添加角色和功能,打開「添加角色和功能向導」界面,點擊下一步,因為是基於本機安裝,所以要選擇「基於角色或者基於功能安裝」,在伺服器角色列表上選擇「Web伺服器」,點擊下一步,安裝完成。
其次,域控server

(1)打開伺服器管理器,添加角色和功能,出現「添加角色和功能」界面,下一步,因為是基於本機安裝,所以要選擇「基於角色或基於功能安裝」,選擇添加AD域服務,同時添加所需功能,根據提示操作,下一步,等待安裝完成。
(2)配置域,點擊伺服器管理器左側「AD DS」,點擊「升級為域控制器」,進入AD域伺服器配置向導,下一步(注意:域的填寫),填寫密碼,下一步,提示DNS無法創建,不用管,繼續下一步,安裝路徑,默認,下一步,查看選項,默認,下一步,點擊安裝,安裝完成,會提示注銷重啟。
(3)將轉換伺服器加入到域控伺服器,修改NDS,指向域控伺服器,在計算機屬性中,修改計算機名稱,並添加到域控伺服器(如下圖),確定後提示注銷重啟伺服器,在域控伺服器,管理中選擇添加伺服器,名稱填寫office web apps server的計算機名稱,立即查找。然後添加到右邊,確定。在域控伺服器中,所有伺服器顯示兩台伺服器,並都是聯機狀態則表示成功。
至此,伺服器安裝完成。

⑻ 如何用java實現預覽word,ppt文檔部分內容

開源的方法是用:openoffice+swfTool +jodconverter文件預覽;原理是:將word轉成pdf,再轉成swf文件通過falsh實現在線預覽

閱讀全文

與java在線預覽pdf相關的資料

熱點內容
抖音網紅程序員直播 瀏覽:166
西南伺服器什麼時候上線 瀏覽:425
混合動力pdf 瀏覽:514
編程梯形面積怎麼求 瀏覽:216
b站app如何刪除自己發出的彈幕 瀏覽:394
角點匹配演算法 瀏覽:677
微信雲端轉發源碼下載 瀏覽:425
excel轉換pdf破解版 瀏覽:235
建立資料庫的命令 瀏覽:426
程序員都怎麼清理內存的 瀏覽:904
python爬蟲文檔 瀏覽:634
稀缺的程序員 瀏覽:165
怎麼用命令方塊禁止刷屏 瀏覽:929
編程零基礎教學第三講 瀏覽:439
伺服器出廠編號怎麼看 瀏覽:192
機架式伺服器怎麼設置 瀏覽:606
洗浴會員系統源碼可對接公眾號 瀏覽:409
公司加密電腦的文件怎麼導出 瀏覽:902
河北教小孩學編程 瀏覽:302
命令之下的英雄主義 瀏覽:162