PHP使用LibreOffice实现word转pdf

  • 一、windows下的安装及使用
    • 1. 下载并安装《LibreOffice 便携版》
    • 2. 通过cmd命令实现文档转换
    • 3.php调用命令实现文档转换
  • 二、Centos下的安装及使用
    • 1.安装LibreOffice
    • 2、执行命令转换pdf文档
    • 3、解决中文不显示,变方框的问题
    • 4、php调用命令实现文档转换
  • 三、其他:

LibreOffice是OpenOffice办公套件衍生版, 同样免费开源,并且是跨平台的,支持windows和linux服务器安装。

一、windows下的安装及使用

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

1. 下载并安装《LibreOffice 便携版》

下载地址:https://zh-cn.libreoffice.org/download/libreoffice/

初次下载需安装,安装后,可以将安装后的文件夹直接拷贝到U盘或者直接打个压缩包,其他windows电脑使用只需要解压就可以了,无须再次安装,相当于是绿色版。

2. 通过cmd命令实现文档转换

首先打开cmd进入LibreOffice目录,然后运行以下命令:

LibreOfficeWriterPortable --headless --convert-to pdf {文档路径} --outdir {导出目录路径}

例如:

运行后打开pdf导出的目录观察是否有pdf文件产生即可。本身cmd命令运行后没有任何结果和反馈。

3.php调用命令实现文档转换

$retval = 1;
// exec() might be disabled
$cmd = 'D:/soft/LibreOfficePortablePrevious/LibreOfficeWriterPortable.exe  --headless --convert-to pdf 1.doc --outdir ./';
if (function_exists('exec')){@exec($cmd, $output, $retval);
}
// Did it work?
if ($retval > 0){exit('process_failed');
}
echo 'success';

二、Centos下的安装及使用

1.安装LibreOffice

直接使用yum安装即可:

yum install libreoffice
yum install libreoffice-headless

2、执行命令转换pdf文档

跟windows类似,执行以下命令即可转换文档:

soffice --headless --convert-to pdf {文档路径} --outdir {导出目录路径}

例如:

3、解决中文不显示,变方框的问题

在linux下转换pdf,可能会出现中文字体不被识别,变成小方框的问题,解决步骤:

  1. 把Windows下的字体C:\Windows\Fonts下的常用字体,即simsun.ttc等复制到usr/share/fonts目录下。
  2. 修改字体权限
sudo chmod 644 simsun.ttc
  1. 更新字体缓存:
sudo fc-cache -fv

4、php调用命令实现文档转换

$retval = 1;
// exec() might be disabled
$cmd = 'export HOME=/tmp/ && /usr/bin/libreoffice --headless --convert-to pdf 1.doc --outdir ./';
if (function_exists('exec')){@exec($cmd, $output, $retval);
}
// Did it work?
if ($retval > 0){exit('process_failed');
}
echo 'success';

三、其他:

PHP使用LibreOffice实现word转pdf相关推荐

  1. 借助 libreoffice,word 转 pdf 体验

    libreoffice 官网 https://zh-cn.libreoffice.org/ 软件下载镜像: https://mirrors.cloud.tencent.com/libreoffice/ ...

  2. 利用LibreOffice进行WORD转PDF

    常用解决方案: 收费,不介绍. 免费,利用OpenOffice或者LibreOffice等进行转化,但是转化效率稍微慢点,但是word格式保持不错. POI+itext,网上也有不少,但是没有真正研究 ...

  3. 使用LibreOffice在线word转换pdf

    相关资料 Windows安装包:LibreOffice_7.0.6_Win_x64.msi Linux(CentOs)安装包:LibreOffice_7.0.6_Linux_x86-64_rpm.zi ...

  4. nestjs 结合LibreOffice 实现word转pdf在线预览

    一.下载-并安装LibreOffice 下载地址:https://zh-cn.libreoffice.org/download/libreoffice/ 下载后安装并配置环境变量 打开新的cmd窗口, ...

  5. LibreOffice实现word转pdf

    1,下载安装LibreOffice(根据系统下载对应版本),这里提供windows64的版本(LibreOffice_6.2.8_Win_x64.msi) https://download.csdn. ...

  6. 使用 LibreOffice 将 word 转化为 pdf 并解决中文乱码问题

    目录 一.安装 LibreOffice 二.解决乱码问题 2.1 查看是否安装中文字体 2.2 准备字体 2.3 导入字体 2.4 验证 项目中有一个在线上传 word 并预览 pdf 报告的需求,因 ...

  7. 踩坑日记 - word转pdf

    说明 最近这几天研究了下word转pdf的功能实现,特别记录下,方便以后查看. 搜索了网上大部分的资料,总的来说,不外乎以下几种: 1. openoffice,支持windows和linux环境,亲测 ...

  8. Java word转pdf Linux/windows跨平台 格式完美(利用命令行调用libreoffice)

    参考了里面的libreoffice的用法:https://blog.csdn.net/qwert678000/article/details/72770109 需求描述 最近在做word报表的自动生成 ...

  9. nodejs+libreoffice 将word转成pdf

    项目场景: 项目场景:项目中遇到一个需求,前端要预览word,不知道怎么做,只能后端转了,我使用的nodejs + libreoffice,先将word转成pdf,发送给前端  然后前端预览pdf就好 ...

最新文章

  1. 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方
  2. 百度:这次在AI领域我要做领头羊
  3. Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器
  4. 我对CopyOnWrite的思考
  5. 微信小程序里如何使用npm?小程序集成友盟举例
  6. js 页面所有超链接后加随机数 基于jquery
  7. python中参数传递_python中参数传递
  8. 会议交流 | 2021年全国知识图谱与语义计算大会(CCKS 2021)征稿通知
  9. mysql改utf8mb4后速度慢_更改MySQL数据库的编码为utf8mb4
  10. 小括号教学设计导入_如何在教学中凸显出学生的主体地位呢?原来只需要做到这几点即可...
  11. 实现企业级分布式储存之mogilefs和fastdfs的应用
  12. java 局部内部类
  13. 开发Connext DDS传输插件不用求人,看这一篇就够了
  14. 软著的代码怎么写?软件著作权提交源代码文件有什么要求?
  15. Matlab科研绘图颜色补充(特别篇)—51种中国传统颜色
  16. 带你学习《深入理解计算机系统》虚拟存储器(1)——虚存概念及页、页表和地址翻译基础
  17. 大数据教学整套视频及源码
  18. win7 配置Window Update失败,还原更改
  19. 多测师_swipe 滑动操作
  20. 异常解决——SpringBoot项目启动卡住,无任何异常信息

热门文章

  1. java+解析png+gif图片_Java 转换png jpg gif格式图片的相互转换的实现
  2. [SRS+docker]实现直播服务器 8 云产商直播服务
  3. netty半包粘包 处理_Java NIO 框架 Netty 之美:粘包与半包问题
  4. Android密码学相关
  5. 简易电子琴的设计( 汇编)
  6. centos7 下google Kubernetes(k8s)集群安装部署
  7. 一位身价10亿程序员的传奇一生
  8. JAP v1.0.5 发布,支持 Basic、Digest 和 Bearer 认证方式
  9. C# 数据类型(var)
  10. Vue.js获取返回数据中数组项个数