pandoc 似乎不包含 .rtf 文件。我可以添加它们吗?

pandoc 似乎不包含 .rtf 文件。我可以添加它们吗?

我正在使用 Ubuntu 22.04 LTS

我想使用 Python 将 .rtf 文件转换为 PDF。

我发现这个堆栈溢出

import pypandoc

def convert_rtf_to_pdf(input_rtf, output_pdf):
    pypandoc.convert_file(input_rtf, 'pdf', outputfile=output_pdf)

if __name__ == "__main__":
    input_rtf_path = "Path to your RTF File"
    output_pdf_path = "path to your pdf file output with name /output.pdf"

    convert_rtf_to_pdf(input_rtf_path, output_pdf_path)

但是我收到此错误:

RuntimeError:输入格式无效!得到“rtf”但预期为以下之一:commonmark、creole、csv、docbook、docx、dokuwiki、epub、fb2、gfm、haddock、html、ipynb、jats、jira、json、latex、man、markdown、markdown_github、markdown_mmd、markdown_phpextra、markdown_strict、mediawiki、muse、native、odt、opml、org、rst、t2t、textile、tikiwiki、twiki、vimwiki

我可以以某种方式将 .rtf 文件添加到 Ubuntu pandoc,然后将它们转换为 PDF 吗?

进一步查看,我发现了这一点,它显示 rtf 可用:

print(pypandoc.get_pandoc_formats())

(['commonmark'、'creole'、'csv'、'docbook'、'docx'、'dokuwiki'、'epub'、'fb2'、'gfm'、'haddock'、'html'、'ipynb'、'jats'、'jira'、'json'、'latex'、'man'、'markdown'、'markdown_github'、'markdown_mmd'、'markdown_phpextra'、'markdown_strict'、'mediawiki'、'muse'、'native'、'odt'、'opml'、'org'、'rst'、't2t'、'textile'、'tikiwiki'、'twiki'、'vimwiki'],['asciidoc'、'asciidoctor'、'beamer', 'commonmark'、'context'、'docbook'、'docbook4'、'docbook5'、'docx'、'dokuwiki'、'dzslides'、'epub'、'epub2'、'epub3'、'fb2'、'gfm'、'haddock'、'html'、'html4'、'html5'、'icml'、'ipynb'、'jats'、'jats_archiving'、'jats_articleauthoring'、'jats_publishing'、'jira'、'json'、'latex'、'man'、'markdown'、'markdown_github'、'markdown_mmd'、'markdown_phpextra'、'markdown_strict'、'mediawiki'、'ms'、'muse', 'native'、'odt'、'opendocument'、'opml'、'org'、'pdf'、'plain'、'pptx'、'revealjs'、'rst'、'rtf'、's5'、'slideous'、'slidy'、'tei'、'texinfo'、'textile'、'xwiki'、'zimwiki'])

答案1

您的get_pandoc_formats()输出包含rtf列表中只有一个。我怀疑rtf在这种情况下只支持作为输出文件格式(因为它只在第二个列表中),而不是输入(我猜是第一个列表)。您可以通过运行以下命令来确认这一点:

pandoc --list-input-formats | grep rtf
pandoc --list-output-formats | grep rtf

添加 RTF 阅读器(输入格式支持)的提交可在版本 2.14.2 及更新版本, 但Ubuntu 22.04 仅具有 2.9.2。您可以尝试使用 Pandoc 提供的二进制文件https://github.com/jgm/pandoc/releases/latest(链接至Pandoc 网站),因为 Pandoc 是一个 Haskell 程序,所以最终的二进制文件应该相对独立于基础发行版。

相关内容