因为工作需要所以要写一个PDF在线预览,老规矩先百度、google一番搜索总算找到一个方法。
function pdf2swf($arr,$path,$flag = ''){ $swf_path = $path;//上传路径 $swf_file_path = $swf_path.date("Y",$arr['create_datetime']).DIRECTORY_SEPARATOR.date("m",$arr['create_datetime']).DIRECTORY_SEPARATOR.date("d",$arr['create_datetime']).DIRECTORY_SEPARATOR.'pdf2swf'.DIRECTORY_SEPARATOR.$arr['guid'].DIRECTORY_SEPARATOR; //生成唯一的pdf路径 guid 相当于uniqid函数 //没有的话就创建这个目录 if(!$flag){ create_path($swf_file_path); }else{ delAll($swf_file_path); } $pdf_file = $path.date("Y",$arr['create_datetime'])."/".date("m",$arr['create_datetime'])."/".date("d",$arr['create_datetime'])."/".$arr["file"]; //取得pdf地址 $cmd_pdf2swf = "D:/SWFTools/pdf2swf.exe $pdf_file -o $swf_file_path%.swf"; //执行这个命令 把pdf每页转成swf格式的文件 $exec = exec($cmd_pdf2swf); @copy($swf_path.'data.xml',$swf_file_path."/".'data.xml'); @copy($swf_path.'index.html',$swf_file_path."/".'index.html'); @copy($swf_path.'magazine.swf',$swf_file_path."/".'magazine.swf'); //这个是swf的播放器 $file_sum = getSum($swf_file_path); $xml = ''; $xml .= ''; file_put_contents($swf_file_path."/"."setting.xml", $xml);} 720.000000 900.000000 '.($file_sum-3).' . [logopic] [default] 0
//删除指定目录下所有文件function delAll($dir){ $handle=dir($dir); while($entry=$handle->read()){ if(($entry!=".")&&($entry!="..")){ $entry = $dir."/".$entry; if(!is_dir($entry)){ unlink($entry); } } }}//统计指定目下的文件总数function getSum($dir){ $file_sum = 0; $handle=dir($dir); while($entry=$handle->read()){ if(($entry!=".")&&($entry!="..")){ if(!is_dir($dir."/".$entry)){ $file_sum++; } } } return $file_sum;}//创建目录function create_path($path) { $path_array = explode ( DIRECTORY_SEPARATOR, $path ); $temp = array (); $dir = ''; foreach ( $path_array as $index => $path_item ) { array_push ( $temp, array_pop ( $path_array ) ); $dir = implode ( DIRECTORY_SEPARATOR, $path_array ); if (is_dir ( $dir )) { break; } } $temp = array_reverse ( $temp ); foreach ( $temp as $temp_path ) { $dir .= DIRECTORY_SEPARATOR . $temp_path; create_dir ( $dir ); }}
这个是显示页面代码
在线阅读
我把程序需要到的文件都发到百度网盘去了,需要的可以去下载
http://pan.baidu.com/s/1pHRku