javaword导出图⽚格式_⽤java怎么将word⽂档转成图⽚格式展开全部
使⽤ java 操作 openoffice 实现格式转换 ⾟苦了⼏天。 不敢独享成果
⾸先,要安装 openoffice (废话- -)
创建JAVA项⽬的时候 需要32313133353236313431303231363533e78988e69d8331333361323565⾄少以下4个包
juh.jar,jurt.jar,ridl.jar,unoil.jar
以下是路径
..\ 2.3\program\classes
我只实现了我要的功能,就是把⼀种⽂件格式转成另⼀种
Java代码
package testh;
import java.io.*;
import com.sun.star.uno.UnoRuntime;
public class testcls {
public static void readdoc(String paths, String savepaths)
{
File d = new File(paths);
//取得当前⽂件夹下所有⽂件和⽬录的列表
File lists[] = d.listFiles();
String pathss = new String("");
//对当前⽬录下⾯所有⽂件进⾏检索
for(int i = 0; i < lists.length; i ++)
{
if(lists[i].isFile())
{
String filename = lists[i].getName();
String filetype = new String("");
//取得⽂件类型
filetype = filename.substring((filename.length() - 3), filename.length());
//判断是否为doc⽂件
if(filetype.equals("doc"))
{
System.out.println("当前正在检索....");
//打印当前⽬录路径
System.out.println(paths);
//打印doc⽂件名
String fname=filename.substring(0, (filename.length() - 4)); System.out.println("检索到⽂件"+fname);
try
{
//指定⽂件路径和名称
String path = savepaths+fname+".html";
File outfilename = new File(path);
/** *//**
* 检查⽂件是否存在.
* @throws IOException
*
*/
if (!ists()) {
System.out.print("正在转换⽂件:"+fname);
Dump(paths,fname,savepaths);
}
else
{
System.out.print("⽂件已存在,放弃创建,请处理存在⽂件后再运⾏...\n"); continue;
}
RandomAccessFile mm = null;
}
catch(Exception e)
{
e.printStackTrace();
}
}
}getsavefilename
}
}
public static void Dump(String FilePath,String FileName,String OutPath)
{
com.sun.star.uno.XComponentContext xContext = null;
try {
// get the remote office component context
xContext = com.sun.starp.helper.Bootstrap.bootstrap();
System.out.println("Connected to a running office ...");
// get the remote office service manager
com.sun.star.lang.XMultiComponentFactory xMCF =
Object oDesktop = ateInstanceWithContext(
"com.sun.star.frame.Desktop", xContext);
com.sun.star.frame.XComponentLoader xCompLoader =
(com.sun.star.frame.XComponentLoader)
UnoRuntime.queryInterface(
com.sun.star.frame.XComponentLoader.class, oDesktop);
java.io.File sourceFile = new java.io.File(FilePath+FileName+".doc");//读取的⽂件StringBuffer sLoadUrl = new StringBuffer("file:///");
sLoadUrl.CanonicalPath().replace('\\', '/'));
sourceFile = new java.io.File(OutPath+FileName+".html");//输出的⽂件
System.out.print(OutPath+" "+FileName);
StringBuffer sSaveUrl = new StringBuffer("file:///");
sSaveUrl.CanonicalPath().replace('\\', '/'));
com.sun.star.beans.PropertyValue[] propertyValue =
new com.sun.star.beans.PropertyValue[1];
propertyValue[0] = new com.sun.star.beans.PropertyValue();
propertyValue[0].Name = "Hidden";
propertyValue[0].Value = new Boolean(true);
Object oDocToStore = xCompLoader.loadComponentFromURL(
com.sun.star.frame.XStorable xStorable =
(com.sun.star.frame.XStorable)UnoRuntime.queryInterface(
com.sun.star.frame.XStorable.class, oDocToStore );
propertyValue = new com.sun.star.beans.PropertyValue[ 2 ];
propertyValue[0] = new com.sun.star.beans.PropertyValue();
propertyValue[0].Name = "Overwrite";
propertyValue[0].Value = new Boolean(true);
propertyValue[1] = new com.sun.star.beans.PropertyValue();
propertyValue[1].Name = "FilterName";
propertyValue[1].Value = "HTML (StarWriter)";//你⼀定发现了,把这⾥改成其他参数,可以保存为不同的⽂件 MS Word 97,writer_pdf_Export
xStorable.storeAsURL( String(), propertyValue );
System.out.println("\nDocument \"" + sLoadUrl + "\" saved under \"" +
sSaveUrl + "\"\n");
com.sun.star.util.XCloseable xCloseable = (com.sun.star.util.XCloseable)
UnoRuntime.queryInterface(com.sun.star.util.XCloseable.class,
oDocToStore );
if (xCloseable != null ) {
xCloseable.close(false);
} else
{
com.sun.star.lang.XComponent xComp = (com.sun.star.lang.XComponent)
UnoRuntime.queryInterface(
com.sun.star.lang.XComponent.class, oDocToStore );
xComp.dispose();
}
System.out.println("document closed!");
}
catch( Exception e ) {
e.);
}
}
public static void main(String args[]) throws Exception
{
String paths = new String("c:\\a\\");
String savepaths = new String ("f:\\");
readdoc(paths,savepaths);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论