在线展示PDF文件的时候,需要用pdf2swf.exe程序把PDF文件转换成SWF文件才能展示,此时出现了一个问题,当PDF的页数大于一页的时候显示正常,如果只有单页无法显示。
解决办法如下:
private void pdf2swf(String SWFTools_HOME) throws Exception {
if (!swfFile.exists()) {
if (pdfFile.exists()) {
try {
String[] cmd = new String[7];
cmd[0] = SWFTools_HOME;
cmd[1] = "-i";
cmd[2] = pdfFile.getAbsolutePath();
cmd[3] = "-o";
cmd[4] = swfFile.getAbsolutePath();
cmd[5] = "-f";
cmd[6] = "-T 9";
Process pro = Runtime.getRuntime().exec(cmd);
pro.waitFor();
pro.exitValue();
System.out.println("swf文件生成成功!");
} catch (Exception e) {
e.printStackTrace();
throw e;
}
} else {
System.out.println("****pdf不存在,无法转换****");
}
} else {
System.out.println("****swf已存在不需要转换****");
}
}
跟一般不同的是加上了这句:
cmd[6] = "-T 9";
这行命令把版本转换flash9格式,单页显示OK!