`

java将word转换为HTML

阅读更多

1.Maven工程中主要添加的依赖

 

                        <!--处理excel、word-->
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi</artifactId>
				<version>3.10-FINAL</version>
				<type>jar</type>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
				<version>3.10-FINAL</version>
				<type>jar</type>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml-schemas</artifactId>
				<version>3.10-FINAL</version>
				<type>jar</type>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-scratchpad</artifactId>
				<version>3.10-FINAL</version>
				<type>jar</type>
				<scope>compile</scope>
			</dependency>
                        <!--处理CSV-->
			<dependency>
				<groupId>net.sourceforge.javacsv</groupId>
				<artifactId>javacsv</artifactId>
				<version>2.0</version>
			</dependency>

 2.直接上代码

 

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.URISyntaxException;
import java.util.List;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.converter.PicturesManager;
import org.apache.poi.hwpf.converter.WordToHtmlConverter;
import org.apache.poi.hwpf.usermodel.Picture;
import org.apache.poi.hwpf.usermodel.PictureType;
import org.w3c.dom.Document;

/**
 * java将word转换为HTML
 * @author wu.85@163.com
 *
 */
public class Word2Html {
	private static final String DEFAULT_PICTURE_FOLDER = "pictures";//默认word中图片存放位置
	private static final String DEFAULT_HTML_TYPE = ".html";//默认转换的HTML文件后缀

	public static void main(String argv[]) {
		File outputFolder = null;
		File outputPictureFolder = null;
		try {
			//转换后HTML文件存放位置
			outputFolder = new File(Word2Html.class.getResource("").toURI());
			if (null != outputFolder) {
				//转换后原word中图片存放位置
				String outputPictureFolderPath = outputFolder.getAbsolutePath()
						+ File.separator + DEFAULT_PICTURE_FOLDER;
				outputPictureFolder = new File(outputPictureFolderPath);
				outputPictureFolder.mkdir();
			}
		} catch (URISyntaxException e1) {

		}
		try {
			//被转换的word文件
			File convertedWordFile = new File(
					"C://Users//Lenovo//Desktop//java将excel转换为HTML.doc");
			convert2Html(convertedWordFile, outputFolder, outputPictureFolder);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void writeFile(String content, String path) {
		FileOutputStream fos = null;
		BufferedWriter bw = null;
		try {
			File file = new File(path);
			fos = new FileOutputStream(file);
			bw = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
			bw.write(content);
		} catch (FileNotFoundException fnfe) {
			fnfe.printStackTrace();
		} catch (IOException ioe) {
			ioe.printStackTrace();
		} finally {
			try {
				if (bw != null)
					bw.close();
				if (fos != null)
					fos.close();
			} catch (IOException ie) {
			}
		}
	}

	/**
	 * 
	 * @param wordFile 被转换的word文件
	 * @param outputFolder 转换后HTML文件存放位置
	 * @param outputPictureFolder 转换后原word中图片存放位置
	 * @throws TransformerException
	 * @throws IOException
	 * @throws ParserConfigurationException
	 */
	public static void convert2Html(File wordFile, File outputFolder,
			final File outputPictureFolder) throws TransformerException,
			IOException, ParserConfigurationException {
		//创建被转换的word HWPFDocument对象
		HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(wordFile));
		
		//创建word转换器,并设置对于图片如何处理
		WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
				DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
		wordToHtmlConverter.setPicturesManager(new PicturesManager() {
			public String savePicture(byte[] content, PictureType pictureType,
					String suggestedName, float widthInches, float heightInches) {
				return outputPictureFolder.getName() + File.separator
						+ suggestedName;
			}
		});
		//开始转换word为HTML
		wordToHtmlConverter.processDocument(wordDocument);
		//开始转换word中图片到图片存放目录
		List<Picture> pics = wordDocument.getPicturesTable().getAllPictures();
		if (pics != null) {
			for (int i = 0; i < pics.size(); i++) {
				Picture pic = (Picture) pics.get(i);
				try {
					pic.writeImageContent(new FileOutputStream(
							outputPictureFolder.getAbsolutePath()
									+ File.separator
									+ pic.suggestFullFileName()));
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				}
			}
		}
		
		//将word转换为HTML,输出到指定目录
		Document htmlDocument = wordToHtmlConverter.getDocument();
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		DOMSource domSource = new DOMSource(htmlDocument);
		StreamResult streamResult = new StreamResult(out);

		TransformerFactory tf = TransformerFactory.newInstance();
		Transformer serializer = tf.newTransformer();
		serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
		serializer.setOutputProperty(OutputKeys.INDENT, "yes");
		serializer.setOutputProperty(OutputKeys.METHOD, "html");
		serializer.transform(domSource, streamResult);
		out.close();
		writeFile(new String(out.toByteArray()), outputFolder.getAbsolutePath()
				+ File.separator + wordFile.getName() + DEFAULT_HTML_TYPE);
	}
}

 3.word文件截图

 

 

 4.HTML文件截图

 

 

 

 

  • 大小: 107.4 KB
  • 大小: 118.3 KB
分享到:
评论

相关推荐

    java将word转换为html,包含JAVA实现代码与需要jar文件

    在Java编程环境中,将Microsoft Word文档转换为HTML格式是一项常见的需求,这主要涉及到文本和图像的处理。在本文中,我们将深入探讨如何使用Java来实现这个功能,包括所需的jar文件和处理Word中的矢量图(WMF和EMF...

    Java实现将word转换为html的方法示例【doc与docx格式】

    Java实现将word转换为html的方法示例【doc与docx格式】 Java语言中实现将word文档转换为html格式的方法示例,结合实例形式分析了java针对doc与docx格式文件的相关转换操作技巧。 知识点1:Java中word文档的读取 ...

    [jacob]---------------->java 实现 word 转换为html jacob

    以上就是使用Jacob库在Java中将Word转换为HTML的基本原理和流程,以及可能涉及的相关知识点。具体代码实现细节需要查看`WordTOHTML.java`文件才能得知。如果需要更深入的了解或实现,可以参考Jacob的官方文档或相关...

    java 将word 转化为html的方法

    在将Word转换为HTML时,我们可以使用它的`XWPFDocument`类来处理`.docx`文件。 以下是一个基本的步骤概述: 1. **导入必要的库**:首先,在项目中引入Apache POI库,确保包含处理Word文档的组件,如`poi-ooxml`和`...

    java html转换word

    这个例子只是一个起点,实际的HTML到Word转换过程会更复杂,需要处理HTML标签、CSS样式、图像等内容。可能还需要考虑HTML的嵌套结构,以及如何将它们映射到Word的段落、列表、表格等元素。此外,Apache POI不支持...

    通过java将word文档转换成html页面

    以下是一个详细的步骤,解释如何使用Java和JACOB将Word文档转换为HTML: 1. **环境配置**:首先,你需要在你的开发环境中安装JACOB库。这通常包括下载JACOB的jar文件,并将其添加到你的Java项目的类路径中。同时,...

    Java程序把Word文档直接转换成Html文件

    首先,我们需要启动Word.Application,然后打开要转换的Word文档,接着使用SaveAs方法将文档保存为Html文件。 在实现这个功能时,我们需要使用到Jacob库中的ActiveXComponent和Dispatch类。ActiveXComponent类是...

    实现word文件转换成html文件实现在线打开预览word文件

    - 转换HTML:将解析的信息转化为HTML标签和CSS样式,保持原始布局和格式。 - 处理图像:将Word文档内的图片导出并链接到HTML文件。 - 生成HTML:编写代码将所有元素组合成一个完整的HTML文件。 - 预览:部署HTML...

    java将html文件生成word文件

    这个过程中,`Html2Word`可能是项目中实现HTML到Word转换的主类或者方法名。在实际应用中,你可能需要根据HTML的结构和样式调整转换设置,以确保转换后的Word文档尽可能保持与原HTML文件一致。 在处理复杂HTML时,...

    使用java将office word pdf excel ppt文件转换成html文件

    本篇文章将深入探讨如何使用Java将Office Word、PDF、Excel和PPT文件转换为HTML文件。 首先,我们需要了解的是,Java中的文件转换通常依赖于第三方库,因为Java标准库并不直接支持这些特定的转换功能。以下是一些...

    基于java的word转html

    在本项目中,"基于java的word转html" 提供了一个工具,利用Java的强大力量将Microsoft Word文档(.doc和.docx格式)转换为HTML格式。这个转换过程能够保留原始Word文档中的各种元素,如图片、表格、链接以及目录,...

    java实现word转换成html实现word预览

    java实现word转换成html实现word预览

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

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

    java方式完整的word文件转html代码样例

    在Java编程环境中,将Word文档转换为HTML是一种常见的需求,特别是在数据处理、文档共享或网页展示等场景。本文将详细讲解如何使用Java实现这一功能,包括必要的库引用、代码示例以及转换过程。 首先,我们需要引入...

    JAVA实现word转换为html进行预览

    JAVA实现word转换为html进行预览

    使用Java将Word转为Html或txt!

    ### 使用Java将Word转换为Html或Txt的知识点详解 #### 一、背景介绍 在日常工作中,有时我们需要将Microsoft Word文档转换成其他格式,比如HTML或纯文本(TXT),以便于在网络环境中展示或者进行进一步的数据处理。...

    在线预览-java实现word和excel转html

    为了提供这种功能,开发者通常会使用各种库和工具,但本话题关注的是如何在不依赖外部套件的情况下,使用Java语言直接实现Word和Excel到HTML的转换,从而进行在线预览。 首先,我们要理解这个过程涉及到的主要技术...

    java中html转word方法以及用到的jar包

    首先,你需要引入一个能够处理HTML与Word转换的库。一个常用的库是Apache POI,它是一个用于读写Microsoft Office格式文件的Java API。在Java中,Apache POI可以帮助我们创建、修改和显示Word文档(.doc或.docx)。...

    巧用Java程序把Word转换成Html文件

    在IT领域,特别是软件开发与文档处理交叉领域中,将Word文档转换为HTML格式是一种常见的需求,尤其是在需要将Word文档中的内容嵌入到网页或进行更广泛的网络分享时。Java作为一种广泛使用的编程语言,提供了多种工具...

    使用Jacob将word转换为html

    本篇我们将聚焦于“使用Jacob将Word转换为HTML”,这是一个利用Java开发的库,名为Jacob,它提供了与Microsoft Office交互的能力。 Jacob(Java COM Bridge)是一个开源项目,其主要功能是为Java应用程序提供对COM...

Global site tag (gtag.js) - Google Analytics