linux系统python md文件转pdf
作者:互联网
linux md文件转pdf
1.使用python依赖pypandoc,将md文本转成doc文件
import pypandoc //引入pypandoc依赖
"""
:param text: 数据源文本
:param outputfile: 生成文件路径
"""
pypandoc.convert_text(text, 'docx', 'md', outputfile= outputPath + '.docx')
2.使用LibreOffice软件,将doc文件转成pdf
首先卸载当前系统的libreoffice,因为大多数系统默认安装的都是低版本,我们要使用的是最新稳定版
yum remove libreoffice-*
在https://www.libreoffice.org/download/download/上下载最新的稳定版gz压缩包
安装java依赖
yum -y install java-1.8.0-openjdk*
然后将刚才下载的gz压缩包解压后安装
tar xvf LibreOffice_6.2.5.2_Linux_x86-64_rpm.tar.gz
cd LibreOffice_6.2.5.2_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm
最后安装一些依赖
yum install cairo cups-libs libSM
yum install ibus
yum install libreoffice-headless
在命令行输入,显示帮助文档就没问题了
libreoffice -help
- 解决中文乱码问题,修改系统语言来支持中文
执行命令:
yum groupinstall "fonts"
安装成功后,
打开
vim /etc/locale.conf
按键 i 进入编辑模式, 把内容改为
LANG="zh_CN.UTF-8"
wq 存盘
然后重启服务器reboot
之后也可以支持中文转换了
转换命令
libreoffice6.2 --headless --convert-to pdf /root/4321.docx
python代码1
def doc2pdf_linux(doc):
"""
convert a doc/docx document to pdf format (linux only, requires libreoffice)
:param doc: 路径文件
"""
cmd = 'libreoffice6.2 --headless --convert-to pdf'.split() + [doc]
p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
p.wait(timeout=10)
stdout, stderr = p.communicate()
if stderr:
raise subprocess.SubprocessError(stderr)
python代码2
import os
"""
convert a doc/docx document to pdf format (linux only, requires libreoffice)
:param outdir: 文件输出路径
"""
os.system(“libreoffice --invisible --convert-to pdf --outdir /home/wanxing/Desktop/ /home/wanxing/Desktop/demo.docx”)
标签:md,docx,python,doc,linux,--,yum,libreoffice,pdf 来源: https://blog.csdn.net/weixin_43989338/article/details/116457447