91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP中替換Word中變量

發布時間:2020-11-27 14:54:35 來源:億速云 閱讀:380 作者:Leah 欄目:開發技術

如何在PHP中替換Word中變量?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

代碼如下

 ...
 use PhpOffice\PhpWord\TemplateProcessor;
 ...
 
 $path = storage_path('aa.docx');
 // 生成world 存放目錄
 $filePath = storage_path('contract.docx');
 // 聲明模板象并讀取模板內容
 $templateProcessor = new TemplateProcessor($path);
 // 替換模板內容
 $templateProcessor->setValue('contract', '北京乙方'); // 乙方
 
 // 生成新的 world
 $templateProcessor->saveAs($filePath);

這樣我們就完成了 word 里面模板變量的替換是不是比較簡單呢

接下來我們需要處理 word 文檔轉為 pdf 我也在網上了查了比較多的資料,什么先轉為 html 然后通過 其它包的方式或者擴展來轉 pdf 確實都能實現,但是有一點 word 轉為 html 的時候格式會丟失這就和我們的需求有點偏離,后面轉換了方向,使用工具來把 word 轉為 pdf 這里我推薦的工具為 unoconv 安裝方式如下

apt-get install unoconv
#如果報錯請求服務器語言設置為 LANG=”en_US.UTF-8″
 
#使用命令把 word 轉為 pdf
unoconv -f pdf aa.docx
#這個時候在當前目錄下就會有一個 aa.pdf 的文件出來
#但是會發現如果是中文的情況下轉出來的 pdf 是亂碼該如何解決

pdf 生成出來中文亂碼解決方案,安裝一個中文字體

 # 把電腦本機的宋體上傳到服務器字體目錄下 /usr/share/fonts 新建一個目錄 win 或者其它,把中文字體上傳到該目錄下
 apt-get install mkfontscale #安裝這個工具
 # 進入到/usr/share/fonts/win/ 執行命令
 mkfontscale && sudo mkfontdir && sudo fc-cache -fv
 # 然后重啟服務器讓字體生效
 reboot
 # 最后在執行
 unoconv -f pdf aa.docx
 # 看是不是中文亂碼的問題解決了

使用 php 的執行 shell 的函數來調用該函數自動生成即可

shell_exec('/usr/binunoconv -f pdf aa.docx')

注:如 php 執行 shell 腳本命令不生效時,此處的問題是用戶權限不正確導致不能執行該命令 解決方案如下:

# 編輯 vim /etc/sudoers文件
root ALL=(ALL:ALL) ALL
www-data ALL=(ALL) ALL
%www-data ALL=(ALL) NOPASSWD:ALL
 
zhouyao ALL=(ALL) ALL
zhouyao ALL=(ALL) NOPASSWD:ALL
# 增加用戶zhouyao 忽略執行命令需要密碼
# 增加用戶組和用戶zhouyao
useradd zhouyao -m # -m 創建家目錄
# 更改php-fpm的用戶和用戶組
cd /etc/php/7.1/fpm/pool.d
vim www.conf
user = zhouyao
group = zhouyao
# 退出保存
重啟php-fpm和nginx,此時在瀏覽器在執行該文件可以看到pdf下載下來了
# 如pdf中下載的中文是亂碼,請自行安裝一個中文字體到服務器字體目錄即可

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德昌县| 南宫市| 高尔夫| 花莲市| 福清市| 湟源县| 化隆| 北川| 绿春县| 通州市| 紫云| 常熟市| 外汇| 明溪县| 鲁山县| 哈巴河县| 南安市| 治多县| 潜山县| 蒙山县| 横山县| 合水县| 巧家县| 永仁县| 万盛区| 兴义市| 江津市| 那曲县| 东源县| 葫芦岛市| 铜梁县| 蓬安县| 田阳县| 湖北省| 仪征市| 扬州市| 晋中市| 大姚县| 二连浩特市| 沅陵县| 江源县|