php文库系统解决方案(仿百度、豆丁文库系统)

方案一:

第一步:下载文库核心插件

(FlexPaper+SWFTools 实现仿百度文库pdf->swf->界面显示);

下载地址:http://down.51cto.com/data/564004(PHP仿百度文库核心代码)

SWFTools官方下载地址:

http://www.swftools.org/download.html

1、界面显示.swf

2、pdf转换成.swf配置

flexpaper\php\lib\config.ini.win.php

path.pdf和path.swf分别建一个pdf存放路径和转换后.swf存放路径(即前台读取路径)

安装好SWFTools,并配置好SWFTools安装完整路径,别填错了。

2、pdf->swf转换页面地址:(打开页面,自己会转换成.swf并页面显示)

flexpaper/php/simple_document.php

第二步:解决上传文件转换为PDF问题

PHP目前没有开源的文件转换为PDF的代码插件。

OpenOffice是一套跨平台的办公室软件套件,能在 Windows、Linux、MacOS X (X11)、和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice 是自由软件,任何人都可以免费下载、使用、及推广它。

并且OpenOffice还提供了开源的Java调用API。(很遗憾没有PHP的调用API),所以下一步要做的工作就是实现PHP能调用java类,从而实现php调用OpenOffice来转换上传文件到pdf。

OpenOffice官网下载地址:(因为调用它,当然服务器上也必须装上这个软件,而且要保持打开运行的状态)

http://www.openoffice.org/download/

本地下载:http://down.51cto.com/data/583479

OpenOffice API下载地址:

官网:http://www.openoffice.org/api/

第三步:测试php调用java类

1、配置

下载:JavaBridge.jar http://down.51cto.com/data/560547

下载:java.inc  http://down.51cto.com/data/564342

将JavaBridge.jar放在C:\Program Files\PHP\ext中 然后双击打开:

然后,将java.inc取名就叫java文件夹放在htdoc根目录中,然后建一个测试文件:

运行test.php但是报错:

  1. <?php
  2. require_once ( "java/Java.inc" );
  3. $v = new java("java.lang.System");
  4. $arr=$v->getProperties();
  5. foreach ($arr as $key => $value){
  6. echo  $key.'=>'.$value.'<br />';
  7. }
  8. echo '<hr />';
  9. require_once("java/Java.inc"); //必须包含的配置文件
  10. java_require("Test.jar"); //引用包含的jar包
  11. $test = new Java("com.phpjava.Test"); //产生实例
  12. $test->setName("哈哈,PHP调用JAVA的方法!"); //后面的调用就跟在php中调用类方法一样
  13. echo "调用类Test的getName方法,返回值为:".$test->getName()."<br>";
  14. echo "调用Test的add方法,返回值为:".$test->add(11.2, 15.7);
  15. ?>

总是提示java_require()不被支持。期待高手指教!

结果路就被堵在了此处。最终此方案放弃。如果能够顺利php调用java方法,那么这个方案还是可行的。

==========================The End=================================================

方案二:

FlexPaper是一个开源的PDF文档在线查看控件。用户查看PDF文档不需要安装Acrobat Reader,但需要利用像SwfTools这样的工具预先将PDF文档转成SWF格式的文件。FlexPaper能够对需要查看的文档进行分页、搜索、打印、缩放、全屏查看等

但对于一次性加载整个大型文档会导致加载时间过长和内存过渡消耗。 在新的FlexPaper版本中已经能够解决这个问题。首先需要将你的文档拆分成多份swf文件,然后在调用FlexPaper的时候设置好相关参数,这 样在浏览的时候就能够分页/分段加载。下面将介绍如何将文档拆分成多份swf文件和怎么设置FlexPaper参数:

关于如何拆分文档,在FlexPaper 1.4.5中已经提供了一个开箱即用的示例。只要在支持PHP的服务器上运行其提供的'split_document.php'文件能够自动进行分页。对 于服务器上不支持PHP运行的,可以在调用PDF2SWF程序时,在原来调用的命令行基础上稍微修改一下具体如下:

C:\SWFTools\pdf2swf.exe Paper.pdf -o Paper%.swf -f -T 9 -t -s storeallcharacters

大家可以看到上面的命令行比原来只多了一个%符号,这个符号表示在PDF2SWF转换文档时,将为每一个页创建一个swf文件。如:"Paper1.swf", "Paper2.swf"。然后在FlexPaper控件配置加载SwfFile的地方,采用:{filename[*,padding],total pages}这种语法表明。

以下给出一个具体的配置示例:

  1. var fp = new FlexPaperViewer(
  2. 'FlexPaperViewer',
  3. 'viewerPlaceHolder', { config : {
  4. SwfFile : "{Paper[*,0].swf,28}",
  5. Scale : 0.6,
  6. ZoomTime : 0.5,
  7. ZoomInterval : 0.1,
  8. FitPageOnLoad : false,
  9. FitWidthOnLoad : false,
  10. PrintEnabled : false,
  11. MinZoomSize : 0.2,
  12. MaxZoomSize : 5,
  13. localeChain : "en_US"
  14. }});

在这个例子中,我们指示FlexPaper按分页的方法来加载一个共有28页的文档,不需要用0填充文件名。假如你的文件是 按"Paper01.swf", "Paper02.swf", .. 这种形式拆分时,要将padding设置成1,意思是用一个零来填充文件名。

但是这种解决方法有点不足的地方就是拆分后的一个个swf文件大小加起来比较原来单个文档的大小多了很多。

转载于:https://blog.51cto.com/xuqin/1036794

php文库系统解决方案相关推荐

  1. 魔众文库系统 v3.5.0 预览页数调整,批量操作命令,多处优化

    魔众文库系统基于文档系统知识,建立平台与领域,打造流量.用户.付费和变现的闭环,帮助您更好的搭建文库系统. 魔众文库系统发布v3.5.0版本,新功能和Bug修复累计23项,预览页数调整,批量操作命令, ...

  2. 魔众文库系统 v2.2.0 常规升级,界面和后台优化

    魔众文库系统基于文档系统知识,建立平台与领域,打造流量.用户.付费和变现的闭环,帮助您更好的搭建文库系统. 魔众文库系统发布v2.2.0版本,新功能和Bug修复累计14项,常规升级,界面和后台优化. ...

  3. 魔众文库系统 v2.5.0 批量上传,支持腾讯万象文档,重复检测

    魔众文库系统基于文档系统知识,建立平台与领域,打造流量.用户.付费和变现的闭环,帮助您更好的搭建文库系统. 魔众文库系统发布v2.5.0版本,新功能和Bug修复累计11项,批量上传,支持腾讯万象文档, ...

  4. 魔众文库系统 v2.3.0 后台菜单快捷搜索,组件显示优化

    魔众文库系统基于文档系统知识,建立平台与领域,打造流量.用户.付费和变现的闭环,帮助您更好的搭建文库系统. 魔众文库系统发布v2.3.0版本,新功能和Bug修复累计5项,后台菜单快捷搜索,组件显示优化 ...

  5. 35页智慧安防小区管控系统 解决方案

    注重目标和问题导向,通过综合运用现代科学技术,整合区域人.地.物.事.网.组织等信息,以公共安全视频监控建设和智慧小区建设为依托,以警务室建设规范化.社区民警配备专职化.社区警务工作信息化为抓手,实现 ...

  6. 一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案

    Windows7下"僵尸"图标的解决方案 从<一种清除windows通知区域"僵尸"图标的方案--问题分析>(以后简称<问题分析>)一文 ...

  7. winform实现翻书效果_虚拟翻书系统解决方案

    如今,越来越多的智能系统进入了人们的生活,为人们提供更多的方便与娱乐.下面为大家介绍一款虚拟翻书系统,看看它能为人们带来什么? 虚拟翻书系统解决方案 目前主流的虚拟翻书系统主要设备有: 1.硬件设备: ...

  8. Entrust - Laravel 用户权限系统解决方案

    Entrust - Laravel 用户权限系统解决方案 参考文章: (1)Entrust - Laravel 用户权限系统解决方案 (2)https://www.cnblogs.com/qiyong ...

  9. 污水处理厂数字监控系统解决方案

    污水处理厂数字监控系统解决方案<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

最新文章

  1. Arduino生成ATmega8的运行程序并下载
  2. linux 档案类型s,Linux学习(四)档案与目录管理
  3. 用Lighttpd做图片服务器
  4. oracle em 界面乱码,oracle em 按钮乱码解决办法及em网页变成英文
  5. Android Studio环境搭建
  6. 第六讲:PrintClient工具的使用
  7. POJ 2533 Longest Ordered Subsequence 动态规划
  8. Android笔记-ERROR: Invalid revision: 3.17.20200511-g8787079
  9. [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)
  10. 目标服务器已挂起重新启动_CentOS 7 Apache 服务器证书安装
  11. 自定义self.editButtonItem 改变自定义self.editButtonItem的背景图片
  12. MOSSE相关滤波跟踪算法(二)
  13. php bi系统,bi系统是什么系统
  14. Dempster证据理论python复现
  15. brctl 设置ip_Linux 网桥配置命令:brctl | 学步园
  16. 教你用GoldWave剪裁音频作短视频BGM
  17. 三、判断三元一次方程组是否有解及求解——(计算糖果)
  18. 机器学习笔记week1——奥卡姆剃刀原则、L1与L2范数正则化、模型泛化性
  19. 【无标题】基于javaweb、java的管理系统毕设计与实现怎样选题思路分享
  20. 2017工业互联网峰会 | 天拓四方助力中国工业生产、制造业转型升级

热门文章

  1. 如何解决WPS中文章段落格式设置失效
  2. TeX/LaTeX 常用宏包简介
  3. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java汽车交易平台w81zb
  4. [IC笔试题] FIFO深度计算
  5. 【历史上的今天】3 月 15 日:世界上第一个互联网注册域名;Adobe 并购 Aldus;Skype 取代 MSN
  6. 【图像处理】基于ART算法实现图像重建matlab源码
  7. Spring深入研究之常用的设计模式(源码分析)
  8. 美国2012政治献金数据分析(附有源数据和题目)
  9. 2021-9-20 18点00 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 回调有点大,但是还是再箱体里面,且没有破前低,恒大黑天鹅继续发酵,等待箱体稳定。
  10. 2019软科中国【网络空间安全】专业大学排名