## pdf轉換需要Java環境支持
相關壓縮文件下載:
[網盤下載](https://pan.baidu.com/s/1JPakavXHoY5u7N1dSAQKjQ ),提取碼:jsls
### 安裝搭建Java環境
一、下載jdk
該文件包可自行下載(以依賴文件中文件包解說)
二、將文件包導入服務器
一般文件放在 /usr/local 目錄下,也可自行選擇
三、解壓兩個文件(文件放在 /usr/local 目錄下)
```
1、jdk安裝
cd /usr/local
tar -zxvf jdk-8u181-linux-x64.tar.gz
// 將在該目錄下生成jdk1.8.0_181目錄
// 配置jdk環境(到根目錄)
vim .bashrc
// 在最后加入如下代碼
*****************************************************
* export JAVA_HOME=/usr/local/jdk1.8.0_181/
* export JRE_HOME=$JAVA_HOME/jre
* export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
* export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:.
*****************************************************
// 退出保存該文件
// 使文件生效
source .bashrc
// 查看jdk是否安裝成功
java -version
// 出現如下字表示安裝成功
*************************************************************************
* java version "1.8.0_181"
* Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
* Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
*************************************************************************
```
### 安裝openoffice
```
// 文件下載依賴包【依賴文件:Apache_OpenOffice_4.1.6_Linux_x86-64_install-deb_zh-CN.tar.gz】
// 上傳到服務器并解壓
tar -zxvf /usr/local/Apache_OpenOffice_4.1.6_Linux_x86-64_install-deb_zh-CN.tar.gz
// 解壓后的文件目錄為zh-CN,進行修改(重命名)
mv ./zh-CN/ ./openOffice
// 配置openoffice
cd openOffice/DEBS/
dpkg -i *.deb
cd desktop-integration/
dpkg -i openoffice4.1-debian-menus_4.1.6-9790_all.deb
// 文件默認安裝在/opt/openoffice4下
// 上述為Ubuntu環境,如果是centos環境采用如下命令(centos不支持deb文件安裝):
// 安裝轉換工具:yum install alien
// 配置openoffice
cd openOffice/DEBS/
// 轉換成rpm文件
alien -r *.deb generated
// 強制安裝
rpm -ivh --nodeps --force *.rpm
cd desktop-integration/
// 同理轉換
alien -r openoffice4.1-debian-menus_4.1.6-9790_all.deb genrated
// 安裝
rpm -ivh --nodeps --force openoffice-debian-menus-4.1.6-9791.noarch.rpm
```
### 安裝jodConverter
```
// 進入/opt目錄,并下載文件壓縮包
cd /opt
wget https://downloads.sourceforge.net/project/jodconverter/JODConverter/2.2.2/jodconverter-2.2.2.zip
// 解壓文件
unzip /opt/jodconverter-2.2.2.zip
// 說明:其中jodconverter-2.2.2.zip可能下載下來不完整,筆者提供的壓縮包中含有該文件!
```
### 配置字體
```
// 進入jdk字體目錄
cd /usr/local/jdk1.8.0_201(你安裝的jdk目錄)/jre/lib/fonts/
// 建立fallback目錄
mkdir fallback
// 將中文字體msyh.ttf、msyhbd.ttf、simhei.ttf、simsun.ttc放到fallback目錄下
// 依賴文件包中拷貝【依賴文件/字體】
// 將字體放到linux字體文件夾
cp /usr/local/jdk1.8.0_201/jre/lib/fonts/fallback/* /usr/share/fonts/
cp /usr/local/jdk1.8.0_201/jre/lib/fonts/* /usr/share/fonts/
// 刷新字體
fa-cache
// 如果報錯,根據提示安裝即可
apt-get install fontconfig
// 說明:字體也在筆者提供的壓縮包中
```
### 啟動openOffice(基本啟動失敗)
```
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
// 如果啟動失敗
// 嘗試安裝
yum groupinstall "X Window System"
// 失敗則安裝
apt-get install libxt6
```
### 本地環境測試
```
java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/test.docx /tmp/test.pdf
```
### PHP測試使用
```
// 需要修改php.ini文件,因為使用了disable_function exec()
// 需要java的完全路徑
$command = "sudo /usr/local/jdk1.8.0_201/bin/java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/test.docx /tmp/test.pdf";
// $return_var返回值0或1,如果返回0則執行成功,返回1則執行失敗
exec($command, $output, $return_var);
if ($return_var != 0) {
throw new \Exception("生成PDF失敗");
}
// 注意:一定是絕對路徑,相對路徑將會失敗,文件名一定不能含有中文,否則也將失敗
// 如果php執行未能生成PDF或生成了PDF但是無法下載,那么需要考慮是否是權限問題導致的
```
- 產品介紹
- 功能介紹
- 聯系合作
- 修訂記錄
- 環境安裝
- 依賴環境
- 依賴服務
- 前端環境
- 核心功能
- 流程引擎
- 流程編輯步驟
- 流程設計
- 業務表設計
- 表單設計
- 報表設計
- 節點配置
- 全局配置
- 規則引擎
- 模塊功能
- 系統管理
- 平臺架構
- 平臺(單位)管理
- 組織架構
- 用戶管理
- 角色管理
- 運維管理
- 菜單管理
- 流程管理
- 代碼管理
- 字典管理
- 車型庫管理
- 報表管理
- 產品管理
- 經銷商管理
- 數據字典
- 業務設置
- 業務報表設置
- 系統配置
- 微信小程序設置
- OCR識別
- 釘釘通知
- 釘釘登錄授權
- 云儲存設置
- 服務規劃
- 其他產品
- 教育點播
- 退役政務
- 三方報表
- 微信社群
- 場景名片
- 合同電子簽
- TP5實用封裝
- 通用封裝
- Export通用封裝
- Import通用封裝
- 配合Import通用封裝的ImportBaseVerify類
- Files通用封裝
- Directory通用封裝
- Pdf通用封裝
- Words通用封裝
- Nredis(redis封裝)
- ZipArchives壓縮zip文件封裝
- BarQrcode條形碼二維碼
- Publics公共方法封裝
- Curls(cUrl請求封裝)
- extend擴展開發
- 何時編寫擴展文件包
- 擴展文件包如何編寫
- 題外話
- 常用的compose安裝
- 一些建議及細節
- 實用工具
- 源碼分析
- 入口文件index.php
- think\Facade類詳解
- App對接Api設計
- 設計模式說明(為什么這么做)
- 代碼設計邏輯方案
- 數據庫備份
- 實用案例
- 如何“偷”JAVA代碼
- SAAS接口設計
- 1、創建saas基類文件
- 2、初始化控制器服務
- 3、身份校驗
- 4、創建登錄控制器
- 5、實現登錄服務層
- 6、服務層繼承的service類
- 7、該案例的完整模塊包
- 校驗型規則校驗擴展包
- 自定義規則解析(可供參考)
- 通用文件擴展包(File,Zip)
- PHP實現word轉PDF功能環境搭建
- 日志通用擴展包
- 定時任務
- PHP視頻處理器安裝環境搭建
- 日常開發問題記錄
- 1、mysql存儲中帶一些不可見字符
- 2、php開發規范校驗及修復