使用Python将PDF批量转为word或者html,亲测好用

主要利用了Adobe Acrobat DC软件的能力,python环境的配置略过…
第一步:
安装win32com

pip install win32com

第二步:
下载Adobe Acrobat DC,软件本身是收费的,但是有万能的度娘,附个链接吧
提取码:8888

第三步:
执行下列代码

from win32com.client.dynamic import Dispatch, ERRORS_BAD_CONTEXT

import os
import winerror
from time import sleep

ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)


def pdf2word(f_path, d_path):
    try:
        AvDoc = Dispatch("AcroExch.AVDoc")
        AvDoc.Open(f_path, "")
        pdDoc = AvDoc.GetPDDoc()
        jsObject = pdDoc.GetJSObject()
        jsObject.SaveAs(d_path, "com.adobe.acrobat.html")
        print('ok')
    except Exception as e:
        print('error')
        print(e)
    finally:
        pdDoc.Close()
        AvDoc.Close(True)


paths = os.walk(r'D:\AAA_DWP\files')
for path, dir_lst, file_lst in paths:
    for file_name in file_lst:
        if file_name.startswith("~$"):
            continue
        if file_name.endswith(".pdf"):
            print('>>>>>>>>>>>>>>>>>>>> start:', file_name)
            full_name = os.path.join(path, file_name)
            out_file = full_name.replace('.pdf', '.html')
            if os.path.exists(out_file):
                continue
            else:
                f_path = full_name
                d_path = 'D:\\AAA_DWP\\files\\output\\' + file_name.replace('.pdf', '.html')
                pdf2word(f_path, d_path)
                print('>>>>>>>>>>>>>>>>>>>> finish')
                sleep(10)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 可以使用Python的docx2pdf库来批量Word文档换为PDF格式。首先需要安装docx2pdf库,可以使用pip命令进行安装: ``` pip install docx2pdf ``` 安装完成后,可以使用以下代码将指定目录下的所有Word文档换为PDF格式: ```python import os from docx2pdf import convert # 指定Word文档所在目录 docx_dir = 'path/to/docx/files' # 遍历目录下的所有Word文档 for filename in os.listdir(docx_dir): if filename.endswith('.docx'): # 将Word文档换为PDF格式 docx_path = os.path.join(docx_dir, filename) pdf_path = os.path.splitext(docx_path)[] + '.pdf' convert(docx_path, pdf_path) ``` 以上代码会将指定目录下的所有.docx文件换为.pdf文件,保存在同一目录下。 ### 回答2: 在日常工作和学习中,有时候需要将Word文档批量换为PDF格式。手动一一换费时费力,此时可以使用Python编程实现自动批量换。 具体步骤如下: 第一步:安装必要的库 为了实现批量换,需要安装Python-docx库和win32com库。 Python-docx库是用来处理Word文档的Python库,可以实现对Word文档进行读取、修改和创建操作。而win32com库是Python调用Microsoft Office的接口,可以实现对Word文档的打开、关闭、保存和导出为PDF等操作。 在命令行中使用pip安装Python-docx和pywin32库: pip install python-docx pip install pywin32 第二步:编写换代码 需要编写一个Python脚本,读取指定目录下所有的Word文档,使用win32com库打开每个文档,将其保存为PDF格式,最后关闭。 示例代码: import sys import os import comtypes.client from docx import Document def convert_word_to_pdf(word_path): # 打开Word文档 in_file = os.path.abspath(word_path) word = comtypes.client.CreateObject('Word.Application') doc = word.Documents.Open(in_file) # 保存为PDF格式 pdf_path = os.path.splitext(in_file)[0]+'.pdf' doc.SaveAs(pdf_path, FileFormat=17) # 关闭文档 doc.Close() # 关闭Word程序 word.Quit() if __name__ == '__main__': # 获取指定目录下所有Word文档 folder_path = sys.argv[1] for dirpath, dirnames, filenames in os.walk(folder_path): for filename in filenames: if filename.endswith('.docx') or filename.endswith('.doc'): word_path = os.path.join(dirpath, filename) # 换为PDF格式 convert_word_to_pdf(word_path) 脚本中对于每个Word文档,获取其完整路径,并且使用convert_word_to_pdf函数将其换为PDF格式。将此脚本保存为convert_word_to_pdf.py。 第三步:运行脚本 在命令行中进入脚本所在目录,调用脚本并传递要换的文件夹路径作为参数,如下: python convert_word_to_pdf.py "C:\WordDocuments" 此命令会将"C:\WordDocuments"目录下的所有Word文档批量换为PDF格式。最终换后的PDF文件会与原Word文档保存在同一目录下。 总结: 使用Python批量Word转为PDF可以使我们在日常工作中更加高效。通过Python-docx和win32com库的操作,可以实现自动读取、打开、保存和关闭Word文档,并将其导出为PDF文件。因此,提交给Python,完成批量操作也掌握着一定的技巧,对于节约时间和效率有着很好的提升。 ### 回答3: Python是一种强大而且易于学习的编程语言,可以创建各种各样的应用程序,包括与WordPDF文档相关的功能。如果您需要批量Word文档换为PDF格式,可以使用Python和一些第三方库来自动化这个过程。 第一步是安装Python和必要的库。您需要安装Python,并在控制台中使用pip命令来安装python-docx和pywin32库。这些库提供与Word文档的交互功能,以及与操作系统进行交互的功能,例如访问文件系统和执行命令。 接下来,编写一个Python脚本,来扫描指定目录下的所有Word文档,并将其换为PDF格式。以下是一个简单的Python代码示例: ``` import os import win32com.client from docx import Document # 设置目录路径和PDF输出路径 directory = './input' output_path = './output' # 用win32com打开Word应用程序 word = win32com.client.Dispatch('Word.Application') # 遍历目录,扫描.docx文件并换为PDF for filename in os.listdir(directory): if filename.endswith('.docx'): # 读取Word文档并换为PDF doc_path = os.path.join(directory, filename) doc = Document(doc_path) pdf_path = os.path.join(output_path, filename[:-5] + '.pdf') # 使用Word应用程序将文档保存为PDF word_doc = word.Documents.Open(doc_path) word_doc.SaveAs(pdf_path, FileFormat=17) word_doc.Close() # 关闭Word应用程序 word.Quit() ``` 这个脚本首先设置了输入和输出的目录路径,并使用win32com库打开Word应用程序。然后,它遍历输入目录中的所有.docx文件,并将其读取为Document对象。最后,它将每个文档保存为PDF文件,并将其输出到指定的输出路径。 最后,运行这个Python脚本即可批量Word文档换为PDF格式。这个过程非常简单,但是能帮助您自动化处理和换文档,从而提高工作效率和减少手动操作的时间和劳动力成本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值