使用Jcom组件操作Visio批量导出图片

[url]http://mncc.iteye.com/blog/367389[/url]

浅谈JAVA中应用JCOM [url]http://episode.iteye.com/blog/117452[/url]
在JAVA中使用JCOM和JXL注意要点:
(1)在你的lib下要有jdom-1.0.jar,jxl-2.5.5.jar,jcom-2.2.4.jar,jcom.dll。
(2)要把jcom.dll同时放到你JDK的bin目录下或者放到系统盘的windows下(推荐放到JDK的BIN下)

至于使用jcom.dll这个文件要放到哪里这个大家百度或者谷歌一下就知道了。。。

import java.io.File;

import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.JComException;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;


public class ExportToPicsFromVisio {

/**
* @param args
*/
private void createDir(String outPath){
File file = new File(outPath);
if(file.exists()){
file.delete();
}
try {
file.mkdir();
} catch (Exception e) {
e.printStackTrace();
}
}
private void visioTest(String vsdFilePath, String outPath) {
createDir(outPath);
ReleaseManager rm = new ReleaseManager();
IDispatch visioApp;
try {
// 调用Visio程序
visioApp = new IDispatch(rm, "Visio.Application");
// 为了方便程序调试,设置成了显示打开Visio,正式用改成false
visioApp.put("Visible", new Boolean(false));
IDispatch documents = (IDispatch) visioApp.get("Documents");
// 打开文件
IDispatch doc = (IDispatch) documents.method("open", new Object[] { vsdFilePath });
// 得到所有的Pages
IDispatch pages = (IDispatch) doc.get("Pages");
// 得到Page的数量
int pagesCount = Integer.parseInt(pages.get("Count").toString());
System.out.println("图片数量:"+pagesCount);
// 循环得到每个Page
for (int i = 1; i <= pagesCount; i++) {
IDispatch page = (IDispatch) pages.method("item",
new Object[] { new Integer(i) });
// 输出Page的名称
System.out.println(page.get("Name"));
// 将该Page保存为图片
page.method("Export", new Object[] { outPath + i+"_"+page.get("Name") + ".jpg" });
}
//Thread.sleep(5000);
// Quit without saving
visioApp.method("quit", null);
visioApp.release();

} catch (JComException e) {
// TODO Auto-generated catch block
e.printStackTrace();
/*} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();*/
}

}
public static void main(String[] args) {
// TODO Auto-generated method stub
ExportToPicsFromVisio v = new ExportToPicsFromVisio();
v.visioTest("D:\\工作文档\\项目开发文档\\报表功能设计文档V0.1.vsd", "D:\\工作文档\\项目开发文档\\报表功能设计文档\\");

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值