`
happyqing
  • 浏览: 3204921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

应用POI,word2007转html

    博客分类:
  • poi
阅读更多

 

poi 3.9

http://poi.apache.org/

 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.poi.xwpf.converter.core.FileImageExtractor;
import org.apache.poi.xwpf.converter.core.FileURIResolver;
import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFPictureData;
//import org.junit.Assert;
//import org.junit.Test;

public class word07toHtml {

	//@Test
	public static void canExtractImage() throws IOException {
		File f = new File("d:/test/test.docx");
		if (!f.exists()) {
			System.out.println("Sorry File does not Exists!");
		} else {
			if (f.getName().endsWith(".docx") || f.getName().endsWith(".DOCX")) {
				
				// 1) Load DOCX into XWPFDocument
				InputStream in = new FileInputStream(f);
				XWPFDocument document = new XWPFDocument(in);

				// 2) Prepare XHTML options (here we set the IURIResolver to
				// load images from a "word/media" folder)
				File imageFolderFile = new File("d:/test/media");
				XHTMLOptions options = XHTMLOptions.create().URIResolver(
						new FileURIResolver(imageFolderFile));
				options.setExtractor(new FileImageExtractor(imageFolderFile));
				//options.setIgnoreStylesIfUnused(false);
				//options.setFragment(true);
				
				// 3) Convert XWPFDocument to XHTML
				OutputStream out = new FileOutputStream(new File(
						"d:/test/test.htm"));
				XHTMLConverter.getInstance().convert(document, out, options);
			} else {
				System.out.println("Enter only MS Office 2007+ files");
			}
		}
	}
	
	public static void main(String args[]) {
		try {
			canExtractImage();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

其中org.apache.poi.xwpf.converter需要扩展包

如果你的项目用到了maven做如下配置即可,若果没用maven,请从本文附件下载

1.0.4 对应的是 poi 3.9

1.0.0 对应的是 poi 3.8

import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;

所需jar包

<dependencies>
	<dependency>
		<groupId> fr.opensagres.xdocreport</groupId>
		<artifactId> org.apache.poi.xwpf.converter.core</artifactId>
		<version> 1.0.4</version>
	</dependency>
	<dependency>
		<groupId> fr.opensagres.xdocreport</groupId>
		<artifactId> org.apache.poi.xwpf.converter.xhtml</artifactId>
		<version> 1.0.4</version>
	</dependency>
</dependencies>

 

如果报错:

java.lang.ClassNotFoundException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTSectPrImpl$1HeaderReferenceList

请添加 ooxml-schemas-1.1.jar

java.lang.ClassNotFoundException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTBodyImpl$1TblList

也是需要 ooxml-schemas-1.1.jar

用maven的会自动下来,没用maven的请从本文附件下载ooxml-schemas-1.1.rar,需要解压

 

不过,发现转换后的table没有边框,有待解决

 

java word转html(03,07) jacob,openoffcie,poi

http://happyqing.iteye.com/blog/2086437

 

分享到:
评论
9 楼 qdfqdf 2017-04-24  
java_zhenke 写道
非常感谢楼主,但是为何我执行转换报错:
org.apache.poi.xwpf.converter.core.XWPFConverterException: java.lang.NullPointerException
还望楼主帮忙解答一下


你弄个简单的docx应该能转,你那个docx可能太复杂了
8 楼 丿一小凯_ 2016-08-18  
word中的统计图(条形统计图等)无法显示啊
7 楼 java_zhenke 2015-06-29  
非常感谢楼主,但是为何我执行转换报错:
org.apache.poi.xwpf.converter.core.XWPFConverterException: java.lang.NullPointerException
还望楼主帮忙解答一下
6 楼 轮回稻草人 2015-03-31  
不知道木有边框这个问题楼主有木有解决?
5 楼 a906910 2014-10-09  
我用了后 图片没有出来 哪里配置出问题了?生成的html没有img标签
4 楼 happyqing 2014-08-28  
宋_良 写道
楼主、我不太明白你这句话"用maven的会自动下来,没用maven的请从本文附件下载,需要解压" 没用maven的  在这里下哪个附件? 你这里貌似只有这些jar包  我怎么配你上面maven的xml配置文件?

1.你没看到附件中有个ooxml-schemas-1.1.rar吗?iteye只允许上传10M大小的附件,所以压缩了一下。
2.你若会用maven就会配了,想配建议先看看maven。
3 楼 宋_良 2014-08-25  
楼主、我不太明白你这句话"用maven的会自动下来,没用maven的请从本文附件下载,需要解压" 没用maven的  在这里下哪个附件? 你这里貌似只有这些jar包  我怎么配你上面maven的xml配置文件?
2 楼 happyqing 2014-08-05  
yuanbian007 写道
楼主很细心,要是早点看到这篇文章会省我很多事。

呵呵呵
1 楼 yuanbian007 2014-08-05  
楼主很细心,要是早点看到这篇文章会省我很多事。

相关推荐

    poi完美word转html

    为了更深入地理解和应用Apache POI进行Word到HTML的转换,可以查阅官方文档和社区论坛,获取最新的库版本和支持的特性列表。此外,许多在线教程和示例代码也能提供帮助,特别是针对特定需求的解决方案,如支持更多...

    poiWord2003和Word2007包括图片完整转换成html 包括完整Jar包

    在这个场景中,我们关注的是如何使用POI将Word2003(.doc)和Word2007(.docx)文档转换为HTML格式,同时保留其中的图片。 在Word到HTML的转换过程中,主要涉及以下几个关键知识点: 1. **Apache POI基础**:...

    利用POI将word转换成html实现在线阅读

    本主题聚焦于如何利用Apache POI库将Word文档转换为HTML格式,从而实现在线阅读。Apache POI是一个强大的开源Java库,它允许开发者读取、写入以及创建Microsoft Office格式的文件,包括Word(.doc)文档。 首先,让...

    poi word转html例子及jar包

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc、.docx)、Excel(.xls、.xlsx)和PowerPoint(.ppt、.pptx)。在Java环境中,Apache POI 提供了API,使得开发者能够读取、创建...

    java POI完整示例,POI将word转HTML,数据库倒出数据到Excel等

    "POI将word转HTML.zip"和"demo1.zip"可能包含具体的Java代码示例,用于演示如何实现Word到HTML的转换以及数据库数据导出到Excel的操作。解压后,开发者可以查看源代码并根据自己的需求进行调整和应用。 总结,Java...

    cms.rar_cms word_poi word html_poi word转HTML_poi转Word

    "cms.rar_cms word_poi word html_poi word转HTML_poi转Word"这一标题提及的CMS可能是一个特定的项目或实现,它涉及到使用Apache POI库处理Microsoft Word文档,并将这些文档转换为HTML格式以供网页展示。Apache POI...

    java使用poi将word文档转为html

    在本案例中,我们关注的是如何使用POI将Word文档转换为HTML格式。这个过程对于在网络上展示内容或者进行数据迁移非常有用。 首先,我们需要理解Apache POI的基本概念。POI提供了HWPF(Horrible Word Processor ...

    word内容提取 word转html-POI wps doc docx转html

    本篇文章将详细讲解如何利用Apache POI库进行Word内容提取及Word转HTML的过程,以及涉及的相关知识点。 Apache POI是一个开源项目,专为处理Microsoft Office格式的文件而设计,包括Word(.doc/.docx)、Excel(....

    java poi把word文档转化为html,支持doc。

    在这个特定的场景中,我们利用POI将Word文档转换为HTML格式,以便于在网页上展示或者进行其他Web相关的操作。下面我们将深入探讨这个过程中的关键知识点。 1. **Java POI库**: POI是Apache软件基金会的一个开源项目...

    poi word,excel 转换成 html

    Apache POI 提供了强大的工具来处理Word和Excel文件,将其转换为HTML格式可以方便在网络上传播和展示,同时也可以应用于数据迁移、文档预览等多个场景。在实践中,我们需要关注样式还原、兼容性处理以及性能优化等...

    poi word转html架包

    在"poi word转html架包"中,我们关注的是如何使用Apache POI库将Word文档转换为HTML格式。这个过程涉及到多个依赖库,如在给定的文件列表中所示,这些库支持POI在处理OOXML(Office Open XML)标准时的运作。 1. **...

    poi操作word转html必须jar

    本文将详细介绍如何使用Apache POI来操作Word文档,并将其转换为HTML格式。 首先,为了进行Word到HTML的转换,你需要确保你的项目中已经包含了Apache POI的相应jar包。这些jar文件通常包括poi-ooxml、poi-ooxml-...

    POI word目录处理备忘

    `test.html`文件可能是博客文章的HTML版本,包含了关于如何使用POI处理Word目录的代码示例或详细步骤。 在实际应用中,Apache POI对于需要自动化处理大量Word文档的企业来说是一个强大的工具,尤其是在需要生成结构...

    基于poi实现word/excel转换为HTML(且兼容.doc.docx.xls.xlsx)

    Apache POI 是一个流行的开源库,专为处理Microsoft Office格式的文件,如Word(.doc/.docx)和Excel(.xls/.xlsx)。本教程将深入探讨如何使用Apache POI库来实现这些文件向HTML的转换,以实现跨平台和浏览器的兼容...

    POI将文件转为html

    POI提供了HWPFDocument(针对Word 2003及以下版本)和XWPFDocument(针对Word 2007及以上版本)类。这些类可以解析Word文档的段落、表格、图片等元素,将其转化为HTML的相应标签。需要注意的是,Word文档的复杂格式...

    poi-3.9靠谱好用word生成并且转html预览

    将Word文档转换为HTML是POI的一个关键应用。这一过程涉及到解析Word文档,提取文本、样式和图像,然后将它们重构为HTML结构。POI提供了一些工具和方法来实现这一转换,但需要注意的是,由于Word和HTML的内在差异,...

    java调用POI实现word转HTML.pdf

    Java调用POI实现Word转HTML Java调用POI(Apache POI)实现Word文档转换为HTML文档是一种常见的文档转换方式。 Apache POI是Apache软件基金会的一个开源项目,提供了对Microsoft Office文档格式的读写能力,包括...

Global site tag (gtag.js) - Google Analytics