0 0

poi的word转html,怎么显示修订内容的最终状态0

问题描述:使用poi将.doc转换成html时,发现其将修订前的内容也显示出来了,而且html的标题无法控制,有时候会出现乱码,操作如下

编辑测试文档:修订状态(附件中可以下载该doc文档)

 

期望显示效果:最终状态



 转换成html的效果:在修订中删除的内容会显示出来,而且导航栏,也就是html的title显示内容不是我想要的


 

实现代码:

 

public class Word2Html {

	public static void main(String argv[]) {
		try {
			//word 路径       html输出路径
			convert2Html("D:/doctohtml/1.doc","D:/doctohtml/1.html");
		} 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) {
			}
		}
	}

	public static void convert2Html(String fileName, String outPutFile)
			throws TransformerException, IOException,
			ParserConfigurationException {
		HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(fileName));//WordToHtmlUtils.loadDoc(new FileInputStream(inputFile));
		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 )
             {
                 //html 中  图片标签中 显示的图片路路径  <img src="d:/test/0.jpg"/>
                 return "d:/doctohtml/"+suggestedName;
             }
         } );
		wordToHtmlConverter.processDocument(wordDocument);
		//save pictures
		List pics=wordDocument.getPicturesTable().getAllPictures();
		if(pics!=null){
			for(int i=0;i<pics.size();i++){
				Picture pic = (Picture)pics.get(i);
				System.out.println();
				try {
					//word中图片的存储路径
					pic.writeImageContent(new FileOutputStream("D:/doctohtml/"
							+ pic.suggestFullFileName()));
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				}  
			}
		}
		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()), outPutFile);
	}
}

 

 


 

2014年11月21日 08:43
  • 大小: 268.3 KB
  • 大小: 61.1 KB
  • 大小: 28.7 KB
目前还没有答案

相关推荐

    Apache java项目全介绍

    - **特点**: POI支持多种Office文件格式,如Excel和Word,便于在Java应用中操作Office文档。 ##### 24. Regexp - **简介**: Regexp是一个正则表达式的工具包,提供了简单的API来处理正则表达式。 - **特点**: ...

    毕业论文-智云物业 2.1.4-整站商业源码.zip

    毕业论文-智云物业 2.1.4-整站商业源码.zip

    实训商业源码-【超人】积分商城 6.0.5-论文模板.zip

    实训商业源码-【超人】积分商城 6.0.5-论文模板.zip

    基于局部费歇尔判别的LFDA-SVM二分类及多分类建模与可视化 - MATLAB实现

    内容概要:本文介绍了基于局部费歇尔判别(LFDA)和SVM的支持向量机二分类及多分类建模方法。首先,通过LFDA进行数据降维,保留局部信息,减少数据维度。接着,利用降维后的数据构建SVM分类模型,完成二分类和多分类任务。文中详细描述了LFDA的数据预处理、局部协方差矩阵和均值向量计算、类内散度和类间散度矩阵计算、广义特征值求解等步骤,以及SVM模型的训练、评估和可视化展示。最后,提供了MATLAB程序框架和关键步骤的伪代码,帮助读者理解和实现该方法。 适用人群:从事数据分析、机器学习领域的研究人员和技术人员,尤其是熟悉MATLAB编程环境的从业者。 使用场景及目标:适用于需要处理多特征输入、单输出或多输出分类任务的场景。通过LFDA降维和SVM建模,提升分类模型的性能和准确性。同时,生成分类效果图、降维展示图和混淆矩阵图,便于直观地展示和分析模型效果。 其他说明:本文提供的MATLAB代码框架和伪代码,需要根据具体应用场景进行详细实现和调整。重点在于数据预处理、特征选择、模型训练和评估等环节的具体操作。

    2025年大学新生开学季风格模板范文.pptx

    2025年大学新生开学季风格模板范文

    实训商业源码-思创兼职小程序V6.7.5 开源版-论文模板.zip

    实训商业源码-思创兼职小程序V6.7.5 开源版-论文模板.zip

    实训商业源码-旅游景区线路连锁店版V1.9.16 小程序前端+后端-论文模板.zip

    实训商业源码-旅游景区线路连锁店版V1.9.16 小程序前端+后端-论文模板.zip

    实训商业源码-【表哥】4s汽车城小程序8.1.0 前端+后端-论文模板.zip

    实训商业源码-【表哥】4s汽车城小程序8.1.0 前端+后端-论文模板.zip

    混合储能系统中飞轮与蓄电池协同平抑风电功率波动的技术研究与实现

    内容概要:本文探讨了利用混合储能系统(飞轮与蓄电池)来平抑风电功率波动的方法。文中介绍了两种主要的功率分配策略:抗脉冲平均滤波和滑动平均滤波。抗脉冲平均滤波用于应对突发性的功率变化,由飞轮快速响应;滑动平均滤波则用于处理较长时间尺度内的功率波动,由蓄电池进行调节。这两种方法相结合可以有效减少蓄电池的充放电次数并提高飞轮的响应效率。此外,文中提供了具体的Python代码示例,展示了如何通过编程实现这些策略。 适合人群:对新能源发电、电力系统稳定性以及储能技术感兴趣的科研人员和技术开发者。 使用场景及目标:适用于需要解决风电功率波动问题的风电场或相关研究项目。目标是通过合理的功率分配策略,确保电力系统的稳定运行,降低因风力发电不稳定性带来的负面影响。 其他说明:文中提到的技术手段不仅有助于提高能源利用率,还能延长储能设备的使用寿命。对于希望深入了解储能技术和风电功率管理的人来说,这是一个很好的参考资料。

    毕业论文-子恩2.0-整站商业源码.zip

    毕业论文-子恩2.0-整站商业源码.zip

    毕业论文-小小素材库 6.3.1-整站商业源码.zip

    毕业论文-小小素材库 6.3.1-整站商业源码.zip

    2025年度创意卡通小学开学季班会模板.pptx

    2025年度创意卡通小学开学季班会模板

    实训商业源码-老虎-微信淘宝客5.99.99-论文模板.zip

    实训商业源码-老虎-微信淘宝客5.99.99-论文模板.zip

    DEEPPOLAR(3)-DEEPOLAR代码

    DEEPPOLAR(3)-DEEPOLAR代码

    基于COMSOL仿真的超声清洗系统:压电片分布对声场强度的影响研究

    内容概要:本文详细探讨了利用多个28kHz压电片在2mm钢质水槽外侧分布激励超声波的技术,重点分析了压电片厚度、数量、排列方式以及钢壁厚和水槽尺寸等因素对声场强度的影响。研究表明,适中的压电片厚度能产生更强的声场,较厚的钢壁有助于更好地传递超声波,而合理的压电片分布则能确保声场的均匀传播。通过COMSOL仿真软件,作者模拟并找到了最优的压电片分布方案,以提升超声清洗的效果。 适合人群:从事超声清洗技术研发的专业人士、相关领域的研究人员和技术爱好者。 使用场景及目标:适用于希望深入了解超声清洗技术原理及其优化方法的研究人员和技术人员,旨在提高超声清洗系统的效率和性能。 其他说明:本文不仅提供了理论分析,还结合了实际实验数据和COMSOL仿真结果,为超声清洗技术的发展提供了有价值的参考。

    永磁同步电机FOC矢量控制模型及其Simulink仿真与代码实践

    内容概要:本文介绍了自主研发的永磁同步电机FOC(Field Oriented Control)矢量控制模型及其代码实现。该模型集成了多种先进功能,如FOC算法、SVPWM、DPWM、死区补偿、过调制和母线电流估算等。通过Simulink界面进行源代码仿真,验证了模型的可靠性和有效性。主要内容涵盖FOC矢量控制模型的简介、代码的功能特点、Simulink仿真的方法及其应用效果。 适合人群:从事电机控制系统研究和开发的技术人员,尤其是对永磁同步电机和FOC控制感兴趣的工程师。 使用场景及目标:适用于需要深入了解和掌握永磁同步电机FOC控制技术的研究人员和技术开发者。目标是提升电机的运行效率、稳定性和输出转矩,同时优化电机的性能和可靠性。 其他说明:文中详细描述了如何利用Simulink进行仿真测试,确保代码在各种工况下都能稳定运行。这对于希望在实际项目中应用FOC控制技术的人来说非常有帮助。

    检维修电工培训资料及规程

    检维修电工培训资料及规程

    python打卡DAY17

    python打卡DAY17

    毕业论文-云海计费系统-整站商业源码.zip

    毕业论文-云海计费系统-整站商业源码.zip

    实训商业源码-砍价宝7.2.0开源-论文模板.zip

    实训商业源码-砍价宝7.2.0开源-论文模板.zip

Global site tag (gtag.js) - Google Analytics