博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP结合PDF2SWF插件实现在线PDF预览
阅读量:6840 次
发布时间:2019-06-26

本文共 2877 字,大约阅读时间需要 9 分钟。

    因为工作需要所以要写一个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 = '
720.000000
900.000000
'.($file_sum-3).'
.
[logopic]
[default]
0
'; $xml .= ''; file_put_contents($swf_file_path."/"."setting.xml", $xml);}
//删除指定目录下所有文件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 );    }}

这个是显示页面代码

在线阅读
magazine.swf" /> magazine.swf" width="1000px" height="1000px" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="window" allowFullScreen="true" allowScriptAccess="sameDomain">

我把程序需要到的文件都发到百度网盘去了,需要的可以去下载

http://pan.baidu.com/s/1pHRku

转载于:https://www.cnblogs.com/nethao/p/phppdf.html

你可能感兴趣的文章
Internet设置->连接选项卡->局域网(LAN)设置 某些设置由系统管理员进行管理
查看>>
MySQL 行子查询
查看>>
Comparison Operators Modified by ANY, SOME, or ALL
查看>>
java第四次作业
查看>>
一台机器同时启动两个tomcat
查看>>
Determine destination location of apt-get install <package>?
查看>>
mockups
查看>>
http 头信息详解
查看>>
sql语句遇到错误: The used SELECT statements have a different number of columns :
查看>>
openlayers 根据style设置显示级别并在字体加背景框
查看>>
sys_init
查看>>
array_map与array_column之间的关系
查看>>
xml 学习
查看>>
一次性验证码
查看>>
Mac设置信认任意来源应用
查看>>
基于matlab的退化图像复原(二)------逆滤波复原
查看>>
jquery中的each各种神奇遍历用法
查看>>
代码同步到树莓派
查看>>
obj-c 坑
查看>>
MySql数据库概念
查看>>