自动化合并若干个word和pdf文档

需求:将若干个 word文 档和 pdf 文档按指定顺序合并为一个 pdf 文档,并将该过程自动化。

1. 将word转换为pdf。

使用工具 docto[github],该工具可免费下载与使用,执行如下命令将*.docx文件转换为同名的*.pdf文件。

docto -F inputFileName -O "outputFileName" -T wdFormatPDF

 如需自动化将指定路径下的所有*.docx文件转化为pdf文件,首先创建一个脚本,2pdf.bat

@echo off

set filename=%~1

docto -F %filename% -O "%filename%.pdf" -T wdFormatPDF

 然后创建一个python脚本transform.py

import os

results = []
results += [each for each in os.listdir('..') if each.endswith('.docx')]

for i in range(0, len(results)):
    os.system("2pdf.bat " + results[i])
        

2. 将多个pdf文件按指定顺序合并为一个 pdf 文件

使用工具 pdftk,该工具支持输入多个 *.pdf 文件、同时支持 GUI 交互和命令行交互。通过执行如下命令可合并两个pdf文件:

pdftk.exe name1.pdf name2.pdf output mreged.pdf

然后执行如下脚本,将当前目录下的所有 *.pdf 文件合并为 merged.pdf 文件。

results = []
results += [each for each in os.listdir('.') if each.endswith('.pdf')]

results.sort()

output_filename = "merged.pdf"

command_line = ""
merged_num = 0
for result in results:    
    command_line += "\"" + result + "\"" + " "
 
command_line += "output " + output_filename
os.system("pdftk.exe " + command_line)

这里,可以通过将文件名加数字前缀的方式,将待转换、合并的文档统一命名,如下图所示:

经过步骤

results.sort()

之后,列表即按递增顺序排列。

 

脚本中对每个文件名加引号可处理包含空格的文件名。

3. 结论

以上两个过程可对若干个文档进行自动化转换与合并,代码仅供参考,可用的 pdf 工具也有很多,以描述思路为主。

另外,docto[github] 工具还支持将文档按指定页码输出,可实现文档的制定范围转换、pdf 分割等功能。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值