![pandoc 似乎不包含 .rtf 文件。我可以添加它们吗?](https://linux22.com/image/1201279/pandoc%20%E4%BC%BC%E4%B9%8E%E4%B8%8D%E5%8C%85%E5%90%AB%20.rtf%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E5%AE%83%E4%BB%AC%E5%90%97%EF%BC%9F.png)
我正在使用 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 程序,所以最终的二进制文件应该相对独立于基础发行版。