java实现插入word页眉页脚以及生成目录及页码

java实现插入word页眉页脚以及生成目录及页码,第1张

public class JavaToWords {

/**

* word运行程序对象

*/

private ActiveXComponent word

/**

* 选定内容

* @return Dispatch 选定的范围或插入点

*/

public Dispatch select() {

return word.getProperty("Selection").toDispatch()

}

public void toWord(String seekView) {

Dispatch selection = select()

//设置页眉

if(seekView != null &&!"".equals(seekView)){

//取得活动窗体对象

Dispatch ActiveWindow = word.getProperty("ActiveWindow").toDispatch()

//取得活动窗格对象

Dispatch ActivePane = Dispatch.get(ActiveWindow,"ActivePane").toDispatch()

//取得视窗对象

Dispatch View = Dispatch.get(ActivePane, "View").toDispatch()

try{

Dispatch.put(View,"SeekView", "9")//设置页眉

Dispatch.put(selection,"Text",seekView)

Dispatch.put(View, "SeekView", "10")// 10是设置页脚

Dispatch.put(selection, "Text", seekView)//

}finally{

if(ActiveWindow != null ) ActiveWindow.safeRelease()

if(ActivePane != null ) ActivePane.safeRelease()

if(View != null ) View.safeRelease()

}

}

}

}

希望对你有些帮助,不过好像要下一个外部资源包,叫jacob 的,我也记的不太清楚了,应该是这个,你找找看

package com.ray.poi.util

import java.io.ByteArrayInputStream

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream

import java.io.IOException

import org.apache.poi.poifs.filesystem.DirectoryEntry

import org.apache.poi.poifs.filesystem.DocumentEntry

import org.apache.poi.poifs.filesystem.POIFSFileSystem

import org.textmining.text.extraction.WordExtractor

/**

* 读写doc

* @author wangzonghao

*

*/

public class POIWordUtil {

/**

* 读入doc

* @param doc

* @return

* @throws Exception

*/

public static String readDoc(String doc) throws Exception {

// 创建输入流读取DOC文件

FileInputStream in = new FileInputStream(new File(doc))

WordExtractor extractor = null

String text = null

// 创建WordExtractor

extractor = new WordExtractor()

// 对DOC文件进行提取

text = extractor.extractText(in)

return text

}

/**

* 写出doc

* @param path

* @param content

* @return

*/

public static boolean writeDoc(String path, String content) {

boolean w = false

try {

// byte b[] = content.getBytes("ISO-8859-1")

byte b[] = content.getBytes()

ByteArrayInputStream bais = new ByteArrayInputStream(b)

POIFSFileSystem fs = new POIFSFileSystem()

DirectoryEntry directory = fs.getRoot()

DocumentEntry de = directory.createDocument("WordDocument", bais)

FileOutputStream ostream = new FileOutputStream(path)

fs.writeFilesystem(ostream)

bais.close()

ostream.close()

} catch (IOException e) {

e.printStackTrace()

}

return w

}

}

测试

package com.ray.poi.util

import junit.framework.TestCase

public class POIUtilTest extends TestCase {

public void testReadDoc() {

try{

String text = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc")

System.out.println(text)

}catch(Exception e){

e.printStackTrace()

}

}

public void testWriteDoc() {

String wr

try {

wr = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc")

boolean b = POIWordUtil.writeDoc("c:\\demo.doc",wr)

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

看看取出来的对象有哪些属性

两个jar包

http://www.apache.org/dyn/closer.cgi/poi/release/

http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11746031.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存