我正在使用 Ubuntu 22.04 LTS
我想使用 Python 将 .rtf 文件转换为 PDF。
我在stackoverflow上发现了这个:
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)
但我收到这个错误:
运行时错误:输入格式无效!得到“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、本机、odt、opml、org、rst、t2t、纺织品、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', '纺织', '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'])'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'、'纺织'、'xwiki'、'zimwiki'])'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'、'纺织'、'xwiki'、'zimwiki'])'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'、'普通'、'pptx'、'revealjs'、'rst'、'rtf'、's5'、'slideous'、'slidy'、'tei'、'texinfo '、'纺织'、'xwiki'、'zimwiki'])'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'、'普通'、'pptx'、'revealjs'、'rst'、'rtf'、's5'、'slideous'、'slidy'、'tei'、'texinfo '、'纺织'、'xwiki'、'zimwiki'])'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'])'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'])'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', '纺织'、'xwiki'、'zimwiki'])'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', '纺织'、'xwiki'、'zimwiki'])'revealjs'、'rst'、'rtf'、's5'、'slideous'、'slidy'、'tei'、'texinfo'、'textile'、'xwiki'、'zimwiki'])'revealjs'、'rst'、'rtf'、's5'、'slideous'、'slidy'、'tei'、'texinfo'、'textile'、'xwiki'、'zimwiki'])
您的
get_pandoc_formats()
输出包含两个列表,其中只有一个列表rtf
。我怀疑rtf
在这种情况下仅支持作为输出文件格式(因为它仅在第二个列表中),而不支持输入(我猜是第一个列表)。您可以通过运行以下命令来确认这一点:为 RTF 添加阅读器(输入格式支持)的提交在2.14.2 及更高版本中可用,但Ubuntu 22.04 只有 2.9.2。您可以尝试使用 Pandoc 在https://github.com/jgm/pandoc/releases/latest提供的二进制文件(从Pandoc 网站链接),由于 Pandoc 是一个 Haskell 程序,最终的二进制文件应该相对独立于基本发行版。