1. 程式人生 > >java 線上給word 檔案插入圖片,並設定圖片大小

java 線上給word 檔案插入圖片,並設定圖片大小

一、前言:

有時我們想在一篇word文件中的指定位置新增一張伺服器上的圖片,並且並且設定圖片大小。這個對文件的操作一定是需要第三方api的。市面上對文件處理的外掛有POI以及openoffice等等,學習成本很大,關鍵是通過這些外掛對文件的操作功能也是十分有限。

所以我們今天就要介紹一箇中間件技術——pageoffice,此中介軟體技術已經將 在web系統操作office文件的大部分功能整合完畢,大家只需要關注自己web系統的業務邏輯即可,學習成本低,且功能很豐富。下面我們來實戰將pageoffice整合一下


二、核心程式碼

插入圖片的程式碼

DataRegion dataRegion = worddoc.openDataRegion("PO_開頭的書籤名稱");
dataRegion.setValue("[image]doc/1.jpg[/image]");

插入圖片並設定圖片大小的程式碼

data1.setValue("[image width=500.2 height=200]doc/1.jpg[/image]");

注意:500.2單位是磅

具體實現過程

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

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

寫a標籤之前先引入pageoffice需要的js檔案(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('Word.jsp' , 'width=1200px;height=800px;');">開啟檔案</a>

3.在父頁面同級目錄下建立一個名為Word.jsp的檔案

<%@ page language="java"
	import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"
	pageEncoding="utf-8"%>
<%
	//******************************卓正PageOffice元件的使用*******************************
	PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
	poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須

	WordDocument worddoc = new WordDocument();

	//先在要插入word檔案的位置手動插入書籤,書籤必須以“PO_”為字首
	//給DataRegion賦值,值的形式為:"[word]word檔案路徑[/word]、[excel]excel檔案路徑[/excel]、[image]圖片路徑[/image]"
	DataRegion data1 = worddoc.openDataRegion("PO_p1");
	data1.setValue("[image width=100  height=100 ]doc/1.jpg[/image]");


	poCtrl1.setWriter(worddoc);
	poCtrl1.setCaption("演示:後臺程式設計插入圖片到資料區域並設定圖片大小(企業版)");

	

	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "張三");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>演示:後臺程式設計插入圖片到資料區域(專業版、企業版)</title>

</head>
<body>
  
    <form id="form1" style="height: 100%;">
    <div style="height: 700px; width: auto;">
        <!--**************   PageOffice 客戶端程式碼開始    ************************-->
        	        <%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
        <!--**************   PageOffice 客戶端程式碼結束    ************************-->
    </div>
    </form>
</body>
</html>

最終的效果

(1)設定圖片大小為 寬高都為100 的時候

(2)圖片大小寬高都為500的時候

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

注意設定圖片大小的功能只有企業版才能支援。

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

相關推薦

java 線上word 檔案插入圖片設定圖片大小

一、前言: 有時我們想在一篇word文件中的指定位置新增一張伺服器上的圖片,並且並且設定圖片大小。這個對文件的操作一定是需要第三

Java 線上開啟 word 檔案並且禁止複製

前言: 在我們的web系統中,有時會有合同公文等 一些需要在網頁上開啟的word檔案。並且也會伴隨著安全瀏覽的需求:比如,擔心使用

iview 表格插入圖片獲取圖片對應資料

 首先通過attr為標籤新增屬性,屬性值為對應圖片下標index; 然後在on裡邊通過e.target點選事件獲取點中的標籤,然後獲取屬性uid對的值,傳參 { title: '一審修改', key: 'onesh

java利用POI向Excel(xls)寫入圖片圖片引用超連結

1.maven依賴 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.

# Android 裁剪儲存為透明png圖片設定其列印解析度dpi(pHYs)

Android 裁剪儲存為透明png圖片,並設定其列印解析度dpi(pHYs) 1.裁剪透明區 做一張同樣大小的圖(路徑圖),想裁去的部分設定為白色,遍歷識別路徑圖的白色畫素點位置,並設定目標圖該位置為透明顏色,關鍵程式碼: public static Bitm

java模擬http的Get/Post請求設定ip與port代理

1、因為很多公司的內網都設有代理,瀏覽器通過ip與port上網,而java程式碼模擬http get方式同樣需要外網代理; 2、Java實現http的Get/Post請求程式碼; 3、主要是設定HttpURLConnection請求頭裡面的屬性 比如Cookie、Us

向QWidget中新增圖片使圖片隨窗體大小縮放

向QWidget中新增圖片有多種方式,其中一種方法如下: // 部分核心程式碼片段 在Qt 5.7中編譯通過 QWidget * widget = new QWidget; widget->setAtuoFillBackground(true); Q

根據Url非同步下載圖片圖片儲存到本地

public class AsynDownLoagPic extends AsyncTask<String, Void, Bitmap> { URL url = null; Cont

Android中開啟系統相機連續拍多張圖片得到圖片地址

1、開啟系統相機: Intent intent = new Intent(); intent.putExtra("return-data"

java 實現 線上開啟word 檔案轉換成 pdf 檔案

一、需求     線上把 word 檔案轉換成 pdf 檔案。 二、方案   &nb

java 傳送附件1是檔案附件2是圖片內容含有圖片的郵件

package com.common; import java.io.File; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; impor

java接受安卓及ios App上傳的圖片保存到阿裏OSS

access servle 設置 string gets ont 圖片上傳 擴展名 summary 做後臺的時候,寫了兩個方法,分別用來獲取安卓和蘋果IOS端上傳的頭像,保存到阿裏雲OSS圖片存儲服務器上。(SMM框架) 安卓及H5版本: 1 /** 2

利用keras載入訓練好的.H5檔案預測圖片

import matplotlib matplotlib.use('Agg') import os from keras.models import load_model import numpy as np from PIL import Image import cv2

java反射動態物件屬性賦值獲取屬性值

import java.lang.reflect.Field; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.Date; impo

Java ZXing 生成QRCode二維碼的兩種方式設定圖片大小和外白色邊框大小

QRGen在ZXing基礎上開發,這個庫使得利用Java生成QR碼變為小菜一碟。它需要依賴ZXing,所以生成圖案時你同時需要ZXing和QRGen的jar包。 QR 碼最常見的應用便是為網站中一個特定的網頁或下載頁帶來流量。因此,QR碼常常會編碼URL或網站地址,使用者可以通過手機攝像頭掃描,並在其瀏覽器中

使用Java IO 流進行檔案的複製複製成功卻打不開復制的檔案

在剛開始學習Java IO操作的時候,用的並不是很熟,看的書本上的內容也講的不可能很全面,很多小的方面都必須從實踐中慢慢積累、學習。 在這裡遇到的一個問題是,複製成功的檔案,卻打不開。比如PDF檔案,顯示檔案損壞,打不開檔案。後來才發現是因為原因在位元組流操

word插入MathType遇到問題“記憶體不足”“不能開啟toolbar.eql”

問題如標題所示。 解決問題的過程如下 步驟1 搜尋到博文,同樣,解除安裝重灌MathType,驗證結果:無效。 然後仿照其思路,主動建立對話方塊中的資料夾,C:\Users\Mineralter

Java通過Spring MVC匯出批量Excel檔案壓縮包彈出下載框

直接貼程式碼: 頁面jsp的部分程式碼,為表單提交的程式碼: <form id="exportForm" action="${pageContext.request.contextPath}/downLoad/exportFile.action" onsub

PDF檔案加註釋首選福昕PDF閱讀器

逛過博物館的小夥伴應該知道,在一些古字畫上總會有一些蓋章題詞,那是因為古人收藏家為了表達對這些作品的喜愛,自己題的詞或蓋章。其中以乾隆皇帝為盛,單單黃公望的一幅《富春山居圖》就被題詞加蓋章多達55處,真可謂喜(sang)愛(xin)有(bing)加(kuang)。 雖然

Java讀寫二進位制檔案到String再寫入二進位制檔案

概述 java讀寫檔案的有很多種方式,基本都是採用java.io的inputStream和各種基於inputstream的封裝實現對檔案的讀寫,最原始的介面提供的便是基於byte的讀寫,而String可以看做是char[],一個char是8個byte。在最原始