## 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开发规范校验及修复