1.下载Centos镜像

docker pull centos

2.进入容器

docker run -it -d centos /bin/bash

-t: 让docker分配一个伪终端并绑定到容器的标准输入上;

-i: 让容器的标准输入保持打开,这时bash命令才不会自动退出;

-d: 让容器在后台运行。

如果没有-d,则会进入容器交互模式,输入exit命令后,会导致容器退出运行状态。加上-d, exit命令退出容器后,容器仍然能保持后台运行状态。

执行docker exec进入centos容器

docker exec -it centos /bin/bash

3.安装libreoffice、中文字体库等所需的软件

yum search libreoffice

可以看到除了libreoffice,还有很多office单一的子模块

yum目前的版本只到5.3.6.1,如果要安装最新的版本,需要从官网下载最新的安装包安装

libreoffice.x86_64 : Free Software Productivity Suite

libreoffice-calc.x86_64 : LibreOffice Spreadsheet Application

libreoffice-writer.x86_64 : LibreOffice Word Processor Application

libreoffice-draw.x86_64 : LibreOffice Drawing Application

......

因为只需要处理Excel,所以就只安装libreoffice-calc.x86_64

yum install libreoffice-calc.x86_64

yum groupinstall "Fonts"

yum groupinstall "Input Methods"

4.生成安装了libreoffice、中文字体等软件的docker 镜像

执行exit命令退出容器后在宿主机执行

docker commit CONTAINER_ID alexxu/librexlsx

通过docker ps|grep centos查看centos容器的container id.

5.停掉刚才运行的centos容器

docker stop CONTAINER_ID或是container_name(这里是centos)

6.启动上面新生成的docker 镜像alexxu/librexlsx

docker run –name libxlsx -it -d -v /$HOME/data:/root/pdf alexxu/librexlsx /bin/bash

-v创建共享目录,将宿主机目录/$HOME/data 映射到容器的/root/pdf目录 ,把要转换的Excel文件indicator.xlsx放到/$HOME/data目录。

进入容器

docker run -it -d centos /bin/bash

执行命令:

soffice --headless --invisible --convert-to pdf --outdir /root/pdf /root/pdf/indicator.xlsx

则在/$HOME/data目录可以看到生成的indicator.pdf

注意:如果你上面yum安装的是libreoffice而不是像我单独安装libreoffice-calc模块,导出时,导出命令最好加上output filter:calc_pdf_Export;如果是转word文档,则output filter类型为:writer_pdf_Export;这样明确告诉libreoffice是要哪个模块去转换。

soffice --headless --invisible --convert-to pdf:calc_pdf_Export --outdir /root/pdf /root/pdf/indicator.xlsx

因为我不确定libreoffice是不是能够自动识别你要转换的是Excel还是Word.

libreoffice命令行参数作用可以查看:https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/zh-CN

如果是在容器外执行。

docker exec libxlsx /bin/bash -c 'soffice --headless --invisible --convert-to pdf --outdir /root/pdf /root/pdf/indicator.xlsx'

以上就是怎样在linux环境通过libreoffice将Excel转换为pdf的详细过程。

如果想转换为html, 则将参数 --convert-to pdf改为 --convert-to html就可以。

java excel转pdf linux_docker安装libreoffice并实现把Excel转为pdf相关推荐

  1. LInux下安装libreoffice(用于Linux下Word转pdf,附代码)

    1. LibreOffice LibreOffice 是一款免费的开源办公软件,类似于 Microsoft Office 和 Google Docs.它包括多个应用程序,例如: Writer:用于处理 ...

  2. CSDN博客中Markdown代码转为pdf

    目录 比较差劲的简单方法 使用VSCode的进阶方法 比较差劲的简单方法 CSDN中Markdown的编辑器很适合做科研笔记用,但是网站自身并不支持输出pdf格式,当然我们可以用浏览器自带的'另存为p ...

  3. 将HTML 转为pdf

    将HTML 转为pdf 项目中有需求把 html页面显示转为pdf, 于是找了个例子,具有可行性的是这个 JS 如何将 HTML 页面导出为 PDF 该博主给了方法,使用了 html2canvas 和 ...

  4. libreoffice将world、excel等文件转化为pdf文件

    我是用的linux系统,Centos: 第一步:需要下载libreoffice包,选择你直接想要的版本: 下载地址:https://zh-cn.libreoffice.org/download/lib ...

  5. libreoffice安装+libreoffice转换pdf (linux)

    服务器安装libreoffice yum install libreoffice yum install libreoffice-headless yum -y install libreoffice ...

  6. Java将Excel文件、Word文件转为PDF

    因为要做文件在线预览 . 网上找了方法是需要调用公网微软地址传入我的文件路径 <iframe src='https://view.officeapps.live.com/op/view.aspx ...

  7. Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j

    Java实现windows,linux服务器word,excel转为PDF:aspose-words,Documents4j 一.通过aspose-words将word,Excel文档转为PDF 1. ...

  8. Java 将Excel转为PDF(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供GeneralApi接口和WorkbookApi接口,支持将本地Excel和云端Excel文档转换为ODS, PDF, XPS, PCL, PS等格 ...

  9. Java 文件转换工具类(word,html,excel,pdf,md,jpeg,png互转)

    一.前言 目前支持: word 转 html doc 转 docx html 转 word html 转 pdf excel 转 pdf word 转 jpeg word 转 png markdown ...

  10. java word转pdf linux_Linux平台中使用PHP把word转pdf的实现方法

    Linux平台中使用PHP把word转pdf的实现方法 1.ubantu下安装libreoffice sudo apt-get install libreoffice 2.命令行执行word转pdf ...

最新文章

  1. Python - selenium_WebDriver 鼠标键盘事件
  2. 【ABAP】Native SQL
  3. c语言猴子选大王指针,C语言描述怎么用循环队列实现猴子选大王
  4. MFC基于多文档框架(对话框内嵌office控件(word文档))
  5. 华云网际:虚拟机+廉价服务器 一体机就这么简单
  6. tableau选择计算_举个栗子!Tableau 技巧(100):吸睛又直观的 四瓣花图 怎么实现?...
  7. 为什么null为对象,并且null和undefined有什么区别?
  8. 缠论108课_缠论108课学习顺序
  9. 环形回路算法(python3)
  10. 浏览器网页怎么实现文档、小票自动静默打印?【深度】
  11. Cocos精品《地下城堡2》:从挂机到RPG 唯有暗黑始终如一
  12. arm服务器芯片尺寸,华为公开ARM服务器芯片“Hi1620”:7nm+64核心
  13. 3D 智慧农场可视化——解锁绿色生态田园
  14. (已解决)win10电脑开机自动开启word文档
  15. 内地人去香港旅游注意事项
  16. HDU4730--We Love MOE Girls HDU(148)
  17. 为什么游戏更新不了服务器维护,自走棋手游更新不了怎么办 更新失败解决方法介绍...
  18. Spark基本sort shuffle write流程解析
  19. vue加载supermap iclcent-ol (iclient for openlayer)
  20. 一人之下ios扫码_一人之下手游ios版下载

热门文章

  1. 微信小程序:万圣节头像框生成工具
  2. MDK5中F103C8T6的RCC时钟配置时指向RCC_AHB1PeriphClockCmd但报错identifier “RCC_AHB1Periph_GPIOB is undefined的解决
  3. python jpg压缩,Python 实现图片大小压缩
  4. 201671030112—词频统计软件项目报告
  5. 如何将其他注册商处的域名申请转出并转入阿里云(图文教程)
  6. android webview 设置下载文件,如何使用Android webview下载文本文件
  7. 用c语言写一个求和的程序,用C语言编写一个“等比数列求和”的程序?
  8. 使用Xshell重启远程服务器指令
  9. excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
  10. win10时间自动更新错误