windows和linux编程 pdf,实现windows 和linux环境 word转pdf功能

本文章实现不同环境,word文档转pdf文档

文章目录

一、linux环境

1、环境安装

2、测试安装是否成功:

问题汇总:

1、linux系统缺少中文字体导致

2、禁用libreoffice屏幕显示(不一定管用)

二、windows环境

1、环境安装

三、windows和linux集成代码

一、linux环境

1、环境安装

去网站下载最新版libreoffice安装包

https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/

以下几个版本都可以

186b0c5d097485f4a5681eaa47966516.png

deb是ubuntu,mac是苹果,rpm是centos

20c543e4292e1e2e650be542fb69b29c.png

选择LibreOffice_6.4.4_Linux_x86-64_rpm.tar.gz

84da084d08a1c5523b88c4260253cfde.png

解压:

tar -zxvf LibreOffice_6.4.4_Linux_x86-64_rpm.tar.gz

安装:

cd LibreOffice_6.4.4.2_Linux_x86-64_rpm/RPMS/

yum localinstall *.rpm

2、测试安装是否成功:

libreoffice6.4 --version

命令转格式测试:

libreoffice6.4 --convert-to pdf:writer_pdf_Export ./123.docx --outdir ./

问题汇总:

1、如果libreoffice出现cpu100%并且长时间无响应

2、word转pdf之后,中文乱码

解决方法(注:方法1基本就解决了上述两个问题):

1、linux系统缺少中文字体导致

具体操作:

建一个chinese目录,找到windows的C:\Windows\Fonts的部分字体,msyh.ttf,msyhbd.ttf,simsun.ttc,simkai.ttf,simhei.ttf,simfang.ttf,把字体放到chinese目录里。并把此目录移动到linux中的/usr/share/fonts/下

chmod -R 755 /usr/share/fonts/chinese //赋予权限

fc-list | grep chinese // 可以查看到已安装新增的字体了

2、禁用libreoffice屏幕显示(不一定管用)

# 找到安装目录sofficerc文件

vim /etc/libreoffice/sofficerc

Logo=1 改为 Logo=0

二、windows环境

1、环境安装

pip install pypiwin32

测试可以用集成代码

三、windows和linux集成代码

import os

import platform

import subprocess

from win32com.client import Dispatch

def doc2pdf_windows(input_file):

word = Dispatch('Word.Application')

doc = word.Documents.Open(input_file)

doc.SaveAs(input_file.replace(".doc", ".pdf"), FileFormat=17)

doc.Close()

word.Quit()

def doc2pdf_linux(docFile):

"""

convert a doc/docx document to pdf format (linux only, requires libreoffice)

:param doc: path to document

"""

file_path = os.path.dirname(os.path.realpath(docFile))

cmd = 'libreoffice6.4 --convert-to pdf:wirter_pdf_Export'.split() + [docFile] + ['--outdir'] + [file_path]

p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE)

p.wait(timeout=30)

stdout, stderr = p.communicate()

if stderr:

raise subprocess.SubprocessError(stderr)

if __name__ == '__main__':

file = 'D:\\work\\code\\test.doc'

sys = platform.system()

if sys == "Windows":

doc2pdf_windows(file)

elif sys == "Linux":

doc2pdf_linux(file)

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值