【Python3实现文本格式转换】.doc和.docx文件转换为pdf

#-*- coding:utf-8 -*-

# doc2pdf.py: python script to convert doc to pdf with bookmarks!
# Requires Office 2007 SP2
# Requires python for win32 extension


import sys, os
from win32com.client import Dispatch, constants, gencache

def doc2pdf(input, output):
    w = Dispatch("Word.Application")
    try:
        doc = w.Documents.Open(input, ReadOnly = 1)
        doc.ExportAsFixedFormat(output, constants.wdExportFormatPDF,\
            Item = constants.wdExportDocumentWithMarkup, CreateBookmarks = constants.wdExportCreateHeadingBookmarks)
        return 0
    except:
        return 1
    finally:
        w.Quit(constants.wdDoNotSaveChanges)

# Generate all the support we can.
def GenerateSupport():
  # enable python COM support for Word 2007
  # this is generated by: makepy.py -i "Microsoft Word 12.0 Object Library"
    gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4)

def main():
    print(len(sys.argv))
    if (len(sys.argv) == 2):
        input = sys.argv[1]
        output = os.path.splitext(input)[0]+'.pdf'
    elif (len(sys.argv) == 3):
        input = sys.argv[1]
        output = sys.argv[2]
    else:
        input = u'C:\\Users\\Administrator\\Desktop\stu\\testDocToPdf\\test.docx'#word文档的名称
        output = u'C:\\Users\\Administrator\\Desktop\stu\\testDocToPdf\\test.pdf'#pdf文档的名称
    if (not os.path.isabs(input)):
        input = os.path.abspath(input)
    if (not os.path.isabs(output)):
        output = os.path.abspath(output)
    try:
        GenerateSupport()
        rc = doc2pdf(input, output)
        return rc
    except:
        return -1

if __name__=='__main__':
    print("Hello python!")
    rc = main()
    if rc:
        sys.exit(rc)
    sys.exit(0)

转换成功!
如图:
这里写图片描述
这里写图片描述

参考:
https://blog.csdn.net/qq_16645423/article/details/79468122

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将PDF文件转换DOCX文件,您可以使用Python的“pdfminer”和“python-docx”库。您需要安装这些库,然后按照以下步骤进行操作: 1. 导入所需的库: ```python import io import os import docx from pdfminer.converter import TextConverter from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfpage import PDFPage ``` 2. 创建一个函数来将PDF文件转换文本: ```python def pdf_to_text(pdf_file): resource_manager = PDFResourceManager() text_stream = io.StringIO() codec = 'utf-8' laparams = pdfminer.layout.LAParams() converter = TextConverter(resource_manager, text_stream, codec=codec, laparams=laparams) interpreter = PDFPageInterpreter(resource_manager, converter) password = "" maxpages = 0 caching = True page_nums = set() for page in PDFPage.get_pages(pdf_file, page_nums, maxpages=maxpages, password=password, caching=caching, check_extractable=True): interpreter.process_page(page) converter.close() text = text_stream.getvalue() text_stream.close() return text ``` 3. 创建一个函数来将文本转换DOCX文件: ```python def text_to_docx(text, output): doc = docx.Document() doc.add_paragraph(text) doc.save(output) ``` 4. 最后,您可以将上面的两个函数组合在一起来实现转换: ```python pdf_file = open('example.pdf', 'rb') text = pdf_to_text(pdf_file) pdf_file.close() output = 'example.docx' text_to_docx(text, output) ``` 以上代码中,我们将PDF文件“example.pdf转换文本,然后将文本转换DOCX文件“example.docx”。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值