【技术贴】调用福昕阅读器的命令行方式打开pdf文件|解决C:\Program files中间有空格 不是内部或外部命令。
一 首先是解决路径中含有空格的这个问题,你可以把它当做环境变量写进path里面,或者像我一样,在路径外面套上双引号,如图。
>"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" "C:\report3.pdf" -n
二 调用命令行的方式打开pdf文档,有些时候,我们需要用程序去打开pdf文件,就是调用别的软件去干我们想干的事情,比如打开pdf这件事情,就交给福昕阅读器去干。
java里面是这样玩的,用Runtime.getRuntime().exec("路径路径。。。。")
e'g:
String cmd = "\"C:\\Program Files\\Foxit Software\\Foxit Reader\\Foxit Reader.exe\" ";//空格
String fileDesc = "C:\\report3.pdf";
System.out.println(cmd+"\""+fileDesc+"\""+" -n");
Runtime.getRuntime().exec(cmd+"\""+fileDesc+"\""+" -n");//-n之前有空格
然后我的pdf就被我打开啦!!!好爽,其实这段代码不是这样玩的,因为我要自己生产pdf文件,而且量很大,都是随机数生成的文件名,生成后需要自己手动打开pdf阅读器去观测生成的pdf是否美观正确各个单元格是否规则,所以才想到的这个调用pdf阅读器去打开pdf文件的想法。。哇咔咔,是不是很爽!!生成pdf之后 自动打开!!
最后说一句,如果你用的是adobe的pdf阅读器,建议你去查阅adobe的命令行方式打开pdf怎么打,还有,我这个方法不一定适用于mac或者linux 你懂的。
安卓的代码也贴出来,都看看吧,多学点迟早能用到!!百度上找个这技巧太特么有挑战了。
//android获取一个用于打开PDF文件的intent
public static Intent getPdfFileIntent( String param )
{
Intent intent = new Intent("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromFile(new File(param ));
intent.setDataAndType(uri, "application/pdf");
return intent;
}