如何将word,excel,powerpoint等转换成html或pdf
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将word,excel,powerpoint等转换成html或pdf相关的知识,希望对你有一定的参考价值。
Office文档转换为html网页文件或者PDF文件主要有以下几种方法:PPT文件转换为PDF格式一般有以下几种途径:
1.Office2007及更高的版本支持直接将表格文件转存为html文件或PDF文件,打开文档,然后点击另存为,然后从格式列表中选择网页格式或者PDF格式即可。
2.使用第三方软件进行转换,比如anybizsoft pdf converter。添加幻灯片文件,然后选择转换后的格式(pdf),然后点击转换即可。
3.使用在线转换:百度搜索“pdf在线转换”,然后打开相应的连接,然后上传文档,点击转换,然后把转换后的文件下载到本地即可。 参考技术A 官方就有提供转pdf的插件,点击另存为就有选项保存为pdf,如果没安装插件的话,那么会有提示指引你去官方下载,然后按照指示去下载安装即可。
最快的方法是在文件--另存为,点击另存为后下面有一个下拉选项,其中就有PDF文件这一选项。是OFFICE的应该都有这个功能。 你也可以下载一个PDF虚拟打印机,安装好以后在文件--打印,选择打印机,然后打印就会提示你保存,出来就是PDF格式了 参考技术B 第一种方法:
需求是要产生格式一致的文档、报表(word和excel),要求是字体、颜色、缩进、大小等等都要一致,对于这些文档来说,其样式基本都是固定的,变化的也就是那些实际的业务数据;
采用的技术是 xml + servlet + dom4j;
思路:先制作一份模版,另存为xml格式(注意是另存为产生xml),以这个xml文件为模版,预览请求时读取出数据,dom4j来解析操作xml模版转换成一份包含有业务数据的xml,最后servlet用那份xml来响应生成你要的文档;
word和excel都可以转换为xml,如果懂WordML, SpreadsheetML,可以直接编写xml,
上面方法对于样式是不用考虑的,所以生成的文档样式风格高度一致;只需要把数据放到相应的元素标签中(如果是多个相同的item,就是clone出相应的xml元素标签,填充数据,再放入相应的父元素中,注意dom4j clone出的元素不能读取操作,所以一般不要对clone的元素操作),一切共有的元素直接定义修改xml模版就可以了.
第二种方法:
采用技术:jodconverter + OpenOffice 参考技术C 以下是具体的执行代码:
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.*;
public class OfficeToXML
private final static OfficeToXML oOfficeToXML = new OfficeToXML();
public static OfficeToXML getInstance()
return oOfficeToXML;
public OfficeToXML()
public boolean WordtoHtml(String s, String s1)
ComThread.InitSTA();
ActiveXComponent activexcomponent = new ActiveXComponent(
"Word.Application");
String s2 = s;
String s3 = s1;
boolean flag = false;
try
activexcomponent.setProperty("Visible", new Variant(false));
Dispatch dispatch = activexcomponent.getProperty("Documents").toDispatch();
Dispatch dispatch1 = Dispatch.invoke(dispatch, "Open", 1,
new Object[] s2, new Variant(false), new Variant(true) ,
new int[1]).toDispatch();
Dispatch.invoke(dispatch1, "SaveAs", 1, new Object[] s3,
new Variant(8) , new int[1]);
Variant variant = new Variant(false);
Dispatch.call(dispatch1, "Close", variant);
flag = true;
catch (Exception exception)
exception.printStackTrace();
finally
activexcomponent.invoke("Quit", new Variant[0]);
ComThread.Release();
ComThread.quitMainSTA();
return flag;
public boolean PPttoHtml(String s, String s1)
ComThread.InitSTA();
ActiveXComponent activexcomponent = new ActiveXComponent(
"PowerPoint.Application");
String s2 = s;
String s3 = s1;
boolean flag = false;
try
Dispatch dispatch = activexcomponent.getProperty("Presentations")
.toDispatch();
Dispatch dispatch1 = Dispatch.call(dispatch, "Open", s2,
new Variant(-1), new Variant(-1), new Variant(0))
.toDispatch();
Dispatch.call(dispatch1, "SaveAs", s3, new Variant(12));
Variant variant = new Variant(-1);
Dispatch.call(dispatch1, "Close");
flag = true;
catch (Exception exception)
System.out.println("|||" + exception.toString());
finally
activexcomponent.invoke("Quit", new Variant[0]);
ComThread.Release();
ComThread.quitMainSTA();
return flag;
public boolean ExceltoHtml(String s, String s1)
ComThread.InitSTA();
ActiveXComponent activexcomponent = new
ActiveXComponent("Excel.Application");
String s2 = s;
String s3 = s1;
boolean flag = false;
try
activexcomponent.setProperty("Visible", new Variant(false));
Dispatch dispatch =
activexcomponent.getProperty("Workbooks").toDispatch();
Dispatch dispatch1 = Dispatch.invoke(dispatch, "Open", 1, new
Object[]
s2, new Variant(false), new Variant(true)
, new int[1]).toDispatch();
Dispatch.call(dispatch1, "SaveAs", s3, new Variant(44));
Variant variant = new Variant(false);
Dispatch.call(dispatch1, "Close", variant);
flag = true;
catch(Exception exception)
System.out.println("|||" + exception.toString());
finally
activexcomponent.invoke("Quit", new Variant[0]);
ComThread.Release();
ComThread.quitMainSTA();
return flag;
public static void main(String args[])
OfficeToXML otx = OfficeToXML.getInstance();
boolean flag1 = otx.PPttoHtml("e:/test/test3.pptx", "e:/test/test3.html");
if(flag1)
System.out.println("PPT文件转换成HTML成功!");
else
System.out.println("PPT文件转换成HTML失败!");
boolean flag2 = otx.WordtoHtml("e:/test/test2.docx", "e:/test/test2.html");
if(flag2)
System.out.println("WORD文件转换成HTML成功!");
else
System.out.println("WORD文件转换成HTML失败!");
boolean flag3 = otx.ExceltoHtml("e:/test/test1.xlsx", "e:/test/test1.html");
if(flag3)
System.out.println("EXCEL文件转换成HTML成功!");
else
System.out.println("EXCEL文件转换成HTML失败!");
运行条件:
1.JDK1.6
2.jacob.jar和jacob.dll
1) 把jacob.dll在 ..\Java\jdk1.6.0_10\bin、..\Java\jdk1.6.0_10\jre\bin、C:\WINDOWS\system32 目录下各放一份
2) 把jacob.jar放入 项目的lib包下,并且在“java构建路径”中也要加载此jar包。
3) 运行项目即可编译通过.
注:jacob.jar以及jacob.dll版本一定要和jdk版本相匹配,否则后果自负!
dsoframer设计笔记
dsoframer是微软提供一款开源的用于在线编辑、调用Word、 Excel 、PowerPoint等的ActiveX控件。电子印章,签名留痕等大多数是依此改进而来的。
dsoframer是微软提供一款开源的用于在线编辑、调用Word、 Excel 、PowerPoint等的ActiveX控件。国内很多著名的OA中间件,电子印章,签名留痕等大多数是依此改进而来的。
据说微软已停止更新控件,可以在office2010使用,但是文件后缀必须是doc
注意事项
1、文件后缀名必须是doc
2、书签操作,书签名必须以为字母开头
3、关闭窗口的时候也控件close(),然后可以对保存下的文件进行其他操作,比如上传,删除文件等
以上是关于如何将word,excel,powerpoint等转换成html或pdf的主要内容,如果未能解决你的问题,请参考以下文章