1. 程式人生 > >java 實現圖片線上預覽

java 實現圖片線上預覽

一、場景

使用者上傳了一張圖片,已有伺服器儲存路徑。需實現點選預覽將圖片顯示在瀏覽器上。線上預覽圖片的方法也有很多,比如 用<img>標籤,也可以用 js 方法等等。

這篇文章主要介紹使用 pageoffice 外掛線上實現圖片的預覽

二、核心程式碼

大家可能看到api顯示的是開啟pdf 的方法,別擔心,開啟圖片也是用的這個方法呢。

三、實現過程

1.官網http://www.zhuozhengsoft.com/dowm/下載整合檔案,引入jar包,配置web.xml

2.在父頁面aaa.jsp(需要開啟文件的頁面)放一個a標籤或者button

寫a標籤之前先引入pageoffice需要的js檔案

<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>

然後新增a標籤 

<a href="javascript:POBrowser.openWindowModeless('Image.jsp' , 'width=1200px;height=800px;');">開啟圖片</a>

3.在父頁面同級目錄下建立一個名為Image.jsp的檔案和test.jpg的圖片

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.zhuozhengsoft.pageoffice.*, com.zhuozhengsoft.pageoffice.wordwriter.*,java.awt.*"%>
<%

PDFCtrl poCtrl1 = new PDFCtrl(request);
poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須

// Create custom toolbar
poCtrl1.addCustomToolButton("列印", "Print()", 6);

poCtrl1.addCustomToolButton("-", "", 0);
poCtrl1.addCustomToolButton("實際大小", "SetPageReal()", 16);
poCtrl1.addCustomToolButton("適合頁面", "SetPageFit()", 17);
poCtrl1.addCustomToolButton("適合寬度", "SetPageWidth()", 18);
poCtrl1.addCustomToolButton("-", "", 0);
poCtrl1.addCustomToolButton("左轉", "RotateLeft()", 12);
poCtrl1.addCustomToolButton("右轉", "RotateRight()", 13);
poCtrl1.addCustomToolButton("-", "", 0);
poCtrl1.addCustomToolButton("放大", "ZoomIn()", 14);
poCtrl1.addCustomToolButton("縮小", "ZoomOut()", 15);
poCtrl1.addCustomToolButton("-", "", 0);
poCtrl1.addCustomToolButton("全屏", "SwitchFullScreen()", 4);

poCtrl1.webOpen("doc/test.jpg");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>

 <style>
#main{
	width:1030px;
	height:900px;
	border:#83b3d9 2px solid;
	background:#f2f7fb;
	
}
#shut{
	width:45px;
	height:30px;
	float:right;
	margin-right:-1px;
}
#shut:hover{
	}
</style>
</head>
<body style="overflow:hidden" >

      
    
       <script type="text/javascript">
           function Close() {
               window.external.close();
        }

	</script>
	<!--**************   卓正 PageOffice 客戶端程式碼開始    ************************-->
	<script language="javascript" type="text/javascript">
	    function AfterDocumentOpened() {
	        //alert(document.getElementById("PDFCtrl1").Caption);
	    }
	    function SetBookmarks() {
	        document.getElementById("PDFCtrl1").BookmarksVisible = !document.getElementById("PDFCtrl1").BookmarksVisible;
	    }
	    
	    function PrintFile() {
	        document.getElementById("PDFCtrl1").ShowDialog(4);
	    }
	    function SwitchFullScreen() {
	        document.getElementById("PDFCtrl1").FullScreen = !document.getElementById("PDFCtrl1").FullScreen;
	    }
	    function SetPageReal() {
	        document.getElementById("PDFCtrl1").SetPageFit(1);
	    }
	    function SetPageFit() {
	        document.getElementById("PDFCtrl1").SetPageFit(2);
	    }
	    function SetPageWidth() {
	        document.getElementById("PDFCtrl1").SetPageFit(3);
	    }
	    function ZoomIn() {
	        document.getElementById("PDFCtrl1").ZoomIn();
	    }
	    function ZoomOut() {
	        document.getElementById("PDFCtrl1").ZoomOut();
	    }
	    function FirstPage() {
	        document.getElementById("PDFCtrl1").GoToFirstPage();
	    }
	    function PreviousPage() {
	        document.getElementById("PDFCtrl1").GoToPreviousPage();
	    }
	    function NextPage() {
	        document.getElementById("PDFCtrl1").GoToNextPage();
	    }
	    function LastPage() {
	        document.getElementById("PDFCtrl1").GoToLastPage();
	    }
	    function RotateRight() {
	        document.getElementById("PDFCtrl1").RotateRight();
	    }
	    function RotateLeft() {
	        document.getElementById("PDFCtrl1").RotateLeft();
	    }
	</script>

   
<div id="main">

<div id="content"  style="height:850px;width:1028px;overflow-y:auto;">
<%=poCtrl1.getHtmlCode("PDFCtrl1")%>
</div>
</div> 
  </body>
</html>

啟動專案直接訪問.此時會提示安裝外掛,點選安裝成功後提示註冊,填寫相關資訊,填寫註冊碼    I7TGD-71VV-FYD8-4NMYP   就可以開啟文件.

最終效果

http://www.pageoffice.cn:8080/Samples4/

訪問上面的連結看看下面對應的示例

剛開始接觸pageoffice的話,也可以看視訊快速上手http://www.zhuozhengsoft.com/Technical/

相關推薦

js+java 實現圖片線上功能

本部落格主要描述如何用JavaScript+java實現圖片的預覽功能,其實要點還是需要服務端的流。 (一)功能描述 點選頁面的 【預覽】 檢視已經上傳的或者在伺服器中存在的圖片。 (二)實現原理 使用img標籤的src屬性來渲染資料,但是,sr

java 實現圖片線上

一、場景 使用者上傳了一張圖片,已有伺服器儲存路徑。需實現點選預覽將圖片顯示在瀏覽器上。線上預覽圖片的方法也有很多,比如 用&l

Java實現Office線上

上傳檔案是我們在開發中經常遇到的需求,而某些情況下,我們需要實現Office的線上預覽功能。 一.下載及安裝軟體 1.安裝OpenOffice軟體 ,該軟體的作用是將Office轉換為Pdf 該軟體是Apache旗下的一個免費的文書處理軟體,下載地址:Apache Open

java SpringMvc 實現檔案線上(openoffice+swftools+flexpaper)

專案需求:伺服器接受的檔案當下只能下載之後才能瀏覽內容,現需要後臺能線上瀏覽到檔案內容,避免繁瑣無用檔案下載操作. 通過幾天網上資料搜尋,目前免費的線上預覽開發技術使用最多還是(openoffice+swftools+flexpape

java 使用poi將PPT轉為圖片,線上PPT

線上預覽PPT,我的思路為java 使用poi將PPT轉為圖片,圖片儲存到指定的資料夾下面,然後返回生成的圖片名稱集合,將圖片路徑遍歷到前臺的html標籤上,用HTML前臺模仿畫一個PPT框架,操作圖片地址路徑從而實現模擬線上預覽的效果;前臺程式碼省略,如下是後臺的一個工具類

C# web實現word 轉Html、office轉Html、pdf轉圖片 線上檔案

 改篇 pdf 預覽再本機沒問題,釋出再iis中 不行 ,(使用剪貼簿的問題..excel和word 可以,) 詳細配置及程式碼 word 轉Html 複製程式碼  1 /// <summary>  2         /// word轉成html  3  

cropper.js實現圖片裁剪並轉換為base64發送至服務端。

urlencode button 圖片 all 完成 r.js borde lan meta 一 、準備工作 1.首先需要先下載cropper,常規使用npm,進入項目路徑後執行以下命令: npm install cropper 2. cropper基於

javascript實現圖片實時的兩種方式

javascript實現圖片實時預覽的兩一、FileReader(base64): 代碼: <input id="file" type="file"> <img id="img" > <script> var file = document.getElementById(

基於Vue + Node.js + MongoDB的圖片上傳組件,實現圖片和刪除

信息 clas 發送數據 演示 新增 one input標簽 return tof 公司要寫一些為自身業務量身定制的的組件,要基於Vue,趁著這個機會,自己在業余時間也寫了個組件,選擇寫圖片上傳是因為自己之前一直對這個功能比較迷糊,所以這次好好了解了一下。演示在網址打開後的

JS實現圖片圖片的寬高獲取

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>圖片預覽</title> </head> <style

Jquery.media.js實現網頁線上pdf檔案

近期在工作中遇到了需要在網站預覽pdf檔案的需求,網上的資料很多,我使用了其中一種,即使用 Jquery.media.js包實現。 首先需要準備兩個內容: 1,jquery.js,任意版本 2,jquery.media.js,可以從網上搜,或者去下面我提供的地方下載(是我上傳的),

js 實現 pdf 線上 列印 【完整版】

今天想寫的內容   因為網上有用的太少了,自己半摸索的實現了【文末有原始碼程式碼下載連結】。 1.說下需求:點選標題  跳轉  預覽的pdf  頁,下載功能 可選【最好有】。  2.實現結果 :   &nbs

使用input[type=file]原生實現圖片和上傳

1. 模仿表單提交: 建立一個FormData物件          呼叫它的 append() 方法來新增欄位 // formData.append(key, value); var fd = new FormData(); fd.append("username",

js加canvas實現圖片壓縮和上傳

先來一張效果圖,壓壓驚第一步:使用者選擇需要上傳的圖片<input type="file" accept="image/*" type="file"" name="imageFile" onchange="upload()">在選定了圖片後 upload 函式將被

Java轉PDF線上

專案要用到doc轉pdf的功能,一番google之後總結出了三種方法(免費方案) 方法1.poi讀取doc + itext生成pdf (實現最方便,效果最差,跨平臺) 方法2.jodconverter + openOffice (一般格式實現效果還行,複雜格式容易有錯位,跨

java+js PDF線上與列印(支援中文)Demo

1.主要講一下思路,首先獲取字型檔案,將字型檔案載入,然後將PDF檔案按一定格式生成。在前臺顯示, 2.載入字型檔案時需要注意字型檔案的路徑 3.前臺顯示時pdf檔案的路徑為專案路徑 加檔案路徑,這是我被卡的三點,應用了PDFObject.js外掛。我上傳到了百度雲 連

自定義上傳圖片按鈕 實現圖片和切換

功能:自定義上傳按鈕的樣式,初始樣式的透明度為0,設定自己想要的樣式,同時可以實現上傳圖片的預覽。 HTML程式碼: <form action="" name="formx" method="post" enctype="multipart/form-data

【選擇圖片Jar】全屏DialogFragment實現圖片詳情(十)

1.前言 上一篇文章我們在最後丟擲了一個問題。到底我們要如何實現圖片的詳情頁的預覽。 如圖: 相信大家看了標題已經知道了,我們是用DialogFragment實現我們這個功能的! 嘿嘿,可能這個時候會有點驚訝,原來DialogFragment還有這樣的

SpringBoot + FreeMarker + FlyingSaucer 實現PDF線上、列印、下載

關鍵技術點:1.Freemarker模板引擎模板語法2.FlyingSaucer根據模板生成pdf相容中文(及中文換行問題)相容CSS(絕對、相對定位)相容圖片多頁輸出(示例程式碼沒有dao、service層,生產環境中自行新增,本示例完整,不坑人)實現步驟Spri

java通過url線上Word、excel、ppt、pdf、txt文件中的內容【只獲得其中的文字】

在頁面上顯示各種文件中的內容。在servlet中的邏輯 word:  BufferedInputStream bis = null;   URL url = null;   HttpURLConnection httpUrl = null; // 建立連結   url