我制作了一个程序来根据.xlsx文件中的数据批量生成合同。我最初是为PC制作的,现在我正在尝试创建一个mac版本。一切似乎都在顺利运行,但我的程序中有一种方法依赖于win32com.client,所以我需要为此找出其他的东西。我想知道是否有一个类似的mac包,或者一种方法来执行相同的基本任务而不会有太多的麻烦。我愿意学习一点AppleScript; 我不太确定如何在Python中使用AppleScript,或者从哪里开始查看。
这是我正在使用的方法:
def PDFconverter(self, filePath, contract):
folder = filePath
file_type = 'docx'
out_folder = folder + "\\" + getIssueCode(self.GUI)
if not os.path.exists(out_folder):
print('Creating output folder for PDFs...')
os.makedirs(out_folder)
print(filePath, 'created.')
for files in os.listdir("."):
if files == contract:
out_name = files.replace(file_type, r"pdf")
in_file = os.path.abspath(folder + "\\" + files)
out_file = os.path.abspath(out_folder + "\\" + out_name)
word1 = client.Dispatch("Word.Application")
doc1 = word1.Documents.Open(in_file)
print('Exporting', out_file)
print(' ')
doc1.SaveAs(out_file, FileFormat=17)
doc1.Close()
word1.Quit()
底部的for循环检查文件夹中的每个word文件是否与指定的合同名称匹配,然后调用client.Dispatch打开相关文件,并将其另存为PDF。
有人能指出我在macOS上实现这个目标的方向吗?
osascript
从Python 调用吗?目前还不清楚我们在这里寻求什么样的表面帮助,或者你只是想让别人说 - 是的,你可以在Mac上使用python,因为它只是需要改变一些语法或调用?