Python 将 Visio 转为 PDF
我正在尝试用Python把一堆Visio文件转换成PDF。我参考了这个用Python把.doc转换成pdf的内容,并写了以下代码:
import comtypes.client as coms
format=17
visio = coms.CreateObject('Visio.Application')
doc = visio.Documents.Open('map.vsd')
doc.SaveAs('map.pdf', FileFormat=format)
结果出现了一个错误:TypeError: call takes exactly 2 arguments (3 given)
我在网上搜索了很久,但找不到关于如何用Python在Visio中打印成PDF的相关资料。
1 个回答
3
你应该使用 ExportAsFixedFormat
而不是 SaveAs
。关于这个功能的详细说明,你可以在 这里 找到。这个功能可以在 win32 和 comtypes 中使用。
win32com 示例
import win32com.client
visio = win32com.client.Dispatch("Visio.Application")
doc = visio.Documents.Open('map.vsd')
doc.ExportAsFixedFormat( 1, 'map.pdf', 1, 0 )
comtypes 示例
import comtypes.client as coms
visio = coms.CreateObject('Visio.Application')
doc = visio.Documents.Open('map.vsd')
doc.ExportAsFixedFormat( 1, 'map.pdf', 1, 0 )