批量转换office 的docx文件为pdf文件

批量转换office 的docx文件为pdf文件

 

虽然wps office等软件都集成了一建转换的功能,但是有时我们需要的不仅仅是一个文档的转换,

而是一批文档的转换,这样就可以用这个代码了.代码是在ubuntu下运行的.废话不多说,直接上代码,其中部分代码借鉴了
https://blog.csdn.net/qq_44920726/article/details/104652145
特别感谢

需要给定参数原文件的目录名称和保存pdf文件的目录名称

import re
import os
import subprocess
from subprocess import Popen, PIPE


def word_to_pdf(outfile, infile, timeout=20):
    
    args = ['libreoffice', '--headless', '--convert-to', 'pdf', '--outdir', outfile, infile]
    process = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=timeout)
    re.search('-> (.*?) using filter', process.stdout.decode())

    """将word 转换为pdf
        函数说明:将路径为infile的word文件转换为pdf,保存进路径为outfile的pdf文件.
        参数: outfile(str):保存文件pdf的路径.
        参数: infile(str):word文件的路径.
        参数: timeout:转换文件时的时间延迟.
    """

def filedocx_to_filepdf(oldfilepath,newfilepath):
    infiles = [name for name in os.listdir(oldfilepath)]
    inFiles = []

    for string in infiles:
        if(bool(re.search('docx$', string))):
            inFiles.append(string)
    for infile in inFiles:
        word_to_pdf(newfilepath,oldfilepath+infile)
        
    """
        批量转换docx文件转换成pdf文件
        需要给定参数有源文件的目录名称和保存pdf文件的目录名称
        过滤掉不是docx结尾的文档
        
    """

filepath = "/home/maiji/Desktop/均衡配置/"
newfilepath = "/home/maiji/Desktop/均衡配置1/"

filedocx_to_filepdf(filepath,newfilepath)

 

文件转换合并工具使用 需安装.netframework 4.0 office2007以上版本。 承包方相关表格比较多时,想要这些表格按一定顺序放到一起打印,此工具可解决这个问题,使用方法如下: 1.选择工具包里的第一个应用程序FileMerger.exe,双击运行。 2.启动程序后,打开后的初始界面如下: 3.使用此工具,大致5个步骤,如下图依次进行操作: 4.文件夹路径时指需要合并的文件所在文件夹的路径,这里需特别注意,选择要合并转换文件所在文件夹的父文件夹,如下图,要合并转换的是各个承包方下的相关表格,需要选择各个承包方文件夹的父文件夹,即“新建文件夹”(文件夹名字以方便辨识为主);pdf文件路径是合并后的pdf存放路径。 5.匹配文件名中,可以根据需要合并转换需要,添加相关表格,在最下面输入表格名称即可,在文件名前打钩,才会使此文件参与合并。 可右击鼠标上下移动文件名,调整文件合并时的顺序。 6.添加表格,勾选要输出的表格,然后点击【保存设置】,可将设置保存在配置文件中。下次无需再次调整。 7.点击【开始合并】(一次就好,不要多点),开始进行文件转换合并,可在进度条中看到合并数据。 8. 合并完成后,会有完成用时提示,可以去查看合并后的文件,合并后的pdf是按承包方为单位,以一定顺序转换合并的。 7.如果软件发生崩溃,请联系技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值