Ubuntu 22.04 LTS下使用pypandoc转换RTF到PDF遇格式不支持问题,如何添加RTF格式支持?
Ubuntu 22.04 LTS下使用pypandoc转换RTF到PDF遇格式不支持问题,如何添加RTF格式支持?
你好呀!我看你在Ubuntu 22.04 LTS上尝试用Python的pypandoc库把RTF文件转成PDF,结果碰到了格式不支持的报错,确实挺闹心的😅
其实问题出在pypandoc本身只是pandoc工具的Python封装,真正处理格式解析的是你系统里安装的pandoc程序。Ubuntu 22.04默认自带的pandoc可能缺少RTF格式的解析支持,所以才会弹出那个“Invalid input format”的错误提示。
给你一套亲测有效的解决步骤:
第一步:安装完整的依赖组件
打开终端,运行下面的命令,更新系统包并安装pandoc的RTF支持组件和PDF生成需要的LaTeX环境:sudo apt update && sudo apt install pandoc libtext-rtf-perl texlive-full这里
libtext-rtf-perl是用来解析RTF格式的核心依赖,texlive-full则保证pandoc能顺利生成PDF文件。第二步:验证RTF格式支持
安装完成后,在终端里输入以下命令,检查pandoc是否已经支持RTF输入:pandoc --list-input-formats | grep rtf如果输出里能看到
rtf,就说明支持已经生效了。第三步:调整Python代码(可选但更稳妥)
你的原代码其实没问题,但可以明确指定输入格式为rtf,避免自动识别出错,修改后的代码如下:import pypandoc def convert_rtf_to_pdf(input_rtf, output_pdf): # 明确指定输入格式为rtf,提升转换稳定性 pypandoc.convert_file(input_rtf, 'pdf', outputfile=output_pdf, format='rtf') if __name__ == "__main__": input_rtf_path = "/home/yourname/documents/input.rtf" # 替换成你的RTF文件实际路径 output_pdf_path = "/home/yourname/documents/output.pdf" # 替换成输出PDF的路径 convert_rtf_to_pdf(input_rtf_path, output_pdf_path)
如果还是遇到问题,可以尝试在convert_file函数里指定pandoc的路径(比如pandoc_path='/usr/bin/pandoc'),确保pypandoc能找到系统里正确的pandoc程序。
备注:内容来源于stack exchange,提问作者Pedroski
相关产品推荐
相关产品推荐

