日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

php文库系统解决方案

發布時間:2023/12/1 综合教程 17 生活家
生活随笔 收集整理的這篇文章主要介紹了 php文库系统解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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. ?
  5. $arr=$v->getProperties();?
  6. ?
  7. foreach?($arr?as?$key?=>?$value){?
  8. ????echo??$key.'=>'.$value.'<br?/>';?
  9. }?
  10. echo?'<hr?/>';?
  11. ?
  12. require_once("java/Java.inc");?//必須包含的配置文件?
  13. java_require("Test.jar");?//引用包含的jar包?
  14. ?
  15. $test?=?new?Java("com.phpjava.Test");?//產生實例?
  16. $test->setName("哈哈,PHP調用JAVA的方法!");?//后面的調用就跟在php中調用類方法一樣?
  17. ?
  18. echo?"調用類Test的getName方法,返回值為:".$test->getName()."<br>";?
  19. echo?"調用Test的add方法,返回值為:".$test->add(11.2,?15.7);?
  20. ?>?

?總是提示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文库系统解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。