最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年11月26日 11:55:47   作者:古月先生  
這篇文章主要給大家介紹了關(guān)于PHP替換Word中變量并導(dǎo)出PDF圖片的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

3、接下來使用 php 來替換這個變量信息 代碼如下

 ...
 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 里面模板變量的替換是不是比較簡單呢

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

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

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

 # 把電腦本機的宋體上傳到服務(wù)器字體目錄下 /usr/share/fonts 新建一個目錄 win 或者其它,把中文字體上傳到該目錄下
 apt-get install mkfontscale #安裝這個工具
 # 進入到/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ù)來調(diào)用該函數(shù)自動生成即可

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

注:如 php 執(zhí)行 shell 腳本命令不生效時,此處的問題是用戶權(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,此時在瀏覽器在執(zhí)行該文件可以看到pdf下載下來了
# 如pdf中下載的中文是亂碼,請自行安裝一個中文字體到服務(wù)器字體目錄即可

總結(jié)

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

相關(guān)文章

  • PHP中使用hidef擴展代替define提高性能

    PHP中使用hidef擴展代替define提高性能

    這篇文章主要介紹了PHP中使用hidef擴展代替define提高性能,本文著重測試hidef的性能,同時介紹了安裝方法和使用示例,需要的朋友可以參考下
    2015-04-04
  • PHP學(xué)習(xí)的技巧和學(xué)習(xí)的要素總結(jié)

    PHP學(xué)習(xí)的技巧和學(xué)習(xí)的要素總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于PHP學(xué)習(xí)的技巧和學(xué)習(xí)的要素總結(jié)內(nèi)容,需要的朋友們可以參考下。
    2020-01-01
  • 通過PHP實現(xiàn)獲取訪問用戶IP

    通過PHP實現(xiàn)獲取訪問用戶IP

    這篇文章主要介紹了通過PHP實現(xiàn)獲取訪問用戶IP,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • php技巧小結(jié)【推薦】

    php技巧小結(jié)【推薦】

    本文主要分享了分享php工作中遇到的一些探究和技巧,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • PHP下ajax跨域的解決方案之jsonp實例分析

    PHP下ajax跨域的解決方案之jsonp實例分析

    這篇文章主要介紹了PHP下ajax跨域的解決方案之jsonp,結(jié)合實例形式分析了PHP ajax跨域的解決方案jsonp相關(guān)原理、實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • php 獲取百度的熱詞數(shù)據(jù)的代碼

    php 獲取百度的熱詞數(shù)據(jù)的代碼

    php 獲取百度的熱詞數(shù)據(jù)的代碼,返回數(shù)組
    2012-02-02
  • 學(xué)習(xí)使用curl采集curl使用方法

    學(xué)習(xí)使用curl采集curl使用方法

    從朋友那拿到一份代碼,用CURL模擬用戶登錄并采集需要用戶登錄的頁面的
    2012-01-01
  • PHP檢測字符串是否為UTF8編碼的常用方法

    PHP檢測字符串是否為UTF8編碼的常用方法

    這篇文章主要介紹了PHP檢測字符串是否為UTF8編碼的常用方法,列舉了四個實例從不同的角度來實現(xiàn)這一功能,是非常實用的技巧,具有一定的學(xué)習(xí)借鑒價值,需要的朋友可以參考下
    2014-11-11
  • PHP截取字符串substr()函數(shù)用法詳解

    PHP截取字符串substr()函數(shù)用法詳解

    PHP的substr()函數(shù)用于返回字符串的子串,它接受三個參數(shù):字符串本身,起始位置和所需的長度,本文主要給大家詳細介紹了PHP substr()函數(shù)的用使用方法,需要的朋友可以參考下
    2023-08-08
  • 標準PHP的AES加密算法類

    標準PHP的AES加密算法類

    AES是分組密鑰,算法輸入128位數(shù)據(jù),密鑰長度也是128位。用Nr表示對一個數(shù)據(jù)分組加密的輪數(shù)(加密輪數(shù)與密鑰長度的關(guān)系如表1所列)。每一輪都需要一個與輸入分組具有相同長度的擴展密鑰Expandedkey(i)的參與。
    2015-03-03

最新評論

饶平县| 罗定市| 武隆县| 绿春县| 许昌市| 东港市| 太仆寺旗| 密山市| 潢川县| 绥化市| 施甸县| 即墨市| 昌江| 荆门市| 麻江县| 佳木斯市| 汶川县| 麦盖提县| 宜黄县| 阳信县| 宁强县| 南涧| 南岸区| 阳朔县| 建水县| 泾阳县| 陇西县| 开鲁县| 崇明县| 哈尔滨市| 长海县| 平陆县| 东城区| 蓝田县| 英吉沙县| 武夷山市| 象州县| 日照市| 新乡县| 望城县| 诏安县|