1

这是我目前失败的代码

import os
import pypandoc
source_dir = 'source'
result_dir = 'result'

for file in os.listdir(source_dir):

    output_files1 = []
    source_file = source_dir + '/'+file
    output_file = result_dir + '/'+file.replace('.dotx','.html').replace('.ott','.html')
    output = pypandoc.convert_file(source_file, 'html', outputfile=output_file)

我正在尝试将 dotx 文件转换为 html 文件,但出现以下错误:

RuntimeError: Invalid input format! Got "dotx" but expected one of
these: commonmark, creole, docbook, docx, epub, fb2, gfm, haddock, 
html, jats, json, latex, markdown, markdown_github, markdown_mmd,
markdown_phpextra, markdown_strict, mediawiki, muse, native, odt, opml,
org, rst, t2t, textile, tikiwiki, twiki, vimwiki
4

1 回答 1

1

虽然 Pandoc 支持.docx,但不幸的是,Pandoc 目前似乎不支持.dotx支持格式列表中的文件

幸运的是,由于.docx.dotx几乎相同,您只需将文件扩展名更改为.docxPandoc 就可以支持它。有关更多上下文,请参阅此问题:https ://superuser.com/questions/1285415/difference-between-documents-with-docx-and-dotx-filename-extensions

以下是添加到现有循环中的一些逻辑,以帮助将 any 重命名.dotx.docx文件:

import os
import pypandoc
source_dir = 'source'
result_dir = 'result'

for file in os.listdir(source_dir):
    if file.endswith('.dotx'):
        filename = os.path.splitext(file)[0]
        os.rename(file, filename + '.docx')
        file = filename + '.dotx'
    output_files1 = []
    source_file = source_dir + '/'+file
    output_file = result_dir + '/'+file.replace('.dotx','.html').replace('.ott','.html')
    output = pypandoc.convert_file(source_file, 'html', outputfile=output_file)

希望这可以帮助!请让我知道,如果你有任何问题。

于 2019-05-25T05:33:21.623 回答