成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你用PHP打造一款Word轉HTML的程序

原創
移動開發
在一些特殊場景,用戶需要展示的數據不是手動輸入的純文本或者手動編輯的富文本內容,而是通過上傳Word文件形成生成最后需要在APP上顯示的HTML內容,也就是將上傳的Word文件轉換為最后顯示的HTML文件,那么面對這樣的需求,我們應該怎么辦呢?

【51CTO.com原創稿件】在一些特殊場景,用戶需要展示的數據不是手動輸入的純文本或者手動編輯的富文本內容,而是通過上傳Word文件形成生成***需要在APP上顯示的HTML內容,也就是將上傳的Word文件轉換為***顯示的HTML文件,那么面對這樣的需求,我們應該怎么辦呢?

業務場景

業務場景

應朋友的請求,本次需要完成的功能如上圖,從上圖我們能夠看到,首先從管理后臺上傳WORD文件,然后后端腳本對這個WORD文件進行轉換操作,將其轉換為HTML文件,然后將這個HTML文件保存在某個目錄下面,***手機APP里面直接顯示這個HTML文件就可以了,換句話說,就是將WORD文件轉換為HTML文件,并且這個HTML文件兼容HTML5標準,從而能夠讓APP能夠盡可能的、友好的顯示這個HTML文件。

目前主要的解決方案

[[203561]]

目前能夠完成WORD文件轉HTML的第三方庫或者軟件很多,不過最常用的有兩種:Apache OpenOffice和LibreOffice,這兩種方案的***優點就是跨平臺型比較強,也就是它們都提供了關于Windows、Linux、Mac OS操作系統的版本,這樣我們就能夠放心的使用了,盡可能的減少移植代碼成本,在此,我選擇的是LibreOffice這種解決方案。

環境介紹

進行本次開發的本地環境如下:

OS:Windows 10

PHP:7.1以上

MySQL:5.6以上

WEB SERVER:Apache 2.4

PHP Framework:LV框架

IDE:PhpStorm

服務器環境介紹:

OS:Ubuntu

PHP:***版

MySQL:***版

WEB SERVER:Nginx

安裝LibreOffice環境

由于本地環境是Windows環境,所以我僅僅需要下載Windows版本的軟件包進行安裝就可以了,而該版本的軟件就是一個exe文件,所以安裝很簡單,僅僅需要像安裝一般的軟件一樣點擊下一步下一步就可以完成整個安裝。

用命令行進行轉換

其實將Word文件轉換為HTML文件,主要用到的是LibreOffice這個安裝目錄下面的soffice.exe文件,下圖是我本地的文件路徑。

路徑

下面我新建一個目錄,用于測試轉換,新建目錄、轉換文件和轉換命令、轉換結果等到參考下面的截圖。

33

剛剛開始僅僅就一個20170818.docx文件,下面我們將在這個目錄下面生成一個html文件。

html

經過上面的運行,我們能夠看到生成了一個20170818.html的HTML文件,主要應用的命令:”soffice.exe --convert-to html --outdir HTML文件保存目錄 要轉換的文件名”。

用PHP代碼進行轉換

上面我們已經用命令行的方式驗證了,能夠成功將Word文件轉換為HTML文件,由于我們的環境是PHP腳本,所以需要用PHP調用soffice.exe文件進行轉換,那么在PHP中調用這些執行程序的函數有:shell_exec、exec、system、passthru等等,下面是我用LV實現的轉換為HTML的代碼片段。

html4

還有一個需要解決的問題

雖然上面我已經成功用PHP來實現后臺上傳的Word文件轉換為HTML文件保存起來,但是還有一個致命的問題,就是轉換后的HTML文件不能夠自適應,這就導致這個頁面在APP里面打開的時候,顯示效果非常糟糕,甚至會出現橫向滾動條,圖片的右下角開始顯示文本等等,于是為了解決這個問題,我不得不將生成的HTML文件內容讀取出來,然后在里面添加各種各樣的HTML標簽和CSS屬性,參考下面的代碼。

問題

同時還有一點需要說明的是,對于Word文件里面的圖片,轉換為HTML文件的時候是經過base64編碼的。

一個潛在的性能問題

由于轉換Word到HTML文件的時候,腳本執行時間或許會很長,所以如果有很多Word文件或者同時有很多用戶進行Word文件的轉換,這個時候就不太建議上傳之后就轉換,而是將轉換交由單獨的主機或者單獨的進程來進行,而后端上傳成功之后僅僅將轉換任務添加到消息隊列里面就可以了。

一些附加的注意事項

由于轉換時間或許長、上傳的Word文件或許很大,所以我們需要做好一些PHP配置選項的設置,比如腳本***執行時間、文件***上傳大小、POST***上傳大小等等。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

責任編輯:何星 來源: 51CTO
相關推薦

2023-05-22 10:04:24

2021-02-01 08:41:06

Java考試系統

2021-02-04 15:52:46

Java考試系統

2021-01-04 09:55:26

Java移動互聯網

2021-01-05 09:04:20

Javatxt文件

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2021-01-10 08:14:01

Go語言TCP掃描器

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2021-08-13 09:01:31

Python小游戲Python基礎

2024-01-07 20:00:27

2021-01-21 06:04:55

Go語言TCP目錄生成器

2022-10-19 14:30:59

2009-08-27 18:10:58

PHP繪制3D圖形

2021-08-09 13:31:25

PythonExcel代碼

2021-03-02 09:05:13

Python

2022-08-04 10:39:23

Jenkins集成CD

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2021-02-06 14:55:05

大數據pandas數據分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产小视频在线观看 | 观看av| 免费精品视频一区 | 青娱乐自拍 | 毛片一级片 | 日本人麻豆 | 成人免费观看视频 | 欧美日韩中文字幕 | 亚洲视频在线看 | 国产精品久久久久久久久久久久冷 | 国产探花在线精品一区二区 | 久草在线在线精品观看 | 99久久国产免费 | 婷婷开心激情综合五月天 | 亚洲精品4| 亚洲精品久久久一区二区三区 | 国产精品国产成人国产三级 | 欧美a在线 | 爱综合| 亚洲成人免费电影 | 成人免费视频观看视频 | 午夜视频在线观看视频 | 天天射天天操天天干 | 在线播放国产一区二区三区 | 国产精品嫩草影院精东 | 国产日韩久久 | 黄色大片免费网站 | 国产三级网站 | 国产日韩一区二区三区 | 久久久久久99 | 在线午夜| 极品的亚洲 | 亚洲精品久久久久久久久久久久久 | 国产精品99一区二区 | 日韩一区二区三区在线 | 黄色大片免费看 | av手机在线免费观看 | 国产一区欧美 | 国产一区二区av | 99成人在线视频 | 日本男人天堂 |