在線展示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!