`

html转换到word

 
阅读更多

最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是使用Jacob或POI等组件直接生成Word,但是都无法将富文本编辑器处理过的文字保留样式并保存为Word,最终以失败而告终,无奈只有自己研究Word的格式转换;

分析了转换过程,总体分两个步骤:

1、实现富文本中样式代码的分离;

2、保留CSS样式;

其实以上两个步骤是相互矛盾的处理过程,无法通过Jacob或POI组件加正则表达式过滤解决,于是进行了以下步骤的实验:

1、首先创建了一个空白word文档,格式(office 2003格式或office 2007格式)不限;

2、将word格式保存为html格式,通过Edit Plus打开,发现代码中使用了office的命名空间,同时使用了office命名空间的标签定义了CSS样式,自己测试了一下,将生成的html文件头和尾拷贝出来:代码如下:

[html] view plaincopy

    <html xmlns:v="urn:schemas-microsoft-com:vml"  
    xmlns:o="urn:schemas-microsoft-com:office:office"  
    xmlns:w="urn:schemas-microsoft-com:office:word"  
    xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"  
    xmlns="http://www.w3.org/TR/REC-html40">  
      
    <!-- 富文本代码区 -->  
      
    </html>  


以上HTML头是office的命名空间定义。

3、将使用富文本代码粘贴到红色标识的<!-- 富文本代码区 -->中,并以doc或docx格式保存文件;

4、大功告成,打开文件时,Word将会以“Web版视图”完美显示了富文本样式,成功解决了富文本代码中样式代码,并同时保留了格式;

java代码
public class HtmlToWord {
	@Test
	public void htmlToWord() throws IOException{
		File file = new File("D:\\77.doc");
		if(!file.exists()){
			file.createNewFile();
		}
		FileOutputStream fos = new FileOutputStream(file);
		StringBuffer sb = new StringBuffer("");
		fos.write("<html xmlns:v=\"urn:schemas-microsoft-com:vml\"".getBytes());
		fos.write("xmlns:o=\"urn:schemas-microsoft-com:office:office\"".getBytes());
		fos.write("xmlns:w=\"urn:schemas-microsoft-com:office:word\"".getBytes());
		fos.write("xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\"".getBytes());
		fos.write("xmlns=\"http://www.w3.org/TR/REC-html40\">".getBytes());
		fos.write("<body>".getBytes());
		fos.write("<img width=554 height=577 src=\"1212.jpg\">".getBytes());
		fos.write("</body>".getBytes());
		fos.write("</html>".getBytes());
	}
}
分享到:
评论

相关推荐

    C# HtmlToWord 将HTML文件转换成word文档

    在C#中进行HTML到Word的转换,主要是解析HTML,然后将其格式化为Word可以理解的结构。 在C#中,我们可以使用开源库如NReco.PdfGenerator或ClosedXML来实现这个功能。NReco.PdfGenerator主要用于HTML转PDF,但也可以...

    java html转换word

    4. **解析HTML并添加到Word**:Apache POI没有内置的HTML解析器,所以你需要自己将HTML转换为XWPFDocument可以理解的结构。这通常涉及解析HTML,将其转化为段落(XWPFParagraph)、表格(XWPFTable)等元素,并设置...

    通过Js实现Html转换成Word下载

    3. **生成Word文档**:使用`jquery.wordexport.js`将格式化的HTML转换为Word兼容的格式,如.doc或.docx。这个过程涉及将HTML转换为MIME类型为"application/vnd.openxmlformats-officedocument.wordprocessingml....

    C# html转换成word

    html解析为word,并保存为word文档

    C# CHtmlToWord 将HTML文件转换成word文档!

    总的来说,"C# CHtmlToWord"项目提供了一个实用的工具,通过C#编程语言和相关库,使得HTML到Word的转换变得更加便捷和高效。虽然源代码可能没有注释,但对于熟悉C#和Open XML的开发者来说,理解其工作原理并不困难。...

    word转换成HTML

    图片则更复杂,因为Word中的图片通常存储在单独的二进制流中,转换时需要将其保存到磁盘,并在HTML中用`&lt;img&gt;`标签引用。 6. **写入HTML文件**:最后,将生成的HTML字符串写入文件,完成转换过程。 需要注意的是,...

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

    - 在Java项目中,`src`通常包含源代码文件,可能有Java类实现Word到HTML的转换逻辑。 7. **实现步骤** - 读取Word文档:使用POI库解析DOCX文件,获取文本、样式和图像信息。 - 转换HTML:将解析的信息转化为HTML...

    富文本html转word,word文件合并.zip

    1. HTML样式与Word样式之间的映射:HTML和Word的样式系统有所不同,转换时需要考虑如何将HTML的CSS样式正确地映射到Word的样式。 2. 图片处理:HTML中的图片需要被下载并嵌入到Word文档中,同时要考虑大小调整和...

    c# HTML转word源码

    以NReco为例,它提供了一个HTML到Word转换器,可以方便地将HTML转换为Word文档。 首先,你需要安装NReco库(例如通过NuGet包管理器)。然后,你可以使用以下代码进行转换: ```csharp using NReco.HtmlToWord; ...

    Java+SpringBoot+POI进行word2html转换

    使用POI对word文件内容进行html转换,并支持对目录进行提取,提取后保留目录原本的超链接格式,且转换后的html保留原有word样式。 适合人群:具备一定编程基础,工作1-3年的研发人员 能学到什么:可以学习到word文档...

    java将html文件生成word文件

    要将HTML转换为Word文档,我们需要遵循以下步骤: 1. **添加依赖**:在项目中引入docx4j库。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;org.docx4j &lt;artifactId&gt;docx4j 版本号...

    word转换成html工具

    Word 转换成 Html Word 转换成 Html Word 转换成 Html 注意:转换时会删除原文件,一定要备份原文件 注意:转换时会删除原文件,一定要备份原文件 注意:转换时会删除原文件,一定要备份原文件 注意:转换...

    c#调用openxml组件对html与word进行互相转换

    要将HTML转换为Word文档,我们首先需要解析HTML文件,然后将解析得到的数据结构化成Open XML格式。这通常涉及到以下几个步骤: 1. 解析HTML:使用HTMLAgilityPack或其他HTML解析库解析HTML文档,获取其内容、样式和...

    java使用POI实现html和word相互转换

    Java 使用 POI 实现 HTML 和 Word 相互转换 在本文中,我们将详细介绍如何使用 ...通过阅读本文,读者可以了解 Apache POI 库的多个模块,学会使用 Jsoup 库来获取 HTML 的图片元素,并掌握 Word 到 HTML 的转换技术。

    PDF文档转换成word,html,swf格式软件

    - 对于含有交互元素的PDF,转换到HTML时可能需要额外处理。 5. **PDF转SWF**: - SWF是Adobe Flash制作的动画或交互式内容,适合制作在线教程或动态展示。 - PDF转SWF可以将静态文档变成动态的多媒体内容,增加...

    txt,word,wps到html格式转换的写法

    txt,word,wps到html格式转换的写法

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

    总的来说,通过组合Apache POI和jsoup,我们可以实现在Java中将HTML转换为Word的功能。这为从网页抓取内容或生成报告提供了便利。不过,由于这种转换方式不支持视频,如果你有视频内容需要导出,可能需要寻找其他...

    word批量转换html

    批量转换Word到HTML的主要原因在于HTML的通用性和跨平台兼容性。HTML文件可以直接在任何支持浏览器的设备上打开,而不需要特定的应用程序。此外,HTML格式更适合网页设计,可以方便地进行样式控制、链接插入和多媒体...

    pdf转换成word

    除了Word,还可以转换为其他格式,如HTML、Excel、PPT等。根据需求选择合适的工具和格式,以满足特定的使用场景。 总结,PDF转Word是一个常见的需求,通过各种工具和技术可以实现这一转换。选择适合自己的方法,...

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

    在本文中,我们使用了Word.Application这个COM组件来实现Word文档到Html文件的转换。首先,我们需要启动Word.Application,然后打开要转换的Word文档,接着使用SaveAs方法将文档保存为Html文件。 在实现这个功能时...

Global site tag (gtag.js) - Google Analytics