av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP替換Word中變量并導(dǎo)出PDF圖片的實(shí)現(xiàn)方法

瀏覽:147日期:2022-06-01 17:43:50

在線生成合同信息,一個(gè) word 文件里面有些信息需要通過數(shù)據(jù)庫(kù)讀取計(jì)算出并填寫到 word 文檔中最終顯示在線 pdf 預(yù)覽功能,接下來(lái)我交大家如果實(shí)現(xiàn)該需求

2、接下來(lái)實(shí)現(xiàn)如何替換文檔內(nèi)容

PHP替換Word中變量并導(dǎo)出PDF圖片的實(shí)現(xiàn)方法

我們新建一個(gè) aa.docx 的文檔,里面放了一個(gè)變量信息

3、接下來(lái)使用 php 來(lái)替換這個(gè)變量信息 代碼如下

... use PhpOfficePhpWordTemplateProcessor; ... $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 里面模板變量的替換是不是比較簡(jiǎn)單呢

4、接下來(lái)我們需要處理 word 文檔轉(zhuǎn)為 pdf 我也在網(wǎng)上了查了比較多的資料,什么先轉(zhuǎn)為 html 然后通過 其它包的方式或者擴(kuò)展來(lái)轉(zhuǎn) pdf 確實(shí)都能實(shí)現(xiàn),但是有一點(diǎn) word 轉(zhuǎn)為 html 的時(shí)候格式會(huì)丟失這就和我們的需求有點(diǎn)偏離,后面轉(zhuǎn)換了方向,使用工具來(lái)把 word 轉(zhuǎn)為 pdf 這里我推薦的工具為 unoconv 安裝方式如下

apt-get install unoconv#如果報(bào)錯(cuò)請(qǐng)求服務(wù)器語(yǔ)言設(shè)置為 LANG=”en_US.UTF-8″ #使用命令把 word 轉(zhuǎn)為 pdfunoconv -f pdf aa.docx#這個(gè)時(shí)候在當(dāng)前目錄下就會(huì)有一個(gè) aa.pdf 的文件出來(lái)#但是會(huì)發(fā)現(xiàn)如果是中文的情況下轉(zhuǎn)出來(lái)的 pdf 是亂碼該如何解決

5、pdf 生成出來(lái)中文亂碼解決方案,安裝一個(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 # 看是不是中文亂碼的問題解決了

6、使用 php 的執(zhí)行 shell 的函數(shù)來(lái)調(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) ALLwww-data ALL=(ALL) ALL%www-data ALL=(ALL) NOPASSWD:ALL zhouyao ALL=(ALL) ALLzhouyao ALL=(ALL) NOPASSWD:ALL# 增加用戶zhouyao 忽略執(zhí)行命令需要密碼# 增加用戶組和用戶zhouyaouseradd zhouyao -m # -m 創(chuàng)建家目錄# 更改php-fpm的用戶和用戶組cd /etc/php/7.1/fpm/pool.dvim www.confuser = zhouyaogroup = zhouyao# 退出保存重啟php-fpm和nginx,此時(shí)在瀏覽器在執(zhí)行該文件可以看到pdf下載下來(lái)了# 如pdf中下載的中文是亂碼,請(qǐng)自行安裝一個(gè)中文字體到服務(wù)器字體目錄即可

總結(jié)

到此這篇關(guān)于PHP替換Word中變量并導(dǎo)出PDF圖片的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)PHP替換Word變量并導(dǎo)出PDF圖片內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: word
相關(guān)文章:
主站蜘蛛池模板: 欧美1级 | 日韩中文字幕 | 性视频一区 | 国产精品一区二区不卡 | 国产精品毛片一区二区在线看 | 一区二区三区在线免费观看 | 七七婷婷婷婷精品国产 | 久久久久久国产精品 | 国产成人叼嘿视频在线观看 | 精品一区二区久久久久久久网站 | 国产在线精品一区二区三区 | 欧美极品在线播放 | 日韩精品极品视频在线观看免费 | 欧美a级网站 | 国产伦精品一区二区三区照片91 | 一级黄色片在线免费观看 | 欧美xxxx在线 | 懂色中文一区二区在线播放 | 18gay男同69亚洲网站 | 日韩精品免费一区二区在线观看 | 亚洲综合网站 | 国产视频亚洲视频 | 国产综合精品 | 久久久精品一区 | av网站免费在线观看 | 欧美日韩黄色一级片 | 97成人精品 | 国产成人综合一区二区三区 | 欧美一区视频 | 国产激情免费视频 | 国产成人免费 | 91看片官网 | 天天躁天天操 | 欧美综合一区 | 九色国产 | 伊人免费观看视频 | 一区二区三区视频在线观看 | 亚洲成av人片在线观看无码 | 日韩精品福利 | 99精品在线免费观看 | 69视频在线播放 |