如何将 dotx 文件转换为 python 中的 html 文件?

How to convert dotx file to html file in python?

这是我的代码,目前失败了

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

虽然 Pandoc 支持 .docx,但不幸的是,Pandoc 目前似乎不支持其 list of supported formats

中的 .dotx 文件

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

这是添加到现有循环中的一些逻辑,可帮助将任何 .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)

希望这对您有所帮助!如果您有任何问题,请告诉我。