python 使用LibreOffice的命令行界面将PDF文件转换为与Microsoft Office Word兼容的doc / docx文件。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用LibreOffice的命令行界面将PDF文件转换为与Microsoft Office Word兼容的doc / docx文件。相关的知识,希望对你有一定的参考价值。

#!C:/Python27/python.exe
#
# Convert PDF files to Microsoft Office Word compatible doc/docx files, 
# using LibreOffice's command line interface.
#
# http://stackoverflow.com/questions/26358281/convert-pdf-to-doc-python-bash
# http://ask.libreoffice.org/en/question/20111/converting-files-using-soffice-convert-to-with-embedded-images-html-to-doc/
# http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/config/fragments/filters
#

import os
import sys
import subprocess

# pdf source file(s) and target paths
basedir = 'C:/path/to'
pdfdir = os.path.normpath(basedir + '/pdf')
docdir = os.path.normpath(basedir + '/doc')
docxdir = os.path.normpath(basedir + '/docx')

# absolute path to libre office writer application
lowriter = 'C:/Progra~2/LibreO~1/program/swriter.exe'

# output-filter for conversion
#outfilter = ':"Office Open XML Text"'
#outfilter = ':"MS Word 2003 XML"'
#outfilter = ':"MS Word 2007 XML"'
#outfilter = ':"MS Word 97"'
outfilter = ''

i = 0
for top, dirs, files in os.walk(pdfdir):
    for filename in files:
        if filename.endswith('.pdf'):
            i = i + 1
            abspath_pdf = os.path.normpath(os.path.join(top, filename))

            print 'Converting {0} into .doc format..'.format(abspath_pdf)
            subprocess.call('{0} --invisible --convert-to doc{1} --outdir "{2}" "{3}"'
                            .format(lowriter, outfilter, docdir, abspath_pdf), shell=True)

            print 'Converting {0} into .docx format..'.format(abspath_pdf)
            subprocess.call('{0} --invisible --convert-to docx{1} --outdir "{2}" "{3}"'
                            .format(lowriter, outfilter, docxdir, abspath_pdf), shell=True)

    print '|-------------------------------------------------------|'
    print 'Done. Converted {0} pdf files.'.format(i)

以上是关于python 使用LibreOffice的命令行界面将PDF文件转换为与Microsoft Office Word兼容的doc / docx文件。的主要内容,如果未能解决你的问题,请参考以下文章

python 使用LibreOffice的命令行界面将PDF文件转换为与Microsoft Office Word兼容的doc / docx文件。

python通过LibreOffice把html文件转换成docx文件

使用命令行中的值填充现有 LibreOffice 文档

将 Python 添加到装有 LibreOffice 的机器会干扰 LibreOffice Python 宏的执行吗?

使用 python 访问 LibreOffice 的比较文档

如何在较新版本的 libreoffice 中使用 unoconv