如何在PHP中替換Word中變量?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司2013年成立,先為碾子山等服務(wù)建站,碾子山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為碾子山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。代碼如下
... use PhpOffice\PhpWord\TemplateProcessor; ... $path = storage_path('aa.docx'); // 生成world 存放目錄 $filePath = storage_path('contract.docx'); // 聲明模板象并讀取模板內(nèi)容 $templateProcessor = new TemplateProcessor($path); // 替換模板內(nèi)容 $templateProcessor->setValue('contract', '北京乙方'); // 乙方 // 生成新的 world $templateProcessor->saveAs($filePath);
這樣我們就完成了 word 里面模板變量的替換是不是比較簡單呢
接下來我們需要處理 word 文檔轉(zhuǎn)為 pdf 我也在網(wǎng)上了查了比較多的資料,什么先轉(zhuǎn)為 html 然后通過 其它包的方式或者擴(kuò)展來轉(zhuǎn) pdf 確實(shí)都能實(shí)現(xiàn),但是有一點(diǎn) word 轉(zhuǎn)為 html 的時(shí)候格式會(huì)丟失這就和我們的需求有點(diǎn)偏離,后面轉(zhuǎn)換了方向,使用工具來把 word 轉(zhuǎn)為 pdf 這里我推薦的工具為 unoconv 安裝方式如下
apt-get install unoconv #如果報(bào)錯(cuò)請(qǐng)求服務(wù)器語言設(shè)置為 LANG=”en_US.UTF-8″ #使用命令把 word 轉(zhuǎn)為 pdf unoconv -f pdf aa.docx #這個(gè)時(shí)候在當(dāng)前目錄下就會(huì)有一個(gè) aa.pdf 的文件出來 #但是會(huì)發(fā)現(xiàn)如果是中文的情況下轉(zhuǎn)出來的 pdf 是亂碼該如何解決
pdf 生成出來中文亂碼解決方案,安裝一個(gè)中文字體
# 把電腦本機(jī)的宋體上傳到服務(wù)器字體目錄下 /usr/share/fonts 新建一個(gè)目錄 win 或者其它,把中文字體上傳到該目錄下 apt-get install mkfontscale #安裝這個(gè)工具 # 進(jìn)入到/usr/share/fonts/win/ 執(zhí)行命令 mkfontscale && sudo mkfontdir && sudo fc-cache -fv # 然后重啟服務(wù)器讓字體生效 reboot # 最后在執(zhí)行 unoconv -f pdf aa.docx # 看是不是中文亂碼的問題解決了
使用 php 的執(zhí)行 shell 的函數(shù)來調(diào)用該函數(shù)自動(dòng)生成即可
shell_exec('/usr/binunoconv -f pdf aa.docx')
注:如 php 執(zhí)行 shell 腳本命令不生效時(shí),此處的問題是用戶權(quán)限不正確導(dǎo)致不能執(zhí)行該命令 解決方案如下:
# 編輯 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 忽略執(zhí)行命令需要密碼 # 增加用戶組和用戶zhouyao useradd zhouyao -m # -m 創(chuàng)建家目錄 # 更改php-fpm的用戶和用戶組 cd /etc/php/7.1/fpm/pool.d vim www.conf user = zhouyao group = zhouyao # 退出保存 重啟php-fpm和nginx,此時(shí)在瀏覽器在執(zhí)行該文件可以看到pdf下載下來了 # 如pdf中下載的中文是亂碼,請(qǐng)自行安裝一個(gè)中文字體到服務(wù)器字體目錄即可
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
文章標(biāo)題:如何在PHP中替換Word中變量-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article32/hghsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、ChatGPT、品牌網(wǎng)站制作、微信公眾號(hào)、標(biāo)簽優(yōu)化、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容