使用python将rtf转换为pdf

2024-10-01 13:40:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python语言的新手,有一项任务是使用python将rtf转换为pdf。我在google上找到了一些代码(不完全是rtf到pdf),但我尝试了一下,并根据我的要求修改了它。但我解决不了。在

我使用了以下代码:

import sys
import os
import comtypes.client
#import win32com.client
rtfFormatPDF = 17

in_file = os.path.abspath(sys.argv[1])
out_file = os.path.abspath(sys.argv[2])

rtf= comtypes.client.CreateObject('Rtf.Application')

rtf.Visible = True
doc = rtf.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=rtfFormatPDF)
doc.Close()
rtf.Quit()

但它抛出了下面的错误

^{pr2}$

有人能帮我吗? 如果有人能找到更好更快的方法,我会非常感激。我有大约20万个文件要转换。在

安妮莎


Tags: path代码inimportclientdocpdfos
1条回答
网友
1楼 · 发布于 2024-10-01 13:40:34

我用了马克的建议,把它改回文字应用我的源代码指向rtf文件。工作完美!-这个过程很慢,但仍然比我的团队使用的JAVA应用程序快。我在问题中附上了最后的代码。在

最终代码: 使用Word应用程序的代码来完成:

import sys
import os,os.path
import comtypes.client

wdFormatPDF = 17

input_dir = 'input directory'
output_dir = 'output directory'

for subdir, dirs, files in os.walk(input_dir):
    for file in files:
        in_file = os.path.join(subdir, file)
        output_file = file.split('.')[0]
        out_file = output_dir+output_file+'.pdf'
        word = comtypes.client.CreateObject('Word.Application')

        doc = word.Documents.Open(in_file)
        doc.SaveAs(out_file, FileFormat=wdFormatPDF)
        doc.Close()
        word.Quit()

相关问题 更多 >