office转pdf

该文章介绍了一个Python脚本,它依赖于LibreOffice和Python库pyexcel及OpenPyXL,用于将Office文件(如.xls)转换为PDF。脚本首先安装必需的工具,然后解析命令行参数,处理缩放模式,确保内容适应页面宽度,最后保存转换结果并可删除临时文件。
摘要由CSDN通过智能技术生成

## office转pdf
1.安装LibreOffice
2.安装python转打印格式 这步主要解决缩放模式
```
pip install pyexcel pyexcel-xls pyexcel-xlsx
pip install openpyxl

代码运行:python   a.py   --s=/home/zyh/python/test/test.xls  --o=/home/zyh/python/test/cc.xlsx
import argparse
import pyexcel as p
from openpyxl import workbook,load_workbook
from openpyxl.styles import *
import random
import os

parser = argparse.ArgumentParser()
parser.add_argument('--s', type=str, default = None)
parser.add_argument('--o', type=str, default=None)
args = parser.parse_args()
b=args.s.endswith(".xls")
ss=''
if b:
    ss='./'+str(random.random())+".xlsx"
    p.save_book_as(file_name=args.s,dest_file_name=ss)


print(args.s)
print(args.o)
if b:
    wb=load_workbook(ss)
else:
    wb=load_workbook(args.s)
#wb=load_workbook('aa.xlsx')

for sheet in  wb:
    print(sheet.title)
    ws=wb[sheet.title];
    ws.sheet_properties.pageSetUpPr.fitToPage=True  #加入句代码后问题解决
    ws.page_setup.fitToWidth=True
    ws.page_setup.fitToHeight=False  #可以直接将Ture/False设置为数字

wb.save(args.o)
if b:
    os.remove(ss)
```
3.转
/usr/local/bin/libreoffice7.5  --headless --convert-to pdf ./test.xls

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值