【办公类-07】单份或多份docx转成一份PDF

21 篇文章 0 订阅

背景需求:

 

      批量制作20周计划docx后,阿夏想要打印里面的全部内容,手动打印问题多多:

(1)批量打开文档,费事费力:一个文档一个文档打开,选择打印,费事费力。

(2)部份文件缺失漏打:打印过程中,部分文档会没有被打印成功(打印机太忙了,本人亲测每次都有遗漏)。

(3)后续要打印整理:打印机出现的纸张并不一定按照打印顺序,打印纸顺序变乱,后续还要整理

(4)换电脑还需调格式:有时候打印机没有墨水了,阿夏换一台电脑,就发现docx内的格式字体会变化(分辨率不同,部分字体不一定存在),又要画很大精力重新调整docx格式

解题思路:

所以,那么怎样方便快捷、排序式批量打印大量的docx文件内?有一个方便的方法,就是将单个docx文件或者多份docx批量转成一个PDF文件。当文字被固定、数量被圈定在一个PDF内,就可以实现不变形、不遗漏、能排序的结果。

具体样式:

第一步:

在桌面上建立一个“word2pdf2png”的文件夹,并将需要转换的单个docx或多个docx放入

 第二步:

第一种:单个docx

 运行后:单个docx转成“单个PDF”和“总计PDF”(两者内容相同)

    第二种:多个docx

 运行后:

1.每个docx先转成自己的“单个PDF”

2.“word转PDF并合并.PDF”包含了第4周、第5周、第6周 三周内容。(PDF合并后,如果第一份docx内容最后一页只有三行,那么第二分docx内容会直接出现在第四行,所以每个docx要合并,最好都最后一页都设置分页符)

 编程代码

'''
阿优乐扬于 2020-08-28 17:48:16 发布
https://blog.csdn.net/ayouleyang/article/details/108283956?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164656378516780269895814%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164656378516780269895814&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-15-108283956.pc_search_insert_ulrmf&utm_term=%E6%89%B9%E9%87%8Fword%E8%BD%ACPDF&spm=1018.2226.3001.4187
'''


# 1.把所有word转化为PDF

from win32com.client import Dispatch
import os

pdfRoot = r"C:\Users\Administrator\Desktop\word2pdf2png" #保存pdf结果的文件夹
wordRoot = r"C:\Users\Administrator\Desktop\word2pdf2png" #读取word的文件夹 多个word放在这里

def doc2pdf(filePath, file):
    print("正在转换:",file)
    word = Dispatch('Word.Application')
    doc = word.Documents.Open(filePath)
    outFile = pdfRoot +"\\"+ file.split('.')[0] + ".pdf" #生成pdf文件路径名称
    doc.SaveAs(outFile, FileFormat=17)
    doc.Close()
    word.Quit()

if __name__ == "__main__":
    filelist = os.listdir(wordRoot)
    for file in filelist:
        if (file.endswith(".doc") or file.endswith(".docx")) and ("~$" not in file):
            filePath = wordRoot+"\\"+file
            doc2pdf(filePath, file)
    print ("所有word文件转PDF文件已完成!!!")

# 2.合并所有PDF文件
from PyPDF2 import PdfFileMerger
import os

pdfRoot = r"C:\Users\Administrator\Desktop\word2pdf2png" #保存pdf结果的文件夹
merger = PdfFileMerger() #调用PDF文件合并模块
filelist=os.listdir(pdfRoot) #读取文件夹所有文件
for file in filelist:
    if file.endswith(".pdf"):
        merger.append(pdfRoot+"\\"+file)#合并PDF文件
merger.write(r"C:\Users\Administrator\Desktop\word2pdf2png\word转PDF并合并.pdf") #写入PDF文件
print ("所有PDF合并后的pdf文件已完成!!!")

打开“word转PDF并合并.pdf”直接打印即可。大部分页码都按顺序排列,也会出现部分纸张遗漏,需要检查

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值