摘要:方案選擇這幾天在搞在線文檔預(yù)覽,網(wǎng)上查了幾種方案,第一種使用的在線預(yù)覽國(guó)內(nèi)被,第二種使用第三方的,比如永中要錢,第三種先轉(zhuǎn)換為,在使用在線預(yù)覽插件預(yù)覽對(duì)服務(wù)器負(fù)擔(dān)比較大。
方案選擇
這幾天在搞在線文檔預(yù)覽,網(wǎng)上查了幾種方案,
第一種:使用google的在線預(yù)覽 -> 國(guó)內(nèi)被Q,pass
第二種:使用第三方的,比如:永中dcs -> 要錢,pass
第三種:先轉(zhuǎn)換為pdf,在使用pdf在線預(yù)覽插件預(yù)覽 -> 對(duì)服務(wù)器負(fù)擔(dān)比較大。
第四種:自己寫解析庫(kù) -> 我這實(shí)力,開(kāi)玩笑呢?
查了查,也就第三種可行。不過(guò)我之前都是做的簡(jiǎn)單的web開(kāi)發(fā),想到文檔轉(zhuǎn)換對(duì)于cpu的消耗比較大,應(yīng)該無(wú)法適應(yīng)大規(guī)模的并發(fā)情形。也在segmentfault上提了一個(gè)問(wèn)題:php長(zhǎng)時(shí)間的服務(wù)的設(shè)計(jì)與和前端的交互,不過(guò)并沒(méi)有得到很好的解決。
后來(lái)我問(wèn)了一個(gè)同學(xué),他之前用的unoconv把office文件轉(zhuǎn)為pdf,然后通過(guò)站內(nèi)信的方式提醒用戶文檔轉(zhuǎn)換完成。中間用了php-resque這個(gè)輕量級(jí)消息隊(duì)列。
和平時(shí)的php開(kāi)發(fā)不同,除了cgi服務(wù)器以外,還要有個(gè)Worker,專門用來(lái)處理文檔轉(zhuǎn)換。
大概流程就是:php處理前端上傳來(lái)的文件后,把轉(zhuǎn)化文件的任務(wù)添加到redis里,然后不斷的判斷轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后把pdf的路徑傳給前端,前端跳轉(zhuǎn)過(guò)去。
見(jiàn):https://github.com/nladuo/online_office_viewer
效果 安裝sudo apt-get install unoconv redis-server php5-redis git clone https://github.com/nladuo/online_office_viewer.git cd online_office_viewer && composer install啟動(dòng)redis
redis-server啟動(dòng)Worker
cd online_office_viewer/cli bash ./start_worker.sh啟動(dòng)CGI服務(wù)器
cd online_office_viewer php -S 0.0.0.0:8888測(cè)試轉(zhuǎn)換 選擇一個(gè)文檔 等待上傳 查看Worker的日志 轉(zhuǎn)換成功后 注
如果轉(zhuǎn)換出現(xiàn)了亂碼,是因?yàn)閘inux系統(tǒng)上沒(méi)有windows的字體,需要把字體文件拷貝到服務(wù)器上。具體可以百度unoconv中文亂碼。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22673.html
搭建個(gè)人云存儲(chǔ)一般會(huì)想到ownCloud,堪稱是自建云存儲(chǔ)服務(wù)的經(jīng)典。而Nextcloud是ownCloud原開(kāi)發(fā)團(tuán)隊(duì)打造的號(hào)稱是下一代存儲(chǔ)。初一看覺(jué)得口氣不小,剛推出來(lái)就重新定義了Cloud,真正試用過(guò)后就由衷地贊同這個(gè)Nextcloud:它是個(gè)人云存儲(chǔ)服務(wù)的絕佳選擇。 與ownCloud相比,Nextcloud的功能絲毫沒(méi)有減弱,甚至由于可以安裝云存儲(chǔ)服務(wù)應(yīng)用,自制性更強(qiáng),也更符合用戶的...
摘要:使用提供的在線預(yù)覽功能后面接你需要預(yù)覽的文件下載地址如果不能實(shí)現(xiàn)預(yù)覽功能提示報(bào)錯(cuò)請(qǐng)檢查返回的是否正確當(dāng)從瀏覽器返回一個(gè)文件時(shí)需要指定以下是對(duì)應(yīng)的值參考鏈接在線預(yù)覽文檔文件對(duì)應(yīng)的解決記錄原來(lái)網(wǎng)站中有個(gè)需要是下載最開(kāi)始實(shí)現(xiàn)的時(shí)候是 使用office提供的在線預(yù)覽功能https://view.officeapps.live....src后面接你需要預(yù)覽的文件下載地址.如果不能實(shí)現(xiàn)預(yù)覽功能,提...
摘要:使用提供的在線預(yù)覽功能后面接你需要預(yù)覽的文件下載地址如果不能實(shí)現(xiàn)預(yù)覽功能提示報(bào)錯(cuò)請(qǐng)檢查返回的是否正確當(dāng)從瀏覽器返回一個(gè)文件時(shí)需要指定以下是對(duì)應(yīng)的值參考鏈接在線預(yù)覽文檔文件對(duì)應(yīng)的解決記錄原來(lái)網(wǎng)站中有個(gè)需要是下載最開(kāi)始實(shí)現(xiàn)的時(shí)候是 使用office提供的在線預(yù)覽功能https://view.officeapps.live....src后面接你需要預(yù)覽的文件下載地址.如果不能實(shí)現(xiàn)預(yù)覽功能,提...
摘要:最近項(xiàng)目中用到了文件在線預(yù)覽功能,文件類型大概有圖片視頻等等,總結(jié)梳理了一下,分享給大家。文件類型在線文檔推薦使用,簡(jiǎn)單易用。而原生的的元素支持三種視頻格式,所以我們需要更強(qiáng)大支持更多視頻在線播放,第三方擴(kuò)展庫(kù)。 最近項(xiàng)目中用到了文件在線預(yù)覽功能,文件類型大概有圖片、視頻、PDF、PPT、Excel、Word 等等,總結(jié)梳理了一下,分享給大家。 PDF 文件類型 jquery.medi...
閱讀 3692·2021-09-30 09:59
閱讀 2356·2021-09-13 10:34
閱讀 588·2019-08-30 12:58
閱讀 1516·2019-08-29 18:42
閱讀 2213·2019-08-26 13:44
閱讀 2933·2019-08-23 18:12
閱讀 3330·2019-08-23 15:10
閱讀 1634·2019-08-23 14:37