Linux系统python3使用libreoffice将word转换为pdf文件

1、安装包

1
yum install libreoffice -y

2、命令转换word to pdf

1
2
[root@VM-80-27-centos ~]# libreoffice --headless --convert-to pdf /data/demo.docx --outdir /data/a/  
convert /data/demo.docx -> /data/a//demo.pdf using filter : writer_pdf_Export
  • 格式:
1
libreoffice --headless --convert-to pdf docx文件路径  --outdir 输出的文件路径

3、python脚本讲word转换为pdf(Linux系统)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# -*- coding: utf-8 -*-
"""
linux system word to pdf
"""
import subprocess
def doc2pdf_linux(docPath, pdfPath):
"""
convert a doc/docx document to pdf format (linux only, requires libreoffice)
:param doc: path to document
"""
# 转换word to pdf主要命令
cmd = 'libreoffice --headless --convert-to pdf'.split() + [docPath] + ['--outdir'] + [pdfPath]
# 开启一个进程执行这个转换命令
p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
# 设置30秒超时
p.wait(timeout=30)
# 将该命令的标准输出和错误输出赋值给两个变量名称
stdout, stderr = p.communicate()
# 如果错误输出存在,则抛出异常
if stderr:
raise subprocess.SubprocessError(stderr)
if __name__ == '__main__':
wordpath='/data/demo.docx'
pdfpath='/data/test/'
doc2pdf_linux(wordpath,pdfpath)

Linux系统python3使用libreoffice将word转换为pdf文件
https://92cloud.cn/posts/27017.html
作者
Guoxh
发布于
2022年7月3日
许可协议